技术开发 频道

5个有趣且能提高效率的超酷Unix命令

  vim的 CTRL-P/CTRL-N 自动完成的功能

  这是vim的杀招之一,并且我发现很多人(即使是vim的大师)都不是很经常使用。假如你是个马虎的用户(当ssh进入一个空间的时候使用vim去编辑一些配置文件),这招会潜在帮到你很多的。很多人声称他们不能放弃IDE的特性原因就是IDE的智能提示这项功能,这个功能能自动完成变量和函数的名字。这些特性是非常受欢迎的,因为它不会让我们因为拼写而出现错误,也缩短了编译/运行/调试的周期。许多人没有意识到直接从vim的黑盒子中也有类似的功能,而且是不需要任何插件的。

  在INSERT模式下,你可以按下CTRL-N键下移建议的自动完成下拉框(这个下拉框vim是从当前缓冲中获取,如果有的话,也会从tags中获取),或者按下CTRL-P键来上移(如果记不住助记符的话,记着这两个分别是代表“NEXT”和“PREVIOUS”)。如果只有一个可能的自动完成条目,vim就会继续输入,然后插入这个唯一的条目。非常方便且有效率,特别当你的代码中有大量的长变量/方法/常量名称的时候。

  CTRL-P/CTRL-N可以和下个招数一起协同工作,具体使用和上面章节说的一样

  丰富的ctags

  使用vim的人都知道打开一个远距离目录中的文件是很麻烦的(可以使用:e 来减缓麻烦程度,但是仍然不能瞬间做到)。如果你正好是在一个team中工作,或者在一个大项目中工作,迅速完成这个事情对你的工作来说是至关重要的。

  丰富的ctags会让这个世界变得更好。使用ctags,你可以在优异目录下跑一个命令,生成一个”tags”文件,然后,你就可以使用Ctrl-] 来“跳到” 你鼠标制定的定义(比如说,一个类名)。按CTRL-T回到你之前的位置。

  你可以在git中搭建一个提交后钩子当你提交代码之后会自动生成ctags文件!漂亮。 

  在bash和zsh中CTRL-R

  是否有曾经在终端输入过一个命令,然后当你再次输入前几个字的时候,你会突然发现,你希望有个更简便的方法能自动补充完整个命令,以便你能编辑或者再次运行它?如果是这种情况的话,那么,告诉你个好消息:你可以!只需要按下CTRL+R 然后输入你想要查询的东西。终端将会将你想要的填充进去,如果有多个选择的话,你可以按下反复按下CTRL+R来进行选择。当你发现了你需要的命令,你可以使用通常的操作来操作这个命令(如果你使用标准的bash键绑定的话,你可以使用CTRL+A,CTRL+E,方向键等。)。试试吧!如果你不记得你要ssh的机器,使用这个方法你会感觉到很方便。

  history| grep $COMMAND 对你来说也非常有用的,如果你只是想要查看最近运行的命令的话。

2
相关文章