忘備録として vim の簡単ガイドをまとめました。
ETC
操作
意味
コマンドラインにペースト
:を押してコマンドラインに入った状態でCtrl-Rを押してから"を押すとコマンドラインにペースト
エンコーディング
エンコードを指定して開き直す :e ++enc=encoding (encoding: euc-jp, shift_jis, utf-8, etc)
vimのエンコーディング確認
:set enc?
ファイルのエンコーディング確認
:set fenc?
ファイルのエンコーディング変更
:set fenc=encoding (encoding: euc-jp, shift_jis, utf-8, etc)
検索、ジャンプ (quickfix リスト)
:vimgrep, :grep など 実行後 :copen
キーボードマクロ
操作
意味
q[key]
[key]で記録開始
q
記録中に押すことで記録終了
@[key]
記録したマクロを実行
(ex)
qa -> 操作 -> q -> @a
qc -> 操作 -> q -> @C
マーク
操作
意味
:marks
mark一覧を表示する
m[a-zA-Z]
カーソル位置をmarkする
``
直前のマークへ移動
C-o
古いマークへ移動
C-i
新しいマークへ移動
`[a-zA-Z]
指定のマークに移動
'[a-zA-Z]
指定のマークの行頭に移動
:delmarks
[a-zA-Z] マークの削除
:delmarks!
マークの一括削除
検索
操作
意味
/
続けて文字を打ち, Enterで文字列を確定し, 後方検索をかける
?
続けて文字を打ち, Enterで文字列を確定し, 前方検索をかける
*
カーソル下の単語を, 後方検索する
#
カーソル下の単語を, 前方検索する
g*
カーソル下の単語を含む文字列を, 後方検索する
g#
カーソル下の単語を含む文字列を, 前方検索する
n
次の単語に移る
N
前の単語に移る
UNDO / REDO
操作
意味
u
undo(アンドゥ)一動作分、前の状態に戻す。
Ctrl + r
redo(リドゥ)。アンドゥで戻した操作を、元に戻す。
バッファ操作
操作
意味
:ls, :buffers, :files
開いているバッファ一覧(バッファリスト)を表示する
:bfirst, :bf
先頭のバッファに移動する
:blast, :bl
最後のバッファに移動する
:bnext, :bn
次のバッファに移動する
:bprev, :bp
前のバッファに移動する
:b NUM
NUM番目のバッファに移動する
:badd
バッファにファイルをロードする (badd filename)
(別ファイルを新バッファに読み込み)
:bun[load]
バッファメモリ開放 (バッファリストには残る)
:bd[elete]
バッファをアンロードする
(現在のバッファを削除) :ls! では表示される
:bw[ipeout]
バッファを完全に削除 :ls! でも表示されない
:enew :new :vnew
新規バッファを開く
:new filename
新規バッファでファイルを開く
モード移行
操作
意味
ESC
コマンドモードへ移行
i
カーソルの左隣へ挿入
a
カーソルの右隣へ挿入
I
カーソル行の先頭に挿入
A
カーソル行の末尾に挿入
O
カーソル行の上に1行空けて挿入
o
カーソル行の下に1行空けて挿入
カーソル操作
操作
意味
h, j, k, l
左, 下, 上, 右
gj, gk
下, 上に1行移動
(エディタで表示されている行上で移動)
(つまり, エディタの横幅の制約によって行が折り返されている場合でも, 移動可能)
w
1単語分進む
W
1単語分進む(記号では区切られないので, 次のスペースや, 改行文字まで飛ぶ)
b
1単語分戻る
B
1単語分戻る(記号では区切られないので, 前のスペースや, 改行文字まで飛ぶ)
f[文字]
次の[文字]まで飛ぶ
F[文字]
前の[文字]まで飛ぶ
t[文字]
次の[文字]の手前まで飛ぶ
T[文字]
前の[文字]の次まで飛ぶ
;
f, F, t, Tで検索した文字を同方向に繰り返し検索する
,
f, F, t, Tで検索した文字を逆方向に繰り返し検索する
g;
直前に変更した位置にカーソルを移動(繰り返し入力することで, 変更リストを遡る)
g,
g#を使用して遡った変更リストを逆順に進め, カーソルを移動する.
gg
ファイルの先頭に移動
G
ファイルの最後に移動
[数値]gg, [数値]G, :[数値]
[数値]行に移動
H, M, L
画面に表示されている行について,
最初の行(H), 真ん中の行(M), 最後の行(L)に移動
0
行の先頭に移動
^
行のテキスト部分の先頭に移動
$
行の最後に移動
%
対応する括弧に移動
(
文単位での移動. 前の文の先頭に移動
)
文単位での移動. 後ろの文の先頭に移動
{
段落単位での移動. 前の段落の先頭に移動
}
段落単位での移動. 後ろの段落の先頭に移動
Ctrl-u
半画面分戻る
Ctrl-d
半画面分進む
Ctrl-b
1画面分戻る
Ctrl-f
1画面分進む
Ctrl-o
ジャンプリストを遡ってカーソルを移動する
(検索や行数指定移動などがジャンプリストに保存されている)
Ctrl-i
ジャンプリストを進めてカーソルを移動する
(検索や行数指定移動などがジャンプリストに保存されている)
-
1行上の左端へ
RETURN
1行下の左端へ
e
単語の末尾へ
(カーソル位置が単語の途中の場合はその単語の末尾)
(カーソルが単語末尾なら次の単語の末尾)
(カーソルが行末なら次行先頭の単語の末尾)
nG
ファイルの先頭からn行目の左端へ
削除, コピー
操作
意味
x
カーソル上の文字を消す
X
カーソル左一文字削除
s
カーソル上の文字を消して, インサートモードに入る
dd
カーソルがある行を消す
dw
カーソル位置から1単語分削除する
diw
カーソル位置にある単語を1つ削除する
dt(
カーソル位置から, 次に最初に出現する(までを削除する
df<文字>
カーソル位置から<文字>の位置まで削除
d^
カーソル位置から左削除
d$
カーソル位置から右削除
cc
カーソルがある行を消して, インサートモードに入る
cw
カーソル位置から1単語分削除して, インサートモードに入る
ciw
カーソル位置にある単語を1つ削除して, インサートモードに入る
ct(
カーソル位置から, 次に最初に出現する(までを削除して, インサートモードに入る
D
カーソル位置から行末まで削除
C
カーソル位置から行末まで削除して, インサートモードに入る
yy
カーソルがある行をコピー ([Y]と同じ)
y
ビジュアルモードで選択されている部分をコピー (ビジュアルモード中)
yw
カーソル位置の単語をコピー
y<移動コマンド>
現在位置から移動先までをコピー (y`<マークキャラ> など)
P
カーソル行の上の行にペースト
(xやddで削除したものもペーストできる)
p
カーソル行の下の行にペースト
(xやddで削除したものもペーストできる)
Ctrl-r 0(ゼロ)(インサートモード中に)
レジスタ0に保存されている文字列を貼り付ける
通常, yを使用してコピーした文字列は, レジスタ0に保存される
置換
操作
意味
r[文字]
カーソル上の文字を[文字]に置換
R
カーソル位置から複数文字置換
s
カーソル上一文字を複数文字に置換
r
カーソル行全体を置換
cc
カーソル行全体を置換
cw
カーソル位置から現単語置換
cf<文字>
カーソル位置から<文字>の位置まで置換
:%s/before/after/g
ファイル上の全ての"before"を"after"に置換
:s/before/after/g
カーソルの行の全ての"before"を"after"に置換
:10,20s/before/after/g
10~20行目の全ての"before"を"after"に置換
:'<,'>s/before/after/g
ビジュアルモードで選択中の範囲の全ての"before"を"after"に置換
" '<,'> "の部分は, 範囲を選択中に":"を押すと自動的に出ます
編集, 保存, 終了
操作
意味
:e
<ファイル名> <ファイル名>を読込む
:r
<ファイル名> カーソル行の下に<ファイル名>の内容を挿入
:w
上書保存
:w <ファイル名>
編集中のデータを<ファイル名>のファイルに保存
:q
終了
:wq
保存して終了
:q!
保存せず終了
ZZ
保存して終了
ZQ
保存せずに終了
ウィンドウ操作
操作
意味
:sp [file]
ウィンドウを横に分割し, fileを開く(file名はなくても良い)
:vs [file]
ウィンドウを縦に分割し, fileを開く(file名はなくても良い)
Ctrl-w s
ウィンドウを横に分割する
Ctrl-w v
ウィンドウを縦に分割する
:only
カーソルのあるウィンドウ以外閉じる
Ctrl-w o
カーソルのあるウィンドウ以外閉じる
Ctrl-w w
次のウィンドウに移動
Ctrl-w p
前のウィンドウに移動
Ctrl-w h, j, k, l
左, 下, 上, 右のウィンドウに移動する
Ctrl-w H, J, K, L
カーソルがあるウィンドウを左, 下, 上, 右方向に移動する
Ctrl-w _
縦に最大化
Ctrl-w
Ctrl-w =
大きさを揃える
Ctrl-w >
幅を増やす
Ctrl-w <
幅を減らす
Ctrl-w +
高さを増やす
Ctrl-w -
高さを減らす
画面操作
操作
意味
Ctrl-f
1ページ分下に画面を移動
Ctrl-b
1ページ分上に画面を移動
Ctrl-d
半ページ分下に画面を移動
Ctrl-u
半ページ分上に画面を移動
Ctrl-l
画面を再描画
Ctrl-g
行番号を表示
モード変更
操作
意味
ESC
ノーマルモードに戻る
Ctrl-[
ノーマルモードに戻る
i
カーソル位置からインサートモードに入る
a
カーソルの直後からインサートモードに入る
I
行頭からインサートモードに入る
A
行末からインサートモードに入る
Ctrl-o(インサートモード中に)
インサートノーマルモードに入る
(インサートモード中に1コマンドのみノーマルモードのコマンドを使用できる)
v
ビジュアルモードに入る
V
行単位の選択をするビジュアルモードに入る
Ctrl-v
矩形選択をするビジュアルモードに入る
gv
前回選択した範囲が再選択された状態でビジュアルモードに入る
:
コマンドラインモードに入る(続けてコマンドを打ち, Enterで実行)
起動
操作
意味
% vi
フォアグラウンド起動
% vi <ファイル名>
<ファイル名>のファイルを読み込んで起動
その他
操作
意味
Ctrl-a
カーソル行上で, カーソル以降の最初に出現した数字をインクリメント
Ctrl-x
カーソル行上で, カーソル以降の最初に出現した数字をデクリメント
=
カーソルがある行をインデント. ビジュアルモードで範囲を選択していれば, その範囲をインデント
>>
インデントを追加
<<
インデントを削除
.
直前のコマンド繰返し
u
直前に実行したコマンドの取り消し
U
カーソル行に対して行った変更を全部取消す
:!cmd
シェルコマンドの実行
:r!cmd
コマンドを実行し,その結果を挿入
:shell
シェルを呼び出す。exitなどでシェルを抜ければviに戻る
:set number
行番号を表示 (set nu)
:set nonumber
行番号表示を止める (set nonu)
:h
ヘルプ表示
:viusage [<コマンド>]
viコマンドモードのコマンド一覧表示。
<コマンド>を付加するとそのコマンドの説明を表示。
:exusage [<コマンド>]
exコマンドモードのコマンド一覧表示。
<コマンド>を付加するとそのコマンドの説明を表示。
:set readonly
リードオンリーモードにする (set ro)
:set noreadonly
リードオンリーモードを解除する (set noro)
TIPS
多くのコマンドは, 直前に数字などを組み合わせて使うことができます
例えば, 3ddとすれば3行削除できます. 10iでインサートモードに入って,
文字を入力した後にノーマルモードにもどれは, 入力した文字が10個分入力されます
<コマンドラインにペースト>
:を押してコマンドラインに入った状態でCtrl-Rを押してから"を押すと
コマンドラインにペースト
Author And Source
この問題について(vim 簡単ガイド), 我々は、より多くの情報をここで見つけました
https://qiita.com/FBH9999/items/a8ec99bed08592a9d69a
著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .