首页 > 代码库 > vim强大探究之光标移动

vim强大探究之光标移动

vim强大探究之光标移动 - richerg85的专栏 - 博客频道 - CSDN.NET

废话不多说,直接进入主题,现在在看“byte of vim”,记录强大的命令,一步一步的进阶,希望成为一个Vimer!

???? 1、简单方向移动

?? 技术分享

? (最基本的移动命令,类似你键盘的左右上下http://write.blog.csdn.net/postedit方向键,但是功能却是异常的强大!)

??? ps:如果你是vim新手,希望你能边看边操作,如果你在windows环境,你可以装一个cygwin或者虚拟机下装个linux系统;如果是linux系统,则就啥也不说了!

? ? 这四个操作前面都可以加数字,代表执行操作的次数,例如5h,重复操作h(向左移动5个字母) 5次。

??

??? 其他键:

??

[plain] view plaincopyprint?技术分享技术分享
  1. ?????^:移动光标到行首;??
  2. ??
  3. ?????$:移动光标到行尾;??
  4. ??
  5. ?????ctrl-b:类似于键盘上的"PgUp"(b为backword)??
  6. ??
  7. ?????ctrl-f:类似于键盘上的"PgDn"(f为forword)??
  8. ???????
  9. ???????



??? 行操作:

????

[plain] view plaincopyprint?技术分享技术分享
  1. ?????G:移动到末行;??
  2. ??
  3. ?????1G:移动到首行;??
  4. ??
  5. ?????50G:移动到50行;??
  6. ??
  7. ??????H:移动到当前窗口的首行;??
  8. ??
  9. ??????M:移动到当前窗口的中间位置;??
  10. ??
  11. ??????L:移动光标到当前窗口的最后一行;??

?

2、单词、句、段落操作

[plain] view plaincopyprint?技术分享技术分享
  1. w:光标移动到下一个单词的词首;注:对于中文,连续的多个汉字作为一个word。??
  2. 2w:重复执行w操作2次;??
  3. e:光标移动到下一个单词的词尾;??
  4. 5e:重复执行e操作5次;??
  5. b:向前移动光标,移动到前一个单词的词首;??

如果想了解更多,可以在vim Normal模式下输入 :help word-motions

句字(sentences)直接移动操作:

):光标移动到下一句;

(:光标移动到上一句;

3):光标移动到向下3句

段落(paragraphs)直接移动操作:

{:向上移动一个段落;

}:向下移动一个段落

3}:向下移动3个段落

更多操作在vim Normal模式下输入 :help cursor-motions

标记(mark):

当你正在编辑一篇文档时(不一定是最后一段),你需要操作当前文档的其他段落,你操作完其他的段落后还想回到当前操作的段落,如何能很快的返回呢:

给你一段文本,可以便于说明:

[plain] view plaincopyprint?技术分享技术分享
  1. 1、I?am?eagerly?awaiting?my?next?disappointment.?—Ashleigh?Brilliant??
  2. 2、Every?man’s?memory?is?his?private?literature.?—Aldous?Huxley??
  3. 3、Life?is?what?happens?to?you?while?you’re?busy?making?other?plans.?—John?Lennon??
  4. 4、Life?is?really?simple,?but?we?insist?on?making?it?complicated.?—Confucius??
  5. 5、Do?not?dwell?in?the?past,?do?not?dream?of?the?future,?concentrate?the?mind?on?the??
  6. 6、present?moment.?—Buddha??
  7. 7、The?more?decisions?that?you?are?forced?to?make?alone,?the?more?you?are?aware?of??
  8. 8、your?freedom?to?choose.?—Thornton?Wilder??

以上文本有8行,当处在第6行编辑时,发现第2行好像有问题,需要修改,为了记住现在操作的行,可以作一个标记,ma,然后2G(跳到第2行),操作完后,回到Normal模式(按ESC),执行 ‘a(注意a的前面有个单引号),则会回到之前操作的第8行。

操作说明:

m+单词(单词为a-z或者A-Z)

如果再需要一个标记,则可以mb,返回则执行‘b;

标记也可以被删除,使用命令”:delmarks“可以删除指定标记。命令”:marks“列出所有的标记。

赶紧去试试吧!!!

?

光标跳转命令:

[plain] view plaincopyprint?技术分享技术分享
  1. ctrl-o:(类似于word等文本编辑器的ctr-z取消操作),此操作返回上一次光标的位置;??
  2. ??
  3. ctrl-i:(类似于word等文本编辑器的ctr-Y重做操作),此操作在ctrl-o返回上次光标位置后,再回到最后光标的位置??



部分文本的操作

ctrl-v:进入块操作模式

文本例子还是上文的8段文字,光标放到第6行(你可以使用上文介绍的操作把光标放到第6行的行首),按ESC进入Normal模式,按v进入可视模式(vim下端会提示),按下ap(a paragraph)会选择当前段落,执行~会把大小写字母反转,小写变大写,大写变小写!

[plain] view plaincopyprint?技术分享技术分享
  1. 6、PRESENT?MOMENT.?—bUDDHA??

如果想对word操作,把ap换成aw(a word)即可!

附 两张图:

技术分享

这张图可以作为桌面;

技术分享

vim强大探究之光标移动