Vim编辑器基本操作学习(二)

操作符+位移

 

x命令可以删除一个字符,4x可以删除4个字符。
dw可以删除一个word,w事实上是向后移动一个word的命令;dw可以接上一个任意一个位移命令,它将删除从当前光标开始到位移终点处的文本内容。
 
  • d可以删除文本;
  • c可以修改文本;
 
操作符+位移命令,首先键入一个操作符命令,比如d或者c,接下来是一个位移命令,比如0,$,w等操作。
  • dd可以删除整行;
  • cc可以改变整行;
有一些操作符+位移命令的使用频率非常高,将它们以一个单独的字符作为其快捷方式:
  • x代表dl,删除当前光标下的字符;
  • X代表dh,删除当前光标前面的字符;
  • D代表d$,删除当前光标到行尾的内容;
  • C代表c$,修改当前光标到行尾的内容;
  • s代表cl,修改一个字符;
  • S代表cc,修改一整行;
 

替换单个字符

 

r命令不属于操作符命令,因此不适于上述说明中的“操作符+位移”操作中。它等待你键入下一个字符用以替换当前光标下的那个字符,类似于cl或s命令,但是不需要事后使用ESC回到正常编辑模式。
 
r命令支持前缀,可以使用3ra命令将当前光标后面的3个字符都替换成a,即aaa;
 

重复执行改动操作

 

“.”命令是vim中一个简单强大的命令,会重复执行上一次做的改动,记住,是改动,使用命令修改文本,但是不包括u,Ctrl+R和以“:”开头的命令。”.”是在Normal模式下执行,重复的是命令而不是改动的内容。如果要搜索abc并将其替换成def,可以按照以下方式执行:
  1. /abc, 查找abc字符串;
  2. cwdef,将当前word替换成def;
  3. esc,退出编辑模式;
  4. n并执行.就可以重复替换了。
 

Visual模式

 

删除简单,短小的文本对象,“操作符+位移”命令就已经足够使用,但是如果想像windows中文本编辑器移动光标选择一整段文本,就需要进入Visual模式。
 
v命令可以进入Visual模式,此时移动光标就可以覆盖想操纵的文本范围,移动操作与正常模式相同,同时被选中的文本将会高亮显示,选择完成后,键入操作符命令。
 
ESC命令退出Visual模式。
 
如果想要整行地操作文本,可以使用大写”V"进入Visual模式,此时就会发现被选中的文本是一整行为单位的,左右移动失效。
 
在使用d或者x这样的命令删除文本时,被删除的内容还是被保存下来的,可以使用p命令取回来(put回来)。p命令会将删除的整行内容都放到光标的下面作为单独一行,如果删除的是一行中的部分内容,p命令就会把这部分内容放到当前光标后面。
 
P命令与p一样都能取回被删除的内容,不过其将被取回的内容置于光标之前。可以多次调用p或者P来调回被删除的内容。
 

复制文本

 

要把文本内容从一个地方复制到另一个地方,一种比较折腾的方法就是先删除它,再用u恢复,然后用p粘贴到你想要编辑的地方上去。不过对于复制有一种非常方便的方法,就是使用y命令(yanking),y命令操作符会将文本复制到一个寄存器中,然后用p命令将其取回。
 
y也是个命令,同时也可以像d,x,c等命令一样,使用yw复制一个word,yb向前复制一个word,yy可以复制一整行(像dd一样),使用nyy可以复制下面的n行数据。 
 
 

文本对象

 
如果光标位于一个单词的中间,而需要删除整个单词,可能需要把光标移到该单词的开头,然后用dw命令,不过有个简单的方法,使用命令”daw”。
 
daw中的d是删除命令,aw是一个文本对象(A word),整体的意思可以表述为(Delete a word),该word之后的空白字符也会被删除。
 
如果要修改一行的数据,可以使用命令cis,就会将光标置于原来的空白位置,此时可以键入新的语句;如果想要删除整个句子,如果希望将其后面的空白也删除,此时可以使用das命令。
 

替换模式

 
R命令可以让vim进入replace模式,这个模式下,所有输入的字符都会替换掉当前光标下的字符,直到键入ESC为止,或是整行没有字符可以替换时,继续拓展该行的内容,并不会延续到下一行。
 
 
 
posted @ 2014-12-14 19:39  clamaa  阅读(167)  评论(0编辑  收藏  举报