LoginSignup
0
2

More than 5 years have passed since last update.

Vim を使い始めようと思ったからチートシートを作ってみた

Last updated at Posted at 2019-05-01

Vim チートシート

起動

コマンド 動作
vim {path/file} vim を実行(指定ファイルを開く)

終了

キー入力 動作
:q[uit] 終了
:q! 終了(編集破棄)

ファイル操作

キー入力 動作
:e[dit] {path/file} ファイルを開く(相対ファイルパスを入力。[TAB]で補完入力)
:e[dit] {path} ファイルエクスプローラを指定パスでオープン([TAB]で補完入力)
:e. ファイルエクスプローラをカレントディレクトリでオープン
:E[xplore] アクティブなバッファのディレクトリでファイルエクスプローラをオープン
:S[explore] :E の水平分割版
:Vexplore :E の垂直分割版
:find ファイルを検索して開く
検索先は path に予め設定しておく
src配下なら :set path+=src/**
:sav[eas] {path/file} ファイル名を付けて保存
:w[rite] ファイルの上書き保存

モード切替

ノーマルモード

キー入力 動作
[ESC]
[CTRL] + ]
ノーマルモード

インサートモード開始

キー入力 動作
i カーソル位置から
a カーソル位置の後ろから
I 行頭から
A 行末から
o カーソル行の下に新規行
O カーソル行の上に新規行
C カーソル位置から行末を削除
s カーソル位置を1文字削除
S カーソル行で新規行

置換モード開始

キー入力 動作
R
[INS]
置換モード

ビジュアルモード開始

※ トグルでノーマルモードと切り替わる

キー入力 動作
v 文字指向
V 行指向
[CTRL] + v ブロック指向

ビジュアルモード中

キー入力 動作
gv 直前の選択範囲を再選択
o 選択範囲の始点と終点をトグルで移動

カーソル移動

キー入力 動作
h
j
k
l
w 次の単語の先頭(区切り文字まで)
W 次の単語の先頭(区切り文字を除く)
b カーソル位置が単語の途中なら、その単語の先頭(区切り文字まで)
B カーソル位置が単語の途中なら、その単語の先頭(区切り文字を除く)
e 単語の末尾(区切り文字まで)
E 単語の末尾(区切り文字を除く)
gg ファイルの先頭行
G ファイルの末尾行
H 画面の先頭行
M 画面の中央行
L 画面の末尾行
0 行頭
^ 行頭(非空白文字)
$ 行末
gm 行の中央
g_ 行末(非空白文字)
% 対の括弧
:{number} number行
'' ジャンプ前の位置
'. 直前に変更があった位置
'^ 直前に挿入があった位置
m{a-zA-Z} 現在位置をマーク
'{a-zA-Z} マークした位置

ノーマルモード中の編集

キー入力 動作
x 1文字カット
dd 1行カット
. 直前の変更を繰り返す
yy 1行コピー
p ペースト(カーソル位置の後)
P ペースト(カーソル位置の前)
u アンドゥ
[CTRL] + r リドゥ

インサートモード中の編集

キー入力 動作
[CTRL] + h 直前の1文字削除
[CTRL] + w 直前の1単語削除
[CTRL] + u 行頭まで削除
[CTRL] + r, {0-9a-zA-Z} ペースト(レジスタから)
[CTRL] + r, * ペースト(クリップボードから)

検索

行内1文字検索

キー入力 動作
f{char} 前方検索
t{char} 前方検索(1文字前)
F{char} 後方検索
T{char} 後方検索(1文字後)
; 次を検索
, 前を検索

ファイル内文字列検索

キー入力 動作
/{pattern} ファイル内で前方検索
?{pattern} ファイル内で後方検索
* カーソル位置の単語を前方検索
# カーソル位置の単語を後方検索
n 次を検索
N 前を検索

置換

文字列置換

キー入力 動作
:[%]s/{pattern}/{string} 置換(%なし=前方, %あり=全て)

1文字(上書き)

キー入力 動作
r{char} 1文字上書き(置換モード)
gr{char} 1文字上書き(仮想置換モード)

インデント

準備
:set shiftwidth=4 softtabstop=4 expandtab

キー入力 動作
> インデントを下げる
< インデントを上げる
= 自動インデント

ウインドウ

キー入力 動作
[CTRL] + w, s 水平分割
[CTRL] + w, v 垂直分割
[CTRL] + w, c アクティブウインドウを閉じる
[CTRL] + w, o アクティブウインドウだけ残す
[CTRL] + w, T アクティブウインドウを新規タブに移動
gt 次のタブに切替
gT 前のタブに切替

参考

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2