vim是从 vi 发展出来的一个文本编辑器。功能丰富,在程序员中被广泛使用,而且可以根据自己需要对其进行配置,下面我们来介绍一些vim的基本配置。
vim的系统自动的配置文件在/etc/vimrc
下,如果你不想对系统自带配置造成污染,你可以在当前用户的家目录下写一个.vimrc文件
vim ~/.vimrc
特点:不会对系统自带配置造成污染,只在当前用户下有效。
1、括号自动补全
inoremap ( ()<LEFT>
inoremap { {}<LEFT>
inoremap [ []<LEFT>
以上三行代码即可实现括号自动匹配,如果你还是觉得它不够智能,每次在使用“{}”时候还需要使用方向键来控制光标,那么下面这段复杂一点的代码一定让你满足:
inoremap ( ()<Esc>i
inoremap [ []<Esc>i
inoremap { {<CR>}<Esc>O
autocmd Syntax html,vim inoremap < <lt>><Esc>i| inoremap > <c-r>=ClosePair('>')<CR>
inoremap ) <c-r>=ClosePair(')')<CR>
inoremap ] <c-r>=ClosePair(']')<CR>
inoremap } <c-r>=CloseBracket()<CR>
inoremap " <c-r>=QuoteDelim('"')<CR>
inoremap ' <c-r>=QuoteDelim("'")<CR>
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
function CloseBracket()
if match(getline(line('.') + 1), '\s*}') < 0
return "\<CR>}"
else
return "\<Esc>j0f}a"
endif
endf
function QuoteDelim(char)
let line = getline('.')
let col = col('.')
if line[col - 2] == "\\"
return a:char
elseif line[col - 1] == a:char
return "\<Right>"
else
return a:char.a:char."\<Esc>i"
endif
endf
2、自动缩进
filetype indent on
autocmd FileType * setlocal ts=4 sts=4 sw=4 ai et nu
autocmd Filetype make setlocal ts=4 sts=4 sw=4 noet n
下面对这三行代码进行剖析一下
" 针对不同的文件,采用不同的缩进方式"
filetype indent on
"设置tab宽度"
set tabstop=4
" 按退格键时可以一次删除4个空格"
set softtabstop=4
" 设置自动对齐空格数"
set shiftwidth=4
" 自动缩进,即为新行自动添加与当前行同等的缩进。"
set autoindent
" 编辑的时候将所有的tab设置为空格(expandtab)"
set et
" 显示行号"
set number
autocmd FileType * setlocal ts=4 sts=4 sw=4 ai et nu
"noet不将输入的TAB自动展开成空格"
autocmd Filetype make setlocal ts=4 sts=4 sw=4 noet n
3、中文帮助手册的安装
安装方法:
在下面的网站下载中文帮助的文件包:
http://vimcdoc.sf.net (English)
http://vcd.gro.clinux.org (中文)
下载的文件包应该是类似这样的: vimcdoc-1.5.0.tar.gz
解压(tar -zxvf vimcdoc-1.5.0.tar.gz)后其中有个doc文件夹, 将其中的内容全部复制到~/.vim/doc(如果没有该目录可以mkdir一个,把文档拷到家目录下,只对当前用户有效), 或者vim安装目录下的doc目录中, 此时vim中的help信息已经是中文的了.
注意:
a. 如果无法显示中文, 在~/.vimrc中增加下面这句试试:
set helplang=cn
b. 帮助文件的文本是utf-8编码的, 如果想用vim直接查看, 需要在~/.vimrc中设置:
set encoding=utf-8
4、下载安装Ctags
在这个网站: http://ctags.sourceforge.net, 下载一个类似 ctags-5.8.tar.gz 的文件下来,可使用rz命令(如果没有安装包lrzsz使用yum install lrzsz进行安装)把ctags-5.8.tar.gz传到Linux系统下,使用命令
tar -zxvf ctags-5.8.tar.gz //解压
cd ctags-5.8 //进入目录
./configure //执行可执行程序,自动生成Makefile文件
make
make install
如此就实现了ctags的安装,在一个工程的目录文件夹中使用命令
ctags -R
将当前目录下的函数递归生成了tags文件,该目录下的.c或者.h文件使用
Ctrl ] //可以使光标所在位置函数跳转到函数定义处
5、下载安装Tlist:https://www.vim.org/scripts/script.php?script_id=273
解压到~/.vim目录下:
进入家目录下的.vim.rc文件
加入如下设置
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
6、文件浏览器和窗口管理器 – 插件: WinManager
https://www.vim.org/scripts/script.php?script_id=95
在 ~/.vim 目录下解压winmanager.zip
在~/.vimrc中加入
let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>
在重启动vim之后,在普通模式下,wm显示如下界面