vimを使う上で、先ずは覚えたほうが良いコマンド
編集モード
i:カーソル位置に追加
a:カーソルの次の位置からテキストを追加
A:行末に追加
o:カーソルの下の行が開き、挿入モード
R:1文字以上を置き換える
削除
dw:カーソル位置から単語の末尾までを削除
daw : 単語単位で削除
d$:カーソル位置から行の末尾までを削除
dd:行全体を削除
移動
0:行の先頭に移動
gg:先頭行に移動
G:ファイルの最下行に移動
数値 G:指定行に移動
%:対になる文字に移動((,),[,],{, もしくは })
b:左隣の単語の先頭へ飛ぶ(back-word)。
B:スペースで区切られた左隣の単語の先頭へ飛ぶ。
w:右隣の単語の先頭へ飛ぶ(word)。
W:スペースで区切られた右隣の単語の先頭へ飛ぶ。
e:単語の末尾へ飛ぶ。
H:画面最上行の左端へ飛ぶ。
M:画面中央行の左端へ飛ぶ。
L:画面最下行の左端へ飛ぶ。
(:現在の文の先頭に飛ぶ。
):現在の文の文末に飛ぶ。
{:現在の段落の先頭に飛ぶ。
}:次の段落の先頭に飛ぶ。
[[:前の段落に移動。
]]:次の段落に移動。
取り消し
u:前回の動作を取消
U:行全体の変更を取消
変更
cw:カーソル位置から単語の終わりまでを変更
c$:カーソル位置から行の終わりまでを変更
検索
/ 語句:前方に語句を検索
? 語句:後方に語句を検索
n:同じ方向の次の検索
N:逆方向の検索
CTRL-O:場所を前に移動
CTRL-I:場所を次に移動
変換
Vu:現在の行の文字を小文字にする。
VU:現在の行の文字を大文字にする。
置換
:s/old/new:現在行の最初の old を new に置換
:s/old/new/g:現在行の全ての old を new に置換
:#,#s/old/new/g: 2つの # 間で語句を置換
:%s/old/new/g:ファイルの中の全ての検索語句を置換
:%s/old/new/gc:'c' を加えると置換の度に確認
コピー
yy:行コピー
yw:単語コピー
ファイル管理
:e . :ファイルエクスプローラを開く
:Sex :ウインドウを分割してファイルエクスプローラを開く
gf:カーソル位置にある名前のファイルを開く。
ウィンドウ
:new [{file}]:ウィンドウを横方向(上下)に分割し、新しくできたウィンドウで新ファイルの編集を開始する(new)
:vne [{file}]:ウィンドウを縦方向(左右)に分割し、新しくできたウィンドウで新ファイルの編集を開始する(vnew)
:sp [+{command}] [{file}]:ウィンドウを横方向(上下)に分割し、新しくできたウィンドウで{file}を開き、直後に{command}を実行する(split)
:vs [+{command}] [{file}]:ウィンドウを縦方向(左右)に分割し、新しくできたウィンドウで{file}を開き、直後に{command}を実行する(vsplit)
CTRL-W w:カーソルを次のウィンドウに移動する
CTRL-W h:カーソルを左のウィンドウに移動する
CTRL-W j:カーソルを下のウィンドウに移動する
CTRL-W k:カーソルを上のウィンドウに移動する
CTRL-W l:カーソルを右のウィンドウに移動する
コード補完
C-n or C-p:補完
C-e:キャンセル
コマンド補完
CTRL-D:コマンド一覧を表示
TAB:補完
ビジュアルモード
v:
複数行をコメントアウト
①ctrl + v ビジュアルモード
②カーソル行から移動して範囲を作る(反転する)
③I 大文字のi
④# 何か一文字。ここではコメントアウトするので#
⑤Esc
設定
set 'ic' 'ignorecase' 検索時に大文字小文字の区別しない
set 'is' 'incsearch' 検索フレーズに部分マッチしている部分を表示する
set 'hls' 'hlsearch' マッチするすべを強調表示する
※無効にする場合は"noic"とする。
ヘルプ
:help:ヘルプ
CTRL-] 該当項目に移動
CTRL-t 前の位置に戻る
インサートモード
:テキスト削除
C - h :テキスト削除
C - w :テキスト削除
C - u :テキスト削除