您的位置:首页 > 其它

Vim简单配置

2013-06-05 21:58 190 查看
基本配置

终端运行:

vim ~/.vimrc  


配置内容如下:


set nocp    "设置兼容
set expandtab   "设置tab
set shiftwidth=4    "设置tab的间隔
set tabstop=4   "四个空格代表一个tab
set sts=4
set showmatch   "在输入括号时光标会短暂地跳到与之相匹配的括号处
set autoindent  "设置自动缩进
set number  "设置是否显示行
set guifont=Monospace\ 12  "设置字体大小
set encoding=utf-8  "设置编码为utf-8
set fileencoding=utf-8
set fileencodings=ucs-bom,utf-8,GB18030,cp936,big5,euc-jp,euc-kr,latin1

"自动补全配置
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete

"#######中括号 大括号 小括号 自动补全
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap < <><ESC>i
:inoremap > <c-r>=ClosePair('>')<CR>

function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else

sudo apt-get install exuberant-ctags

return a:char    endif endfunction"#######中括号 大括号 小括号 自动补全


代码自动补全

首先安装ctags

sudo apt-get install exuberant-ctags


在主目录中创建.vim文件夹,然后按创建几个子目录:

cd .vim
mkdir plugin
mkdir doc
mkdir tags


下载omnicppcomplete,点我下载

解压后生产三个文件夹,after, autoload, doc我直接把这三个文件夹放在 .vim这个文件夹下。



还需要下载一个文件,用于生成cpp的索引-libstdc++ 头文件

解压后终端cd到解压后的目录,用ctags生产索引。

ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp .


目录下面会多出一个cpp文件,这就是生成的索引文件。

将cpp文件拷贝进~.vim/tags文件夹中。

最后修改一下~/.vimrc.在最后添加

"-- omnicppcomplete setting --
set tags+=/home/tao/.vim/tags/cpp
set completeopt=menu,menuone
filetype plugin indent on
let OmniCpp_MayCompleteDot = 1 " autocomplete with .
let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype  in popup window
let OmniCpp_GlobalScopeSearch=1
let OmniCpp_DisplayMode=1
let OmniCpp_DefaultNamespaces=["std"]


重启vim,测试一下:



文件浏览器

在进行多文件编辑的时候,如果没有文件浏览功能,不停的切换文件将会非常之蛋疼..

这里要用到的插件是nerdtree,点我下载

解压后将plugin下的.vim和doc下的.txt文件拷贝到~/.vim下的对应目录。

#命令行
cp plugin/NERD_tree.vim ~/.vim/plugin/
cp doc/NERD_tree.txt ~/.vim/doc


打开vim,执行命令:

:NERDTre







关于插件的使用:

进入当前目录的树形界面,通过小键盘上下键,能移动选中的目录或文件


目录前面有+号,摁Enter会展开目录,文件前面是-号,摁Enter会在右侧窗口展现该文件的内容,并光标的焦点focus右侧。



ctr+w+h 光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口。多次摁 ctrl+w,光标自动在左右侧窗口切换



光标focus左侧树形窗口,摁? 弹出NERDTree的帮助,再次摁?关闭帮助显示



输入:q回车,关闭光标所在窗口


这篇文章转载自:http://blog.csdn.net/qp120291570/article/details/8864916
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: