我的vim配置及笔记

来源:互联网 发布:公司商标起名软件 编辑:程序博客网 时间:2024/04/30 14:32

此文章为个人笔记,因此排版比较乱

.vimrc文件中:

"解决中文编码设置set fileencodings=utf-8,gb2312,gbk,gb18030set termencoding=utf-8set fileformats=unixset encoding=prc"设置tags的路径"set tags=~/.vim/std_tags;"基本配置set wildmenu"增强模式中的命令行自动完成操作set foldmethod=manual"设定折叠方式为手动set helplang=cn"设置帮助的语言为中文set cin    "实现C程序的缩进set sw=4   "设计(自动) 缩进使用4个空格set sta    "插入时使用'shiftwidth'set backspace=2"指明在插入模式下可以使用删除光标前面的字符syntax enable"设置高亮关键字显示set nocompatible"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限set number"显示行号filetype plugin indent on"检测文件的类型"map :qset history=1000""记录历史的行数colorscheme koehlerset background=dark"背景使用黑色set filetype=csyntax on"语法高亮度显示set autoindentset smartindent"上面两行在进行编写代码时,在格式对起上很有用;"第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;"第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编写上很有用"第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格set tabstop=4set shiftwidth=4set showmatch"设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号set ruler"在编辑过程中,在右下角显示光标位置的状态行set incsearch"查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一"个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依"次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词"时,别忘记回车。"set enc=chinese "设置编码为中文set winaltkeys=no"Alt组合键不映射到菜单上set autowrite "taglist设置" 如果 taglist 窗口是最后一个窗口,则退出 vim let Tlist_Exit_OnlyWindow=1 "stToggle默认打开,此处暂时不打开,让winmanager插件来打开"let Tlist_Auto_Open=1"显示taglist菜单let Tlist_Show_Menu=1 "Omni设置"-- omnicppcomplete setting -- set completeopt=menu,menuone 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 "winmanager设置let g:winManagerWindowLayout = "NERDTree|TagList"       "设置winmanager的宽度,默认为25   let g:winManagerWidth = 30        "定义打开关闭winmanager按键   nmap <silent> <F8> :WMToggle<cr>"自动打开let g:AutoOpenWinManager = 1

 

vim安装过程:
--enable-multibyte

./configure  --prefix=/home/jaxonxu/vim73 --enable-multibyte

make

make install

 

Ctags:标签,自动补充和跳转定义的基础命令

Taglist:列表插件

Omni:C++自动补全插件

安装教程: Vim+Taglist+Ctags安装  

让Vim(gvim)支持C++STL库的自动补全

打造自己的vim界面--用winmanager合并显示NERDTree和TagList

在ArchLinux中可以用yaourt命令安装,免去配置的烦恼。


Taglist手动设置问题:(如果本来能用就不需要设置)

其中:let Tlist_Ctags_Cmd="/usr/bin/ctags"ctags中的路径有可能不一样,具体可以用 which 命令查看:

root@jiaxiongxu-ThinkPad-X200:~# which ctags/usr/bin/ctags
查到哪个路径就填哪个路径。


Ctags自动提示的使用过程:

1、用ctags命令分析头文件源文件,从而生产对用的标签文件tags。

2、在vimrc里设置标签文件的引用路径。(方法见下文)

vim就能根据tags文件去自动补全和跳转定义。


在.vimrc文件中设置tags文件的路径:(根据实际的路径修改)

set tags=~/.vim/sys_tags;

注意要识别某个头文件里面的定义,先得用ctags命令对头文件进行解释从而生成对应的tags文件,上面的sys_tags就是对系统库头文件用ctags命令生成的,命令如下:

ctags -R --c-kinds=+p --fields=+S

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/cpp_src



ctags的常用命令:

ctrl+]     跳转到定义,有多个定义时默认跳转到第一个g+]        跳转定义列表,适合有多个定义时用ctrl+W+]   分割屏跳转定义ctrl+W W   两个分割屏中跳转ctrl+T        返回到上一层ctrl+P     自动补充Ctrl+O  跳回原文件当搜索到多个定义的时候输入命令:tnext    跳转到下一个定义:tselect  选择跳到某个定义其它命令:tag [某函数变量名的一部份]   模糊查找函数、变量:ptag [某函数变量名]   分割屏列出定义:pclose    关闭分割屏:psearch [某函数变量名]   在#include的头文件中查找