
如果你还不了解 VIM 那么你可以参考:http://www.i170.com/user/killercat/Article_111571
使用 VIM 做小的修改
我们通常使用 x 命令来删除一个字符。实际上,我们可以选择更加好用的 d 命令来完成删除操作。
d 命令
d 命令是一个特殊的命令,后面需要接上动作(motion),使用实例:
1. dw
-----------------------------------------
I am a boy.
-----------------------------------------
光标位于 b 上时,输入 dw 将删除 boy 这个词。如果需要删除多个词,例如,删除 4 个词,可以使用 d4w。
这里的 w 或者 4w 就是动作(motion)
2. d$ 和 d0
$ 的含义是移动到句尾,那么 d$ 的含义就是删除从光标处到句尾的所有字符。
0 的含义是移动到句首,那么 d0 的含义就是删除从光标处到行首的所有字符(不包括光标下的字符)。
3. dnh、dnj、dnk、dnl(这里 n 为计数)
d4h 表示向左删除 4 个字符
d4j 表示向下删除 4 个字符
d4k 表示向上删除 4 个字符
d4l 表示向右删除 4 个字符
4. dG 和 dgg
我们用 dG 来删除从此行到文件尾的所有字符。
我们用 dgg 来删除从此行到文件头的所有字符。
5. dfx(这里 x 为一个字符)
我们知道 fx(x 为一个字符)用于找到 x 字符,那么 dfx 表示删除从此处到 x 字符处的所有字符(包括 x 字符)
c 命令
c 命令和 d 命令非常相似,也是用来删除字符,只是执行完 c 命令后会进入到插入模式,等同于 d 命令执行完之后输入
a(append)。例如:
cgg 用于删除从此行到文件头的所有字符,删除后进入插入模式。
y 命令
y 命令的含义和 c 命令以及 d 命令相差甚远,但是它们的用法相似,后面都需要加上一个动作,y 命令用于复制字符(p
命令用于粘贴字符)。例如:
------------------------------------------
I am a boy.
------------------------------------------
假定光标位于 b 上,输入 yw(或者 yfy)那么单词 boy 将被复制。
yy dd 和 cc
yy 命令用于复制一行(包括行尾的换行)
dd 命令用于删除一行(包括行尾的换行)
cc 命令用于删除一行后进入插入模式(不包括行尾的换行)
快捷键
dl ------ x ------ 删除光标下的一个字符
cl ------ s ------ 删除光标下的一个字符然后进入插入模式
dh ------ X ------ 删除光标左的一个字符
cc ------ S ------ 删除一整行并进入插入模式
d$ ------ D ------ 删除到行尾
c$ ------ C ------ 删除到行尾并进入插入模式
yy ------ Y ------ 复制一整行
替换单个字符
r 命令用于替换单个字符,在你需要替换的字符上,敲击 r 然后输入需要替换的字符。要注意的是,r 命令后面只能接上一个字符。r
命令可以有计数前缀,例如:
------------------------------------------
hello
------------------------------------------
假定光标在 h 上,输入 4rx 后,hello 变成了 xxxxo
重复一个修改
. 命令用于重复最后一次的修改操作(仅仅是修改操作)
删除就是一种修改操作,例如,我们现在想删除 <a> 和 </a> 那么我们可以在字符 < 上敲入
df> 删除 <a>,然后把光标移动到 </a> 的< 字符上,然后敲入 . 命令
使用可视模式
在普通模式下,输入 v 可以进入可视模式。
可视模式可以使得我们方便的复制和删除字符串。首先,我们输入 v 进入可视模式,然后移动光标,那么移过的字符将会高亮显示,这时如果输入
y 那么被选择的高亮字符将被复制,如果输入 d(或者 c)那么被选择的高亮字符将被删除。
------------------------------------------
hello boy.
------------------------------------------
假定光标在 h 上,我们在普通模式下敲入 vlllllld,那么 hello 和后面的空格将被删除掉。
如果使用 V
命令也可以进入可视模式,这个时候整行都被选中了,这个时候,只能进行上下移动,左右移动将无效,每次上移或者下移都会选中一行。例如 Vjj
那么你会选择 3 行。
可视模式下,使用 o 命令可以移动光标到被选择的文字的另一端。
关于粘贴的更多内容
命令 P 和命令 p 一样用于粘贴,只是命令 P 会把粘贴的内容粘贴在光标前。
删除字符后,能够使用 p 来粘贴被删除的字符,例如:
------------------------------------------
hello.
------------------------------------------
我们在 hello 所在行输入 dd,删除这一行,那么这个时候可以使用 p
来粘贴这一行(无需先复制),因此我们在复制的时候需要注意,如果出现了删除操作,那么复制的内容将发生变换。
------------------------------------------
hlelo.
------------------------------------------
如果我们输入 hello 成了 hlelo,我们需要修改 l 和 e 的位置,这个时候,我们只需要把光标移动到 l 上,然后敲入
xp。
使用剪贴板
我们使用命令 y 等复制的内容并不会放入剪贴板,如果需要把复制的内容放入剪贴板,那么可以在复制命令前面加上
"*,对于粘贴也一样,如果需要粘贴来自剪贴板的字符,使用 "*p
Powered by Haiwit