背景
上長から、vim いいよ!使おう!と言われたので、使い始めたのだが。
使いたい細々とした機能・ショートカットが分からず、都度調べたりしたので。
忘れた時にすぐ使えるように、メモとして残す。
コマンド集
以下、control は C-
と略す。
説明 | コマンド | 参考記事 |
---|---|---|
1行をカットする | dd |
参考記事 |
範囲行を削除する | 開始行にカーソルを移動するV (shift + v) で、行ビジュアルモードに切り替える終了行にカーソルを移動する d で削除する |
参考記事 |
複数行をカットする | 開始行にカーソルを移動し、ms 終了行にカーソルを移動し、 me :'s,'ed + Enter でカットする |
参考記事 |
ファイル内で文字列検索する |
/ + 文字列 |
|
検索のハイライトを消す | :noh |
参考記事 |
NerdTree で新規ファイルを作成する |
m a ファイル名をタイプする |
|
複数行をインデントする | 開始行にカーソルを移動するV (shift + v) で、行ビジュアルモードに切り替える終了行にカーソルを移動する > or < でインデントする |
参考記事 |
検索候補から、特定のファイル・ディレクトリを除外する | :set wildignore+=directoryName/** :set wildignore+=fileName.extensionName |
参考記事 |
複数ファイルを検索する | :vim /keyWord/g dirName/fileName | cw 対象ディレクトリを指定しない場合は、 ** 対象ファイルを指定しない場合は、 *
|
参考記事 |
開いているファイルの状態を保存する |
:mks で、セッションを保存する:qa で、vim を終了するvim -S Session.vim で、セッションを復元する:mks! で、セッションを上書きする |
参考記事 |
カレントウィンドウを端へ移す |
C-w L (shift + l) で、右へ移すC-w H (shift + h) で、左へ移すC-w J (shift + j) で、下へ移すC-w K (shift + k) で、上へ移す |
参考記事 |
新しいウィンドウに、新規ファイルを開く | :new |
参考記事 |
新規タブを開く | :tabe |
参考記事 |
undo で戻した操作を、元に戻す | C-r |
参考記事 |
対になっている括弧に移動する | % |
参考記事 |
マッチした文字列を置換する | :%s/BEFORE/AFTER/gc |
参考記事 |
プラグイン集
- git 関連
- vim-fugitive
- 実際に使うには、
.vimrc
にPlug 'tpope/vim-fugitive'
を追加して、:PlugInstall
する。 - tpope/vim-fugitive
- 実際に使うには、
- vim-fugitive
- 検索 関連
- fzf.vim
-
:GFiles
で、大体いける。 - junegunn/fzf.vim
-
- fzf.vim
- カラースキーマ 関連
- doom-one.vim
- インデント 関連
- indentLine
- ネストの深さを、線で可視化できる。普段はこれ。
- Yggdroot/indentLine
- vim-indent-rainbow
- ネストの深さを、色で可視化できる。F9等 で ON/OFF 可能。
- adi/vim-indent-rainbow
- indentLine
.vimrc 設定
- NERDTree とセッションの共存
- 最初 NERDTree を設定し、その後セッションを使い始めたところ、セッションのリストア時にエラーが起きてたので、下記のような設定を .vimrc に入れた
~.vimrc
function s:mksessionForcely()
if (filereadable("Session.vim")) | mksession! Session.vim | endif
endfunction
function s:restoreSession()
if (filereadable("Session.vim")) | source Session.vim | endif
endfunction
" Save session on quitting Vim
autocmd VimLeave * NERDTreeClose
autocmd VimLeave * call s:mksessionForcely()
" Restore session on starting Vim
autocmd VimEnter * call s:restoreSession()
autocmd VimEnter * NERDTree
- スペースなどの可視化
~/.vimrc
set list
set listchars=tab:»-,trail:-,eol:↲,extends:»,precedes:«,nbsp:%