有哪些编程必备的 Vim 配置

Python017

有哪些编程必备的 Vim 配置,第1张

我简单说一下常见的编程用的基本配置,这些配置只要写在vim的配置文件中就可以了。

配置文件目录:

在linux下一般用~/.vimrc文件

windows下一般在用户文件夹下的_vimrc文件或vim安装目录下的_vimrc文件。

设置:

"传说中的去掉边框用下边这一句

set go=

"设置配色,这里选择的是desert,也有其他方案,在vim中输入:color 在敲tab键可以查看

color desert

"设置背景色,每种配色有两种方案,一个light、一个dark

set background=light

"打开语法高亮

syntax on

"显示行号

set number

"设置缩进有三个取值cindent(c风格)、smartindent(智能模式,其实不觉得有什么智能)、autoindent(简单的与上一行保持一致)

set cindent

"在windows版本中vim的退格键模式默认与vi兼容,与我们的使用习惯不太符合,下边这条可以改过来

set backspace=indent,eol,start

"用空格键替换制表符

:set expandtab

"制表符占4个空格

set tabstop=4

"默认缩进4个空格大小

set shiftwidth=4

"增量式搜索

set incsearch

"高亮搜索

set hlsearch

"有时中文会显示乱码,用一下几条命令解决

let &termencoding=&encoding

set fileencodings=utf-8,gbk

"很多插件都会要求的配置检测文件类型

:filetype on

:filetype plugin on

:filetype indent on

"下边这个很有用可以根据不同的文件类型执行不同的命令

"例如:如果是c/c++类型

:autocmd FileType c,cpp : set foldmethod=syntax

:autocmd FileType c,cpp :set number

:autocmd FileType c,cpp :set cindent

"例如:如果是python类型

:autocmd FileType python :set number

:autocmd FileType python : set foldmethod=syntax

:autocmd FileType python :set smartindent

以上是简单的几个比较常用的vim配置,用vim来敲程序还要借助于一些插件,比如:

omnicppcomplete c/c++代码补全

taglist 查看函数列表

NERD_Tree 查看文件列表

pydiction python代码补全

vim 自己没有这个功能,所以肯定是插件干的。因此设置 vim 的选项大约也不能干涉插件的行为。

建议您看看 vim-go 的文档,里面对插件的行为有很详细的描述。github 上能搜到,这里给不了连接。

把下面这个加在 .vimrc 末尾

let g:go_fmt_autosave = 0

能避免插件在保存的时候执行额外的格式调整。此选项的默认的值是 1。

但由于我不用 go,所以也不知道这个格式化除了调整空格还调整什么。如果有插件做的其它调整是你需要的,你可能还要详细研究一下怎么配置调整的行为,而不是简单的关闭这个功能。方法是:

let g:go_fmt_options = {...}

上面 ... 的地方,可以写配置格式调整的参数。

插件默认调用的格式化工具是 gofmt,关于它的用法可以百度到少量结果,有些博客对此工具有介绍。由于官网在墙外,更详细的资料可能不太好找。

另外,由于默认的 gofmt 格式是 Go 语言官方推荐的代码风格。您既然也用 go 语言,如果不是公司有内部的格式约定,应该还是逛逛社区看看国内主流意见是什么,为什么一定要用 tab 缩进而不是空格。