vimrc

Vimの設定ファイルであるvimrcについて。

どのファイルが読み込まれるか

https://vim-jp.org/vimdoc-ja/starting.html#initialization

vim -u ${file} で任意の設定ファイルを指定できる。

colorscheme

カラースキームを設定する。

See also #highlight

Example:

colorscheme elflord

デフォルトで使えるもの:

みんなが作ったカラースキームが載ってるサイト: http://vimcolors.com/

参考:

filetype

"filetype検出の有効化
filetype on

" プラグインやインデントのロードも有効化
filetype plugin indent on

" 拡張子によるfiletype検出の追加の例
autocmd BufNewFile,BufRead *.rb setfiletype ruby

参考:

highlight

https://vim-jp.org/vimdoc-ja/syntax.html#:highlight

特定のグループの文字色を変える。
:highlight で現在の設定を得ることができる。

See also #colorscheme

" 構文
" 特定のグループの設定を追加
hi[ghlight] {group-name} {key}={arg}...
" 特定のグループの設定をリセット
hi[ghlight] clear{group-name}

" 例
highlight Search term=bold ctermfg=Black ctermbg=Blue

highlight-args

https://vim-jp.org/vimdoc-ja/syntax.html#highlight-args

highlight コマンドに与える {key}={arg} の引数の一部を下に示す。

key端末種別args
term通常bold,italic,underline,reverse,NONEなど。NONEは属性リセット用
cterm色付きtermと同じ
ctermfg色付き色名や番号を指定する
ctermbg色付きctermfgと同じ

cterm-colors

https://vim-jp.org/vimdoc-ja/syntax.html#cterm-colors

ctermfgやctermbgの値には0〜15の色番号やBlack, Blueなどの色名を指定できる。

色はVim上で :so $VIMRUNTIME/syntax/colortest.vim を実行して確認できる。

参考:

キーマッピング

map - Vim日本語ドキュメント

マップコマンド

https://vim-jp.org/vimdoc-ja/map.html#:map-commands

構文:

map   {lhs} {rhs} " キー入力 {lhs} を {rhs} に割り当てる
unmap {lhs}       " キー入力 {lhs} のマッピングを削除

map, nmapなど( noremap じゃないやつ):

  • マップが使われたときに {rhs} が評価され、再マップされる
  • マップを入れ子にしたり、再帰的にできる

noremap, nnoremapなど:

  • {rhs} は再マップされないので、入れ子になったり再帰的になったりしない
  • コマンドを再定義するときによく使われる

マップとモード

https://vim-jp.org/vimdoc-ja/map.html#:map-modes

コマンドモード
map, noremap, unmapノーマル、ビジュアル、選択、オペレータ待機
nmap, nnoremap, nunmapノーマル

他に vmap, smap, xmap などある。

「オペレータ待機モード」は、dycなどの後で、後続の操作を待機しているとき。

キーマッピングを確認する方法

Vimのキーマッピングを確認する - Qiitaより。

" デフォルトキーバインドの一覧
:help index.txt

" 自分で割り当てたキーマップの確認
:map " すべて確認
:imap " インサートモードだけ
:nmap " ノーマルモードだけ
:vmap " ヴィジュアルモードだけ
:verbose nmap " 定義元ファイル情報も表示