miyabihitoの日記

個人的な技術メモ

Vim 操作

基本中の基本は省略。
普段使おうと思った操作をまとめる。

オプション

  • -p

    指定されたファイルをタブで開く

移動

コマンド 効果
w 次の単語の先頭へ移動
e 単語の末尾へ移動
b 前の単語の先頭へ移動
f 行中の次のへの移動 (;で更に次へ移動)
t 行中の次のへの移動(;で更に次へ移動)
# カーソル位置の単語の検索(前方)
* カーソル位置の単語の検索(後方)
% 対欧する括弧への移動
H 画面上の最上行へ移動
M 画面上の中央行へ移動
L 画面上の最下行へ移動
z or zt 現在のカーソルの行が最上行になる
z. 現在のカーソルの行が中央行になる
z- 現在のカーソルの行が最下行になる
C-f 下にページスクロール
C-b 上にページスクロール
C-d 下に半ページスクロール
C-u 上に半ページスクロール
gf カーソル位置の名前のファイルをオープン(goto file)

編集

基本

<オペレータ><モーション> で操作と操作対象を指定する。 (モーション単体は上の移動のコマンド)

  • オペレータ
オペレータ 操作
c 変更(削除 + ノーマルモード移行)
d 削除
y コピー
  • モーション
モーション 対象
w カーソルのある単語 (後ろの空白含む) 単語全体を指定する場合、単語の先頭で使う
e カーソルのある単語(後ろの空白含まない)
$ カーソル位置から行末まで

テキストオブジェクト

特定の文字で囲まれた文字列を操作対象に指定するコマンド
citは便利

コマンド 対象
a 全体を指定
i 内部のみ指定
w 単語
s 文章
[, ], (, ), <, >, {, }, “, ‘ 指定された記号の範囲
t タグ

etc

コマンド 効果
r 一文字置換 (x + i + ESC の一連の操作を省略できる)
u 操作の取消
C-r 取消の取消
:r ファイル内容の挿入
:r ! コマンド出力の挿入
= インデントの自動調整
C-v -> I 矩形選択後の編集
. 最後に行った変更を再度適用する

検索

コマンド 効果
[I

バッファ

ウィンドウ

コマンド 効果
:close ウィンドウのクローズ
:only カレントウィンドウ以外のクローズ

全ウィンドウまとめてクローズは?

タブ

コマンド 効果
:tabnew 新規タブの作成
:tabe 新規タブでのファイルオープン
gt, gT タブの移動
:tabclose タブのクローズ
C-w gf カーソル位置の名前のファイルを別タブでオープン

全タブまとめてクローズは?

折り畳み

コマンド 効果
zo カーソル位置の折り畳みを開く
zO カーソル位置の折り畳みを全段階開く
zc カーソル位置の折り畳みを閉じる
zC カーソル位置の折り畳みを全段階閉じる
zM 全ての折り畳みを閉じる (foldlevel=0)
zR 全ての折り畳みを開く (foldlevel={maz})
[z カーソル位置の折り畳みの最初の行へ移動
]z カーソル位置の折り畳みの最後の行へ移動
zj カーソル位置の下の折り畳みへ移動
zk カーソル位置の上の折り畳みへ移動

Netrw

リモートに対応したファイルブラウザプラグイン
Vimに同梱されているので、別途インストールは不要。

コマンド 効果
:Explorer 起動
:Vexplorer(!) 縦分割後、左(右)ウィンドウで起動
Netrw内コマンド 効果
<Enter> ファイルオープン、ディレクトリ移動
v 縦分割後、右ウィンドウでオープン
P オープン済みウィンドウでファイルオープン
t 新しいタブでオープン
- 上位ディレクトリへ移動
s 並び順の基準変更
r 逆順
i 表示形式の切替

資料

その他

コマンド 効果
C-g ファイル・カーソル位置情報の表示

Tips

検索

検索時に、大文字小文字を区別しない場合、\cを末尾に付ける
ex: /abc\c

複数回にわたって区別しない場合、
:set ic (Ignore Case)
区別する設定に戻る時
:set noic
(設定の無効化は、他の設定に関してもnoを付けるだけ)

補完候補一覧

コマンドやファイル名の入力中に、C-dで補完候補が表示される

オプション

:echo &(option name) or :set (option name)? で、設定されているオプションの値を確認できる。

ex. ) :echo &history

:options で、オプションの一覧が表示される。

ハイライト

:noh で、検索後等のハイライトを消せる

複数行にまとめて挿入

  1. Ctrl + v で挿入箇所選択
  2. I
  3. 挿入する文字を入力
  4. ESC

参考