#はじめに
この記事は、基本的なVimコマンドを一覧としたものです。
ふと忘れた時に見返すことを想定しており、初心者が見て学ぶためのものではないことをご了承ください。
初心者は、シェルプロンプトにてvimtutor
と入力して、Vimチュートリアルを学ぶことをお勧めします。
#用語
コマンド = オペレータ + 数値 + モーション
例) d2w
= 削除オペレータd
+ 繰り返し回数2
+ 単語モーションw
#シェルプロンプトでの操作
vim
: Vim起動
vim fileA
: VimでfileAを開く
vim -p fileA fileB
: 複数のファイルをタブ毎に同時に開く
#ノーマルモード
##移動
h
: カーソル左移動
j
: カーソル下移動
k
: カーソル上移動
l
: カーソル右移動
w
: 次の単語の先頭に移動
e
: 次の単語の末尾に移動
b
: 前の単語の先頭に移動
2w
: 2つ次の単語の先頭に移動
2e
: 2つ次の単語の終端に移動
2b
: 2つ前の単語の先頭に移動
^
or 0
: 行頭に移動
$
: 行末に移動
fa
: 行内の次の「a」に移動(;で次のaに移動)
ctrl + f
: 1画面下に移動
ctrl + b
: 1画面上に移動
gg
: ファイル先頭に移動
G
: ファイル末尾に移動
2G
: ファイルの2行目に移動
ctrl + o
: 前のカーソル位置に戻る
ctrl + i
: 次のカーソル位置に進む
%
: カーソル位置に対応する括弧に移動
##表示
ctrl + g
: ファイル名と行数を表示
##テキスト削除
x
: 1文字削除
dw
: カーソル位置から単語終端までを削除
d2w
: カーソル位置から単語2つ分を削除
d$
: 行末までを削除
dd
: 行全体を削除
2dd
: 2行分を削除
##コピー
y
: 選択テキストのコピー
yy
: 選択行のコピー
2yy
: 2行分をコピー
##ペースト
p
: コピー or 削除したテキストのペースト
##取り消し(undo)
u
: 直前のコマンドの取り消し
U
: 行全体の取り消し
ctrl + r
: 取り消しの取り消し(redo)
##検索(n
で次, N
で前の候補)
/word
: 「word」を下に検索
?word
: 「word」を上に検索
*
: カーソル位置の単語を下に検索
#
: カーソル位置の単語を上に検索
##便利コマンド
.
: 直前のコマンドを繰り返す
=
: インデントを揃える
ctrl + n
: コマンドの補完候補を表示
cit
: htmlなどでタグの中身だけを削除して入力
#入力モード(esc
: ノーマルモードに切替)
##テキスト追加
i
: テキストをカーソル位置に挿入
a
: テキストをカーソル位置に追加
A
: テキストを行末に追加
##テキスト変更
r
: 文字の置き換え
cw
: 文字列の置き換え
c$
: 行末までを置き換え
cc
: 行全体を置き換え
#コマンドモード
##保存(write)
:w
: 保存
:w fileA
: fileAとして保存
##終了(quit)
:q
: 終了
:wq
: 保存して終了
:q!
: 保存せず強制終了
##開く
:e fileA
: fileAを開く
##置換(substitute)
:s/old/new
: 最初の「old」を「new」に置換
:s/old/new/g
: 行全体を置換
:%s/old/new/g
: ファイル全体を置換
:%s/old/new/gc
: ファイル全体を確認(confirm)を取りながら置換
:5,10s/old/new/g
: 10〜15行目を置換
##外部コマンド
:!ls
: 外部コマンドlsを実行
##画面の分割(split)
:sp
: 上下に画面分割
:sp
: 左右に画面分割
ctrl + w
+ w
: 次の画面に移動
:close
: 分割画面を閉じる
##タブ
:tabnew
: 新規タブを作成
:tabe fileA
: 別タブでfileAを開く(tab edit)
:tabclose
: タブを閉じる
:tabdo %s/old/new/g
: 開いているタブ全体で置換
(gt
: タブ切り替え(go to next tab))
##設定
:set number
: 行番号を表示
:syntax on
: コード色分け
:set tabstop=2
: タブの空白数を規定
#ビジュアルモード(esc
: ノーマルモードに切替)
##選択
v
: テキスト選択
V
: 行選択
ctrl + v
: 矩形選択
ctrl + v
→ i
: 複数同時入力
ctrl + v
→ x
: 複数同時削除