在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1、安装 c++ 的 man 文档(此不是VIM插件) 从 http://gcc.gnu.org/mirrors.html 的其中一个镜像站中,下载最新的 libstdc++/doxygen/libstdc++-man-xxxxxx.tar.bz2
然后放到Linux目录下,把里面的 man3 文件夹中的文件全部解压到 /usr/share/man/man3 目录下。
这样就可以使用:man std::string 这样的命令去查看帮助了。
2、配置文件位置:
/etc/vimrc 文件是整个系统的VIM配置文件,用户配置文件是 $HOME/.vimrc (可以在$HOME目录下,执行 ls -a 来查看,默认没有,可以创建一个)。
3、插件存放位置:
系统位置在vim安装目录,一般是 /usr/share/vim/vim70/ ,用户的位于 $HOME/.vim/ (如果不存在,可新建该目录即可),一般插件都放于后面那个目录里才能起作用。(比如 omnicppcomplete )
4、VIM配置文件
"设置编码 if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=utf-8,latin1 endif "去掉vi一致性 set nocompatible "set nocp "配色方案选择,所有配色方案文件在 /usr/share/vim/vim70/colors 目录下 "colorscheme default colorscheme desert "让backspace回退键可用 set backspace=indent,eol,start "语法高亮显示 syntax on "syntax enable "把当前行的对齐格式应用到下一行 set autoindent "开启智能缩进,比如使用左大括号后回车会缩进 set smartindent "自动缩进长度,包括<< 与 >> 命令移动的长度 set shiftwidth=4 "se sw=4 "TAB长度 set tabstop=4 "显示行号 set nu "显示匹配,即输入一个右括号时,光标会迅速匹配一下左括号 "set showmatch "在编辑过程中,在右下角显示光标位置的状态行 set ruler "修改一个文件后,自动进行备份,备份的文件名为原文件名加“~“后缀 "set nobackup "set backup "解决复制后格式乱的问题,但该命令不建议写到配置文件里,因为它会取消自动缩进 "可以在粘贴时先 :set paste 粘贴完之后 :set nopaste "set paste "设置手动折叠 "set foldmethod=manual "打开文件类型自动检测功能 filetype on "设置vim记录的历史数,即输入:命令,按上方向键保存的命令数 set history=10 "搜索时忽略大小写 set ignorecase "设置一键编译 map <F6> :make<CR> "开启高亮显示查找结果 set hlsearch "搜索到文件两端时不重新搜索 set nowrapscan "突出显示当前行,即在当前行下面加下划线 "set cursorline "命令行的高度,默认为1 set cmdheight=1 "为特定的文件类型允许插件文件的载入, "如OmniCppComplete等插件,就必须开启此功能 filetype plugin on "设置 tags 的路径 set tags+=tags set tags+=/usr/share/vim/vim70/tags/libc.tags set tags+=/usr/share/vim/vim70/tags/susv2.tags set tags+=/usr/share/vim/vim70/tags/glib.tags set tags+=/usr/share/vim/vim70/tags/cpp.tags "OmniCppComplete 插件设置 let OmniCpp_NamespaceSearch = 1 let OmniCpp_GlobalScopeSearch = 1 let OmniCpp_ShowAccess = 1 let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters let OmniCpp_MayCompleteDot = 1 " autocomplete after . let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> let OmniCpp_MayCompleteScope = 1 " autocomplete after :: let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
如果用VIM打开文件有中文乱码,可以在配置文件中加上如下: set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8
5、OmniCppComplete补全插件 很多年没更新了,最新版本是2007年的,下载地址是 http://www.vim.org/scripts/script.php?script_id=1520 ,不过仍然还是很好用的。 下载之后,放到 $HOME/.vim/目录下解压即可。然后在VIM配置文件里进行配置,配置见第4条。 该插件是利用 tags 来补全的,所以要先生成 tags 文件,并在配置文件里添加该文件路径。 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
http://www.cnblogs.com/Jiajun/p/3307979.html 下载地址:http://www.vim.org/scripts/script.php?script_id=3302 下载后将执行下面的语句即可完成安装: vim clang_complete.vmb -c 'so %' -c 'q' 或者直接把下载的 clang_complete.vmb 复制到家目录下.vim/plugin 下 这时候编写一般的C++代码应该有智能提示了 ,不过对于C++11相关的代码却没有,比如智能指针,这时编辑 /etc/vimrc 文件,加上: let g:clang_complete_copen=1 老实说,前面我都不知道什么意思,最后一句作用很大,引入c++11,和自己指定的头文件目录(如果出现找不到的话) 参考:http://www.cnblogs.com/egmkang/archive/2011/02/20/clang_complete.html
二、配置VIM语法文件: VIM语法文件一般位于(如vim72):/usr/share/vim/vim72/syntax/ 文件夹下,如 c.vim、cpp.vim 等,也可以在家目录下新建 ~/.vim/syntax/c.vim 等。 1、添加自定义关键字,如自定义的类: " User Defined DataType syn keyword cType User Room Game user_ptr 2、添加函数
3、添加操作符
"======================================================== " Highlight All Function "======================================================== syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^()]*)("me=e-2 syn match cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>/s*("me=e-1 hi cFunction gui=NONE guifg=#B5A1FF "======================================================== " Highlight All Math Operator "======================================================== "C math operators syn match cMathOperator display "[-+/*/%=]" " C pointer operators syn match cPointerOperator display "->/|/." " C logical operators - boolean results syn match cLogicalOperator display "[!<>]=/=" syn match cLogicalOperator display "==" " C bit operators syn match cBinaryOperator display "/(&/||/|/^/|<</|>>/)=/=" "syn match cBinaryOperator display "/~" "syn match cBinaryOperatorError display "/~=" " More C logical operators - highlight in preference to binary syn match cLogicalOperator display "&&/|||" syn match cLogicalOperatorError display "/(&&/|||/)=" " Math Operator hi cMathOperator guifg=#3EFFE2 hi cPointerOperator guifg=#3EFFE2 hi cLogicalOperator guifg=#3EFFE2 hi cBinaryOperator guifg=#3EFFE2 hi cBinaryOperatorError guifg=#3EFFE2 hi cLogicalOperator guifg=#3EFFE2 hi cLogicalOperatorError guifg=#3EFFE2 "======================================================== " My Own DataType "======================================================== syn keyword cType User Room Game
在 cpp.vim 中如下设置颜色: hi cPointerOperator guifg=#3EFFE2 ctermfg=132
其中,guifg 表示GUI的前景色,ctermfg表示彩色终端前景色。(相应的还有guibg,ctermbg,还有设置属性的如 gui 和 cterm ,其值可以为 bold,underline 。 export TERM=xterm-256color 设置终端使用256色. 从 http://www.vim.org/scripts/script.php?script_id=3412 下载 xterm-color-table.vim.tar.gz 然后解压后,把 plugin/xterm-color-table.vim 放到 vim 的插件目录,然后在VIM里执行 :XtermColorTable 即可显示下面图片:
光标在一个单词上,按 gd ,会高亮显示此文件中所有此单词,并跳到定义处;按 * 键会跳到下一个;按 # 键会跳到上一个。
http://blog.csdn.net/fbfsber008/article/details/7055842
ctags: Ctrl + ] 跳转到定义处,Ctrl + T 回到上一个跳转处。 ctags --exclude=include/boost -R --c++-kinds=+px --fields=+iaS --extra=+q .
注意:--exclude=include/boost 一定要在 -R * 之前
每个参数解释如下: -R:ctags循环生成子目录的tags --c++-kinds=+px :ctags记录c++文件中的函数声明和各种外部和前向声明 --fields=+iaS :ctags要求描述的信息,其中i表示如果有继承,则标识出父类;a表示如果元素是类成员的话,要标明其调用权限(即是public还是private);S表示如果是函数,则标识函数的signature。 --extra=+q:强制要求ctags做如下操作—如果某个语法元素是类的一个成员,ctags默认会给其记录一行,可以要求ctags对同一个语法元素再记一行,这样可以保证在VIM中多个同名函数可以通过路径不同来区分。
参考:http://www.vimer.cn/2009/10/%E5%9C%A8vim%E4%B8%AD%E4%BD%BF%E7%94%A8ctags.html
VIM同时编辑多个文件: http://blog.sina.com.cn/s/blog_6c9d65a10100nj76.html |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论