首页 > 代码库 > 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?
- ?????^:移动光标到行首;??
- ??
- ?????$:移动光标到行尾;??
- ??
- ?????ctrl-b:类似于键盘上的"PgUp"(b为backword)??
- ??
- ?????ctrl-f:类似于键盘上的"PgDn"(f为forword)??
- ???????
- ???????
??? 行操作:????
[plain] view plaincopyprint?
- ?????G:移动到末行;??
- ??
- ?????1G:移动到首行;??
- ??
- ?????50G:移动到50行;??
- ??
- ??????H:移动到当前窗口的首行;??
- ??
- ??????M:移动到当前窗口的中间位置;??
- ??
- ??????L:移动光标到当前窗口的最后一行;??
?
2、单词、句、段落操作
[plain] view plaincopyprint?
- w:光标移动到下一个单词的词首;注:对于中文,连续的多个汉字作为一个word。??
- 2w:重复执行w操作2次;??
- e:光标移动到下一个单词的词尾;??
- 5e:重复执行e操作5次;??
- b:向前移动光标,移动到前一个单词的词首;??
如果想了解更多,可以在vim Normal模式下输入 :help word-motions
句字(sentences)直接移动操作:
):光标移动到下一句;
(:光标移动到上一句;
3):光标移动到向下3句
段落(paragraphs)直接移动操作:
{:向上移动一个段落;
}:向下移动一个段落
3}:向下移动3个段落
更多操作在vim Normal模式下输入 :help cursor-motions
标记(mark):
当你正在编辑一篇文档时(不一定是最后一段),你需要操作当前文档的其他段落,你操作完其他的段落后还想回到当前操作的段落,如何能很快的返回呢:
给你一段文本,可以便于说明:
[plain] view plaincopyprint?
- 1、I?am?eagerly?awaiting?my?next?disappointment.?—Ashleigh?Brilliant??
- 2、Every?man’s?memory?is?his?private?literature.?—Aldous?Huxley??
- 3、Life?is?what?happens?to?you?while?you’re?busy?making?other?plans.?—John?Lennon??
- 4、Life?is?really?simple,?but?we?insist?on?making?it?complicated.?—Confucius??
- 5、Do?not?dwell?in?the?past,?do?not?dream?of?the?future,?concentrate?the?mind?on?the??
- 6、present?moment.?—Buddha??
- 7、The?more?decisions?that?you?are?forced?to?make?alone,?the?more?you?are?aware?of??
- 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?
- ctrl-o:(类似于word等文本编辑器的ctr-z取消操作),此操作返回上一次光标的位置;??
- ??
- ctrl-i:(类似于word等文本编辑器的ctr-Y重做操作),此操作在ctrl-o返回上次光标位置后,再回到最后光标的位置??
部分文本的操作
ctrl-v:进入块操作模式
文本例子还是上文的8段文字,光标放到第6行(你可以使用上文介绍的操作把光标放到第6行的行首),按ESC进入Normal模式,按v进入可视模式(vim下端会提示),按下ap(a paragraph)会选择当前段落,执行~会把大小写字母反转,小写变大写,大写变小写!
[plain] view plaincopyprint?
- 6、PRESENT?MOMENT.?—bUDDHA??
如果想对word操作,把ap换成aw(a word)即可!
附 两张图:
这张图可以作为桌面;
vim强大探究之光标移动