Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

Vim実践的入門初級編

$
0
0

vimライトユーザの俺が説明する実践vim初級編

  • 対象者: vim使い始めたけど、なんか使いづらくね?って人
  • 期待される成果: ソースを編集するときはvimに頼り始める。メモ帳もコレ一本

ビジュアルモードについて

ビジュアルモードはいわゆる範囲選択です。
ビジュアルモードには次の3つの選択範囲があります。

  • ビジュアルモード
  • ラインモード
  • ブロックモード

順を追って説明します。

ビジュアルモード(通常選択), v
hogehogehoge
foofoofoo
barbarbar

ラインモード(行選択), V
hogehogehoge
foofoofoo
barbarbar

ブロックモード(単形選択), C-v
hogehogehoge
foofoofoo
barbarbar

v,V,C-vはそれぞれ選択開始時の入力キーです。
C-はControlキーと他のキーの組み合わせということは入門編にて説明しました。

さて選択中にヤンク(コピー)や削除をするのはもっともらしい使い方ですが、ブロックモードには更に利用価値があります。
例えば上記したブロックモードの選択中にIを押すとインサートモードに移りますので、frstなどと入力してノーマルモードに戻ると

hogefrsthogehoge
fooffrstoofoo
barbfrstarbar

となるかと思います。
あとはブロックモード中に>でインデント下げなどもよく使用します。

慣れないうちはこの3種のビジュアルモードに頼りがちですが、熟練するにつれてブロックモード以外使う必要がなくなってきます。
といってもそれぞれに十分に利用価値があるのでがしがし利用していきましょう。

vimrcについて

vimrcとはvimの設定ファイルのことです。
通常は ~/.vimrc に置いておきます。
vimrcを含めて.~のようなドットファイルをまとめて管理したい人はdotfilesをgithubで管理をご覧ください。

さてこの設定ファイル、私はかなり小さくまとめているつもりですが333行もありました。
たかがエディタの設定に数百行も書くことあるのか!?と疑問になるでしょうがあるんです。(しかも私はライトユーザです)
ということでオススメの設定を載せていきます。

" matchit {{{" if や for などの文字にも%で移動できるようになる
source $VIMRUNTIME/macros/matchit.vimletb:match_ignorecase =1" }}}" usability {{{" set t_Co=256は256色対応のターミナルソフトでのみ作用するので、Winのコマンドプロンプト使っている人などは ダブルコーテーションでコメントアウトしといてsett_Co=256" 色づけを on にするsyntaxon" カラースキーマを設定する。jellybeansは最初はないカラースキーマだが、次回説明するプラグインにて説明する。"colorscheme jellybeans" 今のところ好きなカラースキーマを使っていて大丈夫。colorscheme desert
" ターミナルの右端で文字を折り返さないsetnowrap" tempファイルを作らない。編集中に電源落ちまくるし、とかいう人はコメントアウトでsetnoswapfile" ハイライトサーチを有効にする。文字列検索は /word とか * ねsethlsearch" 大文字小文字を区別しない(検索時)setignorecase" ただし大文字を含んでいた場合は大文字小文字を区別する(検索時)setsmartcase" カーソル位置が右下に表示されるsetruler" 行番号を付けるsetnumber" タブ文字の表示 ^I で表示されるよsetlist" コマンドライン補完が強力になるsetwildmenu" コマンドを画面の最下部に表示するsetshowcmd" クリップボードを共有する(設定しないとvimとのコピペが面倒です)setclipboard=unnamed

" 改行時にインデントを引き継いで改行するsetautoindent" インデントにつかわれる空白の数setshiftwidth=4" <Tab>押下時の空白数setsofttabstop=4" <Tab>押下時に<Tab>ではなく、ホワイトスペースを挿入するsetexpandtab" <Tab>が対応する空白の数settabstop=4" インクリメント、デクリメントを16進数にする(0x0とかにしなければ10進数です。007をインクリメントすると010になるのはデフォルト設定が8進数のため)setnf=hex
" マウス使えますsetmouse=a" インサートモードの時に C-j でノーマルモードに戻る
imap <C-j><esc>" [ って打ったら [] って入力されてしかも括弧の中にいる(以下同様)
imap [ []<left>
imap (()<left>
imap { {}<left>" 2回esc を押したら検索のハイライトをヤメる
nmap <Esc><Esc> :nohlsearch<CR><Esc>" }}}

特に imap(インサートモード) とか nmap(ノーマルモード) のキーマッピングは使えます。
キーマッピングを記載することによって自分好みのショートカットが設定できるということですし。

imap < <>
と記載しておけばどうなるかは予測できますよね。
ちなみに記法は
imap or nmap 入力キー 実行すること
になります。
:(コロン)のあとにコマンドを書くとコマンドを実行してくれたりします。
,,など、一部のキーは特殊な記法になっているので注意してください。

最後に

紹介したvimrcについてはgithubやネットを調べれば自分好みの設定が見つかると思うので、いろいろ調べてみるのがいいと思います。
次回はプラグインに入っていこうかと思います。
正直今回紹介していこうかと思いましたが、長くなりましたので次回に回します。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>