5. 使用标记
-
- 常用命令
- ``命令:当使用
G
命令进行跳转时,回到原来的跳转位置。- 跳转:包括G / 与n等搜索命令,但不包括fx或者tx,以及word为单位的移动命令,或者光标的移动均不包括。
-
Ctrl-o
命令(old):跳转到前一个光标停留的位置。 -
Ctrl-i
命令:跳转到下一个光标停留的为位置,与Tab
键作用功能相同。 -
jumps
命令:显示你曾经跳转过的位置。
-
- 具体的命令的标记命令
-
m
命令(mark):定义一个标记,如ms
,名为s(start)的标记。 -
,
命令:跳转到某个名字的标记。如s
。 -
:mark
:查看所有的标记。 - 特殊的标记
- `:进行此次跳转之前的跳点。
-
''
到上次跳转的位置。 -
[
最后一次修改的起始位置。
6. 小幅改动
-
- 操作符命令和位移
-
dw
命令(delete word):删除一个word,w可以看作一个word,也可以看作右移了一个word。 -
d4w
命令:删除4个word,4w看作一次右移4个word。 -
d2e
命令:删除2个word,光标移动到第二个word的尾部。 -
d$
命令:删除光标到行尾。
-
- 改变文本
-
- 常用命令
-
cw
命令(change word):改变命令,与d
命令类似,执行完成之后会进入Insert模式,意为改变一个word。 -
cc
命令:改变整行,保持原有的缩进。-
set all
:查看vim所有的一些基础配置。 -
set cindent
:开启缩进。 -
set nocindent
:关闭缩进。
-
-
c$
命令:删除到行尾的内容,等于d$a
。
-
- 快捷命令
-
x
=dl
-
X
=dh
-
D
=d$
-
C
=c$
-
s
=cl
-
S
=cc
-
- 命令计数放在哪里?
-
3dw
、d3w
、3d2w
,这些有什么区别呢? - 第一个数字是计数命令,代表命令的重复次数。
- 第二个数字是位移命令,代表作用的范围。
-
- 替换单个字符
-
r
命令(replace):替换单个字符,你也可以使用s
或者cl
命令来完成相同的功能,但使用r
命令不需要再按Esc
键回到Normal模式。- 备注:
r
命令同样可以使用数字计数,如5rx
等操作。
- 备注:
-
- 重复改动
-
.
命令:重复上一次做出的修改。- 如删除Html语言。
-
.
命令重复的是修改命令,而不是被改动的内容。 - 使用
.
命令来替换。
-
- Visual模式
-
- 选择文本范围
-
v
命令:进入visual模式,移动光标覆盖你想操作的文本范围,最后键入操作符。
-
- 选择多行
-
vjj
命令:选择3行,可以选择多行。
-
- 选择文本块
-
Ctrl-v
:进入visual块模式,以文本块为对象进行操作,常常用来编辑表格。
-
- 文本块操作
-
o
命令(other end):会让光标置于被选中的文本的另一端,对角的位置上去,可以通过光标移动进行行块的所选范围进行移动。 -
O
命令:同一行左右两个角之间进行移动。- 备注:在visual块模式下,进行操作。
-
- 移动文本
-
p
命令(put):以前通过用d
或x
进行删除的文本都可以用p
命令进行读取。- 如:
dd
删除行后,将光标移动到想要放入的地方然后p
命令进行放入。 - 如:移动某个单词,
dw
删除后,将光标移动到想要放入的地方然后使用p
命令进行放入。 - 如:交换两个字符,
x
删除字符,用p
命令取回。
- 如:
-
P
命令:把取回的内容放在光标之前。- 备注:可以与计数命令一起使用,如:
dd
删除行之后,3p
会将删除的行取回三次放在当前的位置。
- 备注:可以与计数命令一起使用,如:
-
- 复制文本
-
y
命令(yanking): 将文本复制到一个寄存器中,用p
命令取回。- 备注:
- 和
d
命令类型。 -
yw
:复制一个word。 -
y2w
:复制两个word。 -
yy
:复制一行。 -
y$
:复制光标到行尾,D
或d$
(删除光标到行尾的内容)类似。 -
Y
:与yy
类似,复制一整行,规律是存在例外的。
- 和
- 备注:
-
- 使用剪贴板
-
*yy
命令:将一行内容复制到剪贴板中。 -
*p
命令:把剪贴板中的内容复制出来。- 备至:只适用于gvim,实质上是将内容复制到名为*的寄存器中。
-
- 文本对象
-
daw
命令(delete a word):删除一个单词,光标位于单词的中间而你要删除这个单词时使用的。 -
diw
命令(delete inner word):删除一个单词,不删除之后的空格符。 -
cas
命令(change a sentence):要修改一整个句子,删除之后的空格符,由Normal模式转到Insert模式。 -
cis
命令(change inner sentence):要修改一整个句子,不会删除之后的空格符。
-
- 替换模式
-
R
命令:键入的字符都会替换当前光标下的字符,键入Esc
结束该模式。-
Insert
键可以在Insert模式与Replace模式之间进行切换,Backspace
键可以将原来的字符进行修复。
-
-
- 总结
- 操作命令,位移命令和文本对象可以让你在使用这些命令时任意组合,如在使用操作符命令
N
配上位移命令M
来构成一个NM
命令。
- 操作命令,位移命令和文本对象可以让你在使用这些命令时任意组合,如在使用操作符命令
- 操作命令:
d
、c
、y
、p
- 操作命令:
- 位移命令:
w
、O
、^
、$
- 位移命令:
- 文本对象:
aw
、as
、iw
、is
- 文本对象:
-
- 删除文本常用的方法:
-
x
:删除当前光标下的字符,与dl
功能是一样。
-
-
X
:删除当前光标之前的字符,与dh
功能一样。
-
-
D
:删除当前光标到行尾的内容,与d$
功能一样。
-
-
dw
:删除自当前光标到下一个word的开头。
-
-
db
:删除自当前光标到前一个word的开始。
-
-
diw
:删除自当前光标到前一个word(不包括空白字符)。
-
-
daw
:删除当前光标所在word(包括空白字符)。
-
-
dG
:删除当前行到文件尾的内容。
-
-
dgg
:删除当前行到文件头的内容。
-
-
- 更改文本常用的方法
- 如果用
c
命令代替d
这些命令就都变成来更改命令,如此类推。 -
~
:改变当前光标下字符的大小写,并将光标移动到下一个字符。 -
I
:将光标置于当前行第一个非空白字符处并进入Insert模式。 -
A
:当前光标置于当前行尾并进入Insert模式。