0. 快速参考
命令 | 意义 | 例 |
---|---|---|
:q |
退出 | |
:wq |
保存退出 | |
i |
insert | |
a |
append | |
「Ctrl」f |
next page | |
「Ctrl」b |
previous page | |
:10 |
第10行 | |
gg |
第一行 | |
G |
最后行 | |
x |
删除一个文字 | |
dd |
删除一行 | |
yy |
复制1行 | |
n yy |
复制n行 | |
p |
paste next | |
P |
paste previous | |
u |
undo | |
/検索文字列 |
检索 | |
n |
next find | |
N |
previous find | |
:ns/old/new |
n 行目の最初の old を new に置換して終了 | |
:ns/old/new/g |
n 行目の全ての old を new に置換して終了 | |
:%s/old/new/g |
ファイル全体の検索語句を置換する | |
:%s/old/new/gc |
置換の度に確認を求める |
1. 三つのモードがあります
- CommandMode
- InsertMode
- VisualMode
- i : カーソルの前に挿入
- a: カーソルの後ろに挿入
- I: 該当行の最初の文字へジャンプして、挿入モードに
- A: 該当行の最後の文字へジャンプして、挿入モードに
- v: 文字を選択対象として、VisualModeに
- V: 行を選択対象として、VisualModeに
2. 移動
H←(左)
L→(右)
J↓(下)
K↑(上)
すべてのコマンドはCommandModeでしか使えません。
- H / M / L :現在のスクリーンの左上/左中央/左右へ移動
- 0(数字): 該当行の最初へ移動
- ^: 該当行の最初の文字へ移動(※中文输入法下,shift+6可以输入)
- w: 次の単語の頭へ移動
- W: 次の単語の頭へ移動、()<>などをignoreする
- e: 次の単語の最後へ移動
- E: 次の単語の最後へ移動、()<>などをignoreする
- b: 一つ前の単語の頭へ移動
- ge: 一つ前の単語の最後へ移動
- gE: 一つ前の単語の最後へ移動、()<>などをignoreする
- g_: 該当行の最後の文字(non-blank)へ移動
- $: 該当行の最後の文字へ移動
- ctrl -f: 一つスクリーンを進む
- ctrl -b: 一つスクリーンを戻る
TIP
- 全部選択 / Copy:
ggVG / y
- gg 第一行 V Visual G 最後の行 y copy
- すべての行の最初の文字の前に”a”を挿入
:%s/^/a
- すべての行の最後の文字の後ろに”a”を挿入
:%s/$/a
- コマンドモードで、検索したい単語まで移動して、
shift + *
にしたら、すべて同じ単語が出てくる、NとShift+Nで単語間移動。
3. 編集
d
:删除从当前光标,到下一个命令之间的内容,- 比如dw就是删除一个单词,
- dd是删除一行,
- dk向上删除,
- d$删除从当前光标到最后,
- d0 删除从当前光标到最开始。
c
:同d,删除从当前光标,到下一个命令之间的内容,但是同时进入插入模式。组合也相同。x
:删除光标后的字符。c
:删除光标前的字符。y
:copy 从当前光标,到下一个命令之间的内容。p
:粘贴到当前光标之后。-
P
:粘贴到当前光标之前。(大写) r
:替换-
.
:重复操作(点号),u
撤销操作 d / c / y
都是针对一行进行操作,删除一行/复制一行。 另外,很多命令能够组合,比如1yy就是将一行复制后,放入寄存器1中,用1p可以粘贴。:registers
可以查看寄存器的内容。
4. Visual Block
使用 Visual Block能够给每行加上前置字符。
- 先
Ctrl+q
进行矩形选择,再用I(ctrl (?shift)+ i)
进入插入模式,输入待插入的文字,再退出插入模式,那么输入的文字,会全部插入到矩形框的前面。(用A进入插入模式的话,输入的文字,会被插入矩形框尾部)
-
同样的方法,使用
s
的话,能够进行文本替换。 -
使用
Ctrl+q+$
能够在行尾部追加。
TIP
- 为每一行追加行号
:%s/^/\=line(".")/
line(".")
是追加的内容。 - 同样,将^ 修改为 $可以在行尾部追加。
%s/^/a
行头追加字符 a
5. 查找和替换
:/[查找内容] 或者 :?[查找内容]
,都可以用来查找,用n或是N进行跳转。:nohl
取消结果高亮。:%s/old/new/gc
替换用语句,c 是用来确认,如果没有c 则直接替换:%s/old/new/g
如果先选择范围,再替换的话,即部分替换。
6. 补全
使用Ctrl + N / Ctrl + P选择已经输入过的单词。