分类:
2012-12-04 21:23:14
原文地址:linux编程基础:快速编辑代码的VIM命令 作者:sqlwd
刚参加工作,做了两个linux c项目,感觉编程速度太慢了,朋友讽刺我,linux c编程vim命令都不懂几个,这酱油打得都是假货啊!!通过工作时间我看到了我对编辑器的需求,以下仅为个人工作中发现对本人特别有用又容易操作的命令,工具就是用用个方便!!!
2.Moving around
2.1 按键w,e,b
用户可以使用w,e,b键在文件中移动.VIM可以识别C表达式中的不同符号.
看看下面的C代码:
if((NULL == x) && y > z)
假设光标处于if语句的开始处,当按下w键,光标将跳至第一个(.再按一次w,光标将跳至NULL.再按将跳至==,接下来的按键会分别带你到x..)... &&... y... >... z... 最后到)...
按键e的作用与w相似,只是它会带你到当前单词的末尾,而不是下个单词的开始处.
而按键b的功能与w完全相反,当你按下它,它从相反的方向开始移动光标.如上例,将)...z...>...y...&&...)...x..最后是(...
2.2 按键{,},[[,]]
{和}用于在文档中的段落间移动.当编辑C程序时,这些按键表现出些许不同的含义.用户通过使用{和}键能够很容易的从一段开始移至另一个开始。{将带领光标至段首,而}则把光标移至段尾。
许多人喜欢这样的编码样式,把逻辑上的一组语句组织成段,然后使用空行分割它们。 在这样的场合,{和}显得非常有用。用户很轻松的就可以从‘一段’移至另一段。 另一种有用的按键是[[和]],这一对按键将把你的光标带至{之前或是}之后的第一列。其他相似的按键集是][和[],][将把光标带至下一个位于第一列的}。
记住这些按键的使用方法可以这样做,第一个按键指示了它将把光标向上移还是向下移。[向上移而]向下移。第二个按键则表示将匹配那个符号。类似的,[匹配{,并将光标移向它。]将光标移向}。
2.3 按键%
%用来匹配光标之后的下一个项目,可以是一个圆括号,一个大括号或是一个方括号。通过按%键,光标自动跳到相应的匹配处。
此外,%也可以用来匹配#if,#ifdef,#else,#elif和#endif。
该按键在确认写好的代码时十分有用。例如: 检查代码包括检查圆括号使用的正确与否。%用来从一个圆括号跳到它对应的另一个。因此,用户可以找到多写或少写的圆括号,并修正。
类似的,%也可以用来在{和它对应的}间跳转。
3.在文件中任意位置跳转
按键gd
假设由于某些原因你忘记了y和z是什么而想快速的找到它们的定义。一种方法是向后查找y和z。VIM提供了另一种更加简单而快捷的方案:类似于goto定义的按键gd。当光标在y上,你按gd,这时光标将自动跳转到y的定义:struct Y y;
另一个相似的按键是gD。它会带你到变量的全局定义处。所以如果用户想查看x的定义,按gD便可以了。
4.自动补完单词
函数A_Very_Long_Function_Name()可能要一遍又一遍输入,在插入模式,用户可以通过前向或后向搜索自动补完单词。在函数Another_Function中,用户可以输入A_Very...然后按下Ctrl-P,第一个匹配到的单词将显示。在例子中,它显示为A_Very_Long_Variable_Name,如果匹配的不符合你的需求,可以再按Ctrl-P,继续搜索下个匹配的单词,显示为A_Very_Long_Function_Name。一旦单词匹配正确,你就可以继续书写程序了。在整个过程中VIM保持插入状态。
和Ctrl-P类似的按键是Ctrl-N,它先向前搜索最匹配的。这两组按键相同的是到达文件顶部或底部后都将自动继续搜索。
CTRL-P和CTRL-N都是模式CTRL-X的一部分,而CTRL-X又是insert模式的子模式。所以当你再insert模式下的时候就可以进入该模式。离开CTRL-X模式可以通过除了CTRL-P,CTRL-N,CTRL-X的按键来实现。一旦离开CTRL-X模式,你将回到insert模式。