:q / C-w q
:q! / ZQ
:w
:wq
:x / ZZ
:e [ファイル名]
:e .
h / j / k / l
gj / gk
gg / G
[行数]G / :[行数]
0
^
$
f[文字]
F[文字]:カーソルより左にある指定文字に移動
t[文字]
T[文字]:カーソルより左にある指定文字の右に移動
;
,
b / w
ge / e
( / )
%
if-endなどもプラグインによって可能。
g; / g,
zt / zz / zb
H / M / L
Home / Middle / Last
C-u / C-d
Up / Down
C-b / C-f
Back / Forward
C-e / C-y
Back / Forward
/[文字列]
正規表現が使用可能。
?[文字列]
n / N
:%s/[置換前文字列]/[置換後文字列]/g
正規表現が使用可能。
スラッシュの代わりにセミコロンも使用可能。
:'<,'>s/[置換前文字列]/[置換後文字列]/g
:s/[置換前文字列]/[置換後文字列]/g
i
a
I / A
o / O
r[文字]
R
(インサート中) C-t / C-d
x
dd
D
J
gJ
:間にスペースを入れない
C-a / C-x
数字を増やす / 減らす
y
yy / Y
p
v
V
C-v
> / <
~
U / u
(テキストオブジェクト)
=
o
O
矩形選択時に実行
u
C-r
c | 変更 | change |
d | カット | delete |
y | ヤンク | yank |
オペレータに続けて、テキストオブジェクトを入力する。
a:範囲/i:範囲の内部
aw iw | 単語 | aはスペースも含む |
as is | 文 | ピリオドで区切られた文 |
ap ip | 段落 | 連続している行 |
a[ a] i[ i] | []括弧 | |
a( a) ab i( i) ib | ()括弧 | |
a{ a} ab i{ i} ib | {}括弧 | |
a< a> i< i> | <>括弧 | |
at it | HTML/XMLタグ | |
a" i" | ダブルクォーテーション | |
a' i' | シングルクォーテーション | |
a` i` | バッククォート |
:sp / C-w s
:vs / C-w v
C-w h / j / k / l / w
C-w h / j / k / l / w / W
C-w H / J / K / L
:tabe (ファイル名)
gt / gT
:tabm [数]
[数]
は左から0から始まる。
設定をしない場合、終了時に折りたたみ情報は削除される。
zf
za
zd
zR
zM
zD
:no[remap] / :nn[oremap] / :vn[oremap] / :xn[oremap] / :snor[emap] / :ono[remap] / :ino[remap] / :ln[oremap] / :cno[remap] [新] [元]
他のキーマッピングに影響しない。例:
[vim.rc]
nn <C-a> <C-x> " <C-a>に<C-x>の動作を割り当て
nn t <C-a> " tに<C-a>の動作を割り当て(<C-x>ではない)
:map / :nm[ap] / :vm[ap] / :xm[ap] / :smap / :om[ap] / :im[ap] / :lm[ap] / :cm[ap] [新] [元]
他のキーマッピングに影響する。例:
[vim.rc]
nm <C-a> <C-x> " <C-a>に<C-x>の動作を割り当て
nm t <C-a> " tに<C-x>の動作を割り当て(<C-a>ではない)
:unm[ap] / :nun[map] / :vu[nmap] / :xu[nmap] / :sunm[ap] / :ou[nmap] / :iu[nmap] / :lu[nmap] / :cu[nmap] [新] [元]
:map / :nm[ap] / :vm[ap] / :xm[ap] / :smap / :om[ap] / :im[ap] / :lm[ap] / :cm[ap]
なし | ノーマル・ビジュアル・セレクト・次コマンド待機 |
n | ノーマル |
v | ビジュアル&セレクト |
x | ビジュアル |
s | セレクト(実行時に選択していたテキストが使われる) |
o | 次コマンド待機(d, y, c などの後の待機時間)
|
i | インサート |
l | インサート・コマンドライン |
c | コマンドライン |
:ab[breviate]
:una[bbreviate]
:sh[ell]
:![コマンド]
:h [文字列]
m[a-z]
'[マーク] / `[マーク]
:marks
:delmarks!
ビジュアルモードで選択時に入力する。
元の文字列 | コマンド | 結果 |
foo | S' | 'foo' |
foo | S" | "foo"" |
foo | S[ | [ foo ] |
foo | S( | ( foo ) |
foo | S{ | { foo } |
foo | S] | [foo] |
foo | S) | (foo) |
foo | S} | {foo} |
foo | S<p> | <p>foo</p> |
ys
の後に 選択する文字列 と その文字列を囲うもの を続けて指定する。
元の文字列 | コマンド | 結果 |
'foo b|ar' | ysaw( | 'foo ( bar )' |
'foo b|ar' | ysi'( | '( foo bar )' |
'foo b|ar' | ysa'( | ( 'foo bar' ) |
上の表の|
はカーソルを表している。
d
(削除)またはc
(変更)に続いてs
を入力し、さらに続いて入力する。
元の文字列 | コマンド | 結果 |
'foo' | ds' | foo |
( foo ) | ds( | foo |
<p>foo</p> | dst | foo |
'foo' | cs'" | "foo" |
'foo' | cs'( | ( foo ) |
foo | S{ | { foo } |
'foo' | cs'<p> | <p>foo</p> |
通常は:Align
コマンドを使用するが、Alignプラグインがインストールされている場合は:Alignta
コマンドを使用する。
:'<,'>Align [文字列]
+-------------+-------------+
| Original | :Align = |
+-------------+-------------+
| a = 1 | a = 1 |
| bbb = 10 | bbb = 10 |
| ccccc = 100 | ccccc = 100 |
+-------------+-------------+
:'<,'>Align [文字列] [文字列2] ...
+---------------------+-------------------------+
| Original | :Align = /* */ |
+---------------------+-------------------------+
| a = 1 /* AAAAA */ | a = 1 /* AAAAA */ |
| bbb = 10 /* BBB */ | bbb = 10 /* BBB */ |
| ccccc = 100 /* C */ | ccccc = 100 /* C */ |
+---------------------+-------------------------+
:'<,'>Align [文字列]/[回数]
+-----------------------------+---------------------------------+
| Original | :Align =/2 |
+-----------------------------+---------------------------------+
| a = bbbbb = c = ddddd = 1 | a = bbbbb = c = ddddd = 1 |
| aaa = bbb = ccc = ddd = 10 | aaa = bbb = ccc = ddd = 10 |
| aaaaa = b = ccccc = d = 100 | aaaaa = b = ccccc = d = 100 |
+-----------------------------+---------------------------------+
:'<,'>Align [左][中](右) [文字列]
(右)
を省略した場合、[左]
と同じになる。
文字 | 意味 |
---|---|
< | 左揃え |
| | 中央揃え |
> | 右揃え |
= | 保持 |
+-------------+----------------+
| Original | :Align << = |
+-------------+----------------+
| a = 1 | a = 1 |
| bbb = 10 | bbb = 10 |
| ccccc = 100 | ccccc = 100 |
+-------------+----------------+
+-------------+----------------+
| Original | :Align >> = |
+-------------+----------------+
| a = 1 | a = 1 |
| bbb = 10 | bbb = 10 |
| ccccc = 100 | ccccc = 100 |
+-------------+----------------+
+-------------+-----------------+
| Original | :Align <|> = |
+-------------+-----------------+
| a = 1 | a = 1 |
| bbb = 10 | bbb = 10 |
| ccccc = 100 | ccccc = 100 |
+-------------+-----------------+
+-------------+-----------------+
| Original | :Align <|> = |
+-------------+-----------------+
| a = 1 | a = 1 |
| bbb = 10 | bbb = 10 |
| ccccc = 100 | ccccc = 100 |
+-------------+-----------------+
:'<,'>Align [数] [文字列]
+-------------+------------------+
| Original | :Align <<0:0 = |
| | :Align <<00 = |
| | :Align <<0 = |
+-------------+------------------+
| a = 1 | a =1 |
| bbb = 10 | bbb =10 |
| ccccc = 100 | ccccc=100 |
+-------------+------------------+
+-------------+------------------+
| Original | :Align <<3:1 = |
| | :Align <<31 = |
+-------------+------------------+
| a = 1 | a = 1 |
| bbb = 10 | bbb = 10 |
| ccccc = 100 | ccccc = 100 |
+-------------+------------------+
:'<,'>Align <- [文字列]
+--------------------+--------------------+
| Original | :Align <- b |
+--------------------+--------------------+
| a b c | a b c |
| aaa bbb ccc | aaa bbb ccc |
| aaaaa bbbbb ccccc | aaaaa bbbbb ccccc |
+--------------------+--------------------+
:'<,'>Align [書式] [文字列]
文字 | 意味 |
---|---|
<- | 最左の位置で揃える |
-> | 最右の位置で揃える |
+--------------------+--------------------+
| Original | :Align <- b |
+--------------------+--------------------+
| a b c | a b c |
| aaa bbb ccc | aaa bbb ccc |
| aaaaa bbbbb ccccc | aaaaa bbbbb ccccc |
+--------------------+--------------------+
+--------------------+-----------------------+
| Original | :Align -> b |
+--------------------+-----------------------+
| a b c | a b c |
| aaa bbb ccc | aaa bbb ccc |
| aaaaa bbbbb ccccc | aaaaa bbbbb ccccc |
+--------------------+-----------------------+
© 2019 shge.github.io 利用規約・プライバシー