我的vim配置及笔记

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

.vimrc文件中:

"解决中文编码设置
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
set fileformats=unix
set 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 :q
set history=1000
""记录历史的行数
colorscheme koehler
set background=dark
"背景使用黑色
set filetype=c
syntax on
"语法高亮度显示
set autoindent
set smartindent
"上面两行在进行编写代码时,在格式对起上很有用;
"第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
"第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编写上很有用
"第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
set 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的头文件中查找





 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值