Vim实战指南(七):编程偏好配置

davv0943 5年前

来自: https://segmentfault.com/a/1190000004535473

Vim实战指南(六):环境偏好配置 中,我们介绍了如何设置环境偏好配置。针对程序编写,vi还有专门的编程偏好配置,如缩进、 ctags 等。

自动缩进

编程自然要打开自动缩进,可以让你在换行的时候拥有和上一行相同的缩进:

:set autoindent

你可以将这条命令保存在你的.exrc文件中。

手动缩进

在编辑模式下,你可以通过Ctrl+T手动增加本行缩进,Ctrl+D手动减少本行缩进。

在命令行模式下,你可以通过>>手动增加本行缩进,<<手动减少本行缩进。

感觉缩进有点大?因为默认的缩进是8个字符,你可以通过下面的配置选择你偏好缩进字符数:

:set shiftwidth=4

这将使你的默认缩进变为4个字符,你同样可以将这条命令保存到你的.exrc文件中。

事实上,vi非常智能,当shiftwidth=8时,vi实际上插入的是tab(因为默认的tab就是8个字符),而当shiftwidth不为8时,vi实际上插入的是空格符。

同样,你也可以将tab设置为4个字符:

:set tabstop=4

不过推荐使用空格而不是tab,为什么呢?试试写写python代码。

括号对的跳转技巧

在编程中,你经常会希望找到括号对,(),{},[],<>等。在命令行模式下,你可以通过使用%键来快速在括号对之间切换。

这里智能的vi也有一个小技巧,事实上你不需要将光标切好移动到括号上,只要在当前行光标位置之前有括号,那么vi将自动跳转过去。

你也可以打开高亮匹配括号对:

:set showmatch

这样当你输入右括号时,光标会暂时跳转到左括号处闪烁。

ctags

编写C/C++时,在多个文件中跟踪变量和函数是不是特别麻烦?Unix提供了ctags工具来帮助跳转。首先需要建立tags文件,在Unix命令行中输入:

$ ctags -R *

将为当前目录下所有文件创造tags,-R是递归的意思。建立好tags文件后,你可以在vi中输入变量名来查找tag,如:

:tag csprojectedu

将查找包含变量名为csprojectedu的文件。你也可以在编辑模式下,在函数或变量上面按下Ctrl+],光标将自动跳转到他们的定义处。

Summary

本文介绍了vi中的编程偏好配置,通过自定义你的编程偏好,能让你节省大量的开发时间!

(本文出自 csprojectedu.com ,转载请注明出处)

</div>