2.1快捷移动
文件头:gg
文件尾: G
段移动:^f
, ^b
行头:0
, g0
行尾: $
, g_
<c-f> " 向下移动一页
<c-d> " 向下移动半页
<c-b> " 向上移动一页
<c-u> " 向上移动半页
放置行
有时我们希望将指定的行放在屏幕顶端。先将光标放在指定的行上,然后输入z
如果要将指定的行放在屏幕底部,可以使用命令z-或是zb。所不同的是,前者将光标放在这一行中第一个没有空白符的字符处,而后者是保持光标的位置不变。
命令zz或是z.可以将指定的行放在屏幕的中部。这两个命令的不同就是,前者保持光标的位置不变,而后者是将光标置于第一个非空白的字符处。
在normal模式下 直接输入H M L 代表 把光标放在 屏顶部 屏中部 屏底部。
其中:
同理:对于组合键,可以用
注意:Alt键可以使用
关于键盘符号的详细说明,请使用:h key-notation命令查看帮助信息。
按键 | 描述 | 助记 |
---|---|---|
0 |
跳到行首,可以理解为无穷大的h |
|
^ |
跳到行首开始的第一个非空白字符 | |
$ |
跳到行尾,可以理解为无穷大的l |
|
gg |
跳到首行,可以理解为无穷大的k |
|
G |
跳到末行,可以理解为无穷大的j |
|
w |
跳到下一个词首 | word |
b |
跳到上一个词首 | back-word |
e |
跳到下一个词尾 | end |
ge |
跳到上一个词尾 |
操作命令
编辑文档的过程,实际上就是不断操作特定文本的过程:删除、修改、复制,等等。 Vim 下的操作命令(Operator Commands)即特指一系列针对特定文本的操作。 常用的操作命令包括:
按键 | 描述 | 助记 |
---|---|---|
c |
删除,并进入插入模式 | change |
d |
删除 | delete |
y |
复制 | yank |
gu |
变为小写字母 | |
gU |
变为大写字母 | |
g~ |
颠倒字母的大小写 | |
> |
右缩进 | |
< |
左缩进 | |
= |
自动缩进 |
需要注意的是,一个操作命令只会对紧随其后的一个移动命令有效。
Normal 模式下“一击即中”的常用命令则包括:
按键 | 描述 | 助记 |
---|---|---|
p |
粘贴于当前光标之后 | paste/put |
P |
粘贴于当前光标之前 | Paste/Put |
x |
删除当前字符,相当于 dl |
|
s |
删除当前字符并插入,相当于 cl |
|
C |
删除至行尾并插入,相当于 c$ |
|
D |
删除至行尾 | |
S |
从当前行首个非空字符删除至行尾并插入,相当于 ^C |
|
u |
撤销上一次修改 | undo |
<Ctrl-r> |
重做上一次修改,u 的逆过程 |
redo |
. |
在当前光标处重复上一次修改 |
取消查找的高亮: 输入 :nohls
即可
全文替换,也可以写成 :%s/word1/word2/g
:1,$s/word1/word2/gc " 全文替换,并出现确认提示
dd " 删除当前行
ndd " 向下删除 n 行
d1G / dgg " 删除第一行到当前行的数据
dG " 删除当前行到最后一行的数据
d$ " 删除当前字符到行尾
d0 " 从行首删除到当前字符
yy " 复制当前行
nyy " 从当前行开始复制 n 行
y1G / ygg " 从第一行复制到当前行
yG " 从当前行复制到最后一行
y0 " 从行首复制到当前字符
y$ " 从当前字符复制到行尾
p, P " 黏贴,p 黏贴到光标下一行,P 黏贴到光标上一行