vim不完全配置手册
来源:互联网 发布:fifa online3数据 编辑:程序博客网 时间:2024/05/22 15:55
下定决心好好来配置一下 vim.
基本配置
终端运行:
vim ~/.vimrc
配置内容如下:
set nocp "设置兼容set expandtab "设置tabset shiftwidth=4 "设置tab的间隔set tabstop=4 "四个空格代表一个tabset sts=4set showmatch "在输入括号时光标会短暂地跳到与之相匹配的括号处set autoindent "设置自动缩进set number "设置是否显示行set guifont=Monospace\ 12 "设置字体大小 set encoding=utf-8 "设置编码为utf-8set fileencoding=utf-8set 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 return a:char endif endfunction"#######中括号 大括号 小括号 自动补全
代码自动补全
首先安装ctags
sudo apt-get install exuberant-ctags
在主目录中创建.vim文件夹,然后按创建几个子目录:
cd .vimmkdir pluginmkdir docmkdir 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/cppset completeopt=menu,menuonefiletype plugin indent onlet 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 fileslet OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup windowlet OmniCpp_GlobalScopeSearch=1let OmniCpp_DisplayMode=1let 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,执行命令:
:NERDTree
关于插件的使用:
进入当前目录的树形界面,通过小键盘上下键,能移动选中的目录或文件
目录前面有+号,摁Enter会展开目录,文件前面是-号,摁Enter会在右侧窗口展现该文件的内容,并光标的焦点focus右侧。
ctr+w+h 光标focus左侧树形目录,ctrl+w+l 光标focus右侧文件显示窗口。多次摁 ctrl+w,光标自动在左右侧窗口切换
光标focus左侧树形窗口,摁? 弹出NERDTree的帮助,再次摁?关闭帮助显示
输入:q回车,关闭光标所在窗口
- vim不完全配置手册
- asp配置不完全手册
- ASP安全配置不完全手册
- ASP安全配置不完全手册
- vim配置手册
- Vim配置手册
- 上海酒吧不完全手册
- DVDRip论坛不完全手册
- 春节知识不完全手册
- 春节知识不完全手册
- 指针不完全手册
- Fvwm新手入门不完全手册
- Wiki不完全手册[转]
- 不完全音乐风格手册
- Wiki不完全手册
- FVWM新手入门不完全手册
- JIRA不完全手册
- 三极管 MOSFET不完全手册
- MapReduce的模式、算法和用例
- C#重写WebBrowser组件,禁止跳转到IE新窗口、脚本错误
- 提取拼音首字母 在很多软件中,输入拼音的首写字母就可以快速定位到某个词条。
- colorbox学习
- 软件设计模式系列之前言
- vim不完全配置手册
- 正则表达式
- UVA 11076 Add Again(重复元素排列)
- 在Windows CE 6.0中添加对MFC的支持
- Mahout源码目录说明
- JQuery属性过滤器不完整
- Mahout下个性化推荐引擎Taste介绍
- WINCE双缓冲绘图
- Java之常量池