Chinaunix首页 | 论坛 | 博客
  • 博客访问: 81357
  • 博文数量: 48
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 266
  • 用 户 组: 普通用户
  • 注册时间: 2011-05-10 14:25
文章分类
文章存档

2012年(48)

我的朋友

分类:

2012-12-06 09:43:45

        刚参加工作,做了两个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模式。


阅读(498) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~