本文共 2807 字,大约阅读时间需要 9 分钟。
5.1 操作符命令和位移
dw命令(delete word):删除一个word,w可以看作一个word,也可以看作右移了一个word.
Keyboard not found ... press F1 to continue.
d4w命令:删除四个word,4w看作一次右移4个word.
d2e命令:删除2个word,光标移动到第二个word的尾部.
d$命令:删除光标到行尾.
5.2 改变文本
1. 常用命令
cw命令(change word):改变命令,与d命令类似,执行完成后会进入Insert模式,意为改变一个word.
cc命令:改变整行,保持原有的缩进.
c$命令:删除到行尾的内部,等于d$a.
2. 快捷命令
x = dl X = dh D = d$ C = c$ s = cl S = cc
3. 命令记数放在哪里?
3dw d3w 3d2w 这些有什么区别呢???
第一个数字是计数命令代表命令的重复次数,第二个数字是位移命令代表作用的范围.
4. 替换单个字符
r命令(replace):替换单个字符,你也可以使用s或cl命令来完成相同的功能,但使用r命令不需要再<Esc>键回到Normal模式.
Kexxxxxd not found ... press F1 to continue.
备注:r命令同样可以使用数字计数,如5rx等操作.
5.3 重复改动
.命令:重复上一次做出的修改.
1. 如删除HTML语言:
To <B> generate </B> a table <B> of </B> contents.
f< df> f< df> ...
2. .命令重复的是修改命令,而不是被改动的内容
xyz 1
xyz 2
cwxyz
3. 使用.命令来替换
five
five
five
five
five
5.4 Visual模式
1. 选择文本范围
v命令:进入visual模式,移动光标覆盖你想操纵的文本范围,最后键入操作符.
This is an examination sample of visual mode.
This is an example of visual mode.
2. 选择多行
vjj命令:选择3行,可以选择多行.
3. 选择文本块
CTRL-v:进入visual块模式,以文本块为对象进行操作,常常用来编辑表格.
如欲删除Q2列,则可以把光标置于Q2的Q上后wd就可以删除Q2列了,块区域范围的调整.
name Q1 Q2 Q3
ab 12 23 34
ab 12 23 34
ab 12 23 34
ab 12 23 34
4. 文本块操作
o命令(other end):会让光标置于被选中的文本的另一端,对角的位置上去,可以通过光标移动进行块的所选范围进行移动.
O命令:同一行左右两个角之间进行移动.
备注: 在visual块模式下,进行操作.
5.5 移动文本
1. p命令(put):以前通过用d或x进行删除的文本都可以用p命令来进行读取.
如:dd删除行后,将光标移动到想放入的地方然后p命令进行放入.
a line a line a line
如:移动某个单词,dw删除后,将光标移动到想放入的地方然后使用p命令进入放入.
a a ne line line a li
如:交换两个字符,x删除字符后,用p命令取回.
teh the
2. P命令:把取回的内容放在光标之前.
备注:可以与计数命令一起使用,如dd删除行之后,3p会将删除的行取回三次放在当前位置.
a line a line a line
a line a line a line
a line a line a line
a line a line a line
a line a line a line
5.6 复制文本
1. y命令(yanking):将文本复制到一个寄存器中,用p命令取回.
备注:如d命令类似:
yw:复制一个word
y2w:复制两个word
yy:复制一整行
y$:复制光标到行尾,D或d$(删除光标到行尾的内容)类似.
Y:与yy类似,复制一整行.规律是存在例外的.
2. 使用剪贴板
"*yy命令:将一行内容复制到剪贴板中.
"*p命令:把剪贴板中的内容复制出来.
备注:只适用于gvim,实质上是将内容复制到名为*的寄存器中.
5.7 文本对象
daw命令(delete a word):删除一个单词,光标位于单词的中间而你要删除这个单词时使用的.
This is an example.
diw命令(delete inner word):删除一个单词,不删除之后的空格符.
cas命令(change a sentence):要修改一整个句子,删除之后的空格符,由Normal模式转到Insert模式.
cis命令(change inner sentence):要修改一整个句子,不会删除之后的空格符.
This is an example. This is an example. This is an example. This is an example.
5.8 替换模式
Normal -> i a -> Insert -> Esc -> Normal -> V -> Visual -> R -> Replace
Normal <Esc>
R命令:键入的字符都会替换当前光标下的字符,键入<Esc>结束该模式.
This is a text.
备注: <Insert>键可以在Insert模式与Replace模式之间进行切换.<Backspace>键可以将原来的字符进行修复.
5.9 总结
操作命令,位移命令和文本对象可以让你在使用这些命令时任意组合,如使用操作符命令N配上位移命令M来构成一个NM命令.
操作命令: d c y p
位移命令: w 0 ^ $
文本对象: aw as iw is
删除文本常用的方法:
x 删除当前光标下的字符,dl功能是一样的.
X 删除当前光标之前的字符,dh功能是一样的.
D 删除当前光标到行尾的内容,d$功能是一样的.
dw 删除自当前光标到下一个word的开头.
db 删除自当前光标到前一个word的开始.
diw 删除当前光标所在的word(不包括空白字符)
daw 删除当前光标所在的word(包括空白字符)
dG 删除当前行到文件尾的内容.
dgg 删除当前行到文件头的内容.
更改文本常用的方法:
如果用c命令代替d这些命令就都变成更改命令,如此类推.
~ 改变当前光标下字符的大小写,并将光标移动下一个字符.
THis is a examPLe.
I 将光标置于当前行第一个非空白字符处并进入Insert模式.
A 当光标置于当前行尾并进入Insert模式.
转载地址:http://udxmi.baihongyu.com/