VIM基本配置
2017-02-15 19:48
330 查看
let NERDTreeWinPos='left' let NERDTreeWinSize=30 map <F2> :NERDTreeToggle<CR> "nmap <Leader>tb :TagbarToggle<CR> "快捷键设置 let g:tagbar_ctags_bin='ctags' "ctags程序的路径 let g:tagbar_width=30 "窗口宽度的设置 map <F3> :Tagbar<CR> "autocmd BufReadPost *.cpp,*.c,*.h,*.hpp,*.cc,*.cxx call tagbar#autoopen() "如果是c语言的程序的话,tagbar自动开启 set nocompatible " 不兼容vi模式, 关掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 set fileformats=unix " 设置文件格式 set history=500 " 历史记录数, 针对Mru插件显示最近100条打开的文件 set nobackup " 禁止生成临时文件 set confirm " 在处理未保护或只读文件的时候,弹出确认 set nowritebackup " 不写入备份文件" set pumheight=30 " 智能提示框层的高度 "set laststatus=2 " 启动显示状态行(1),总是显示状态行(2) set autoread " 当文件内容被其他编辑器改变时自动加载 set noswapfile " 不要生成swap文件, 简写 set nowb set wildignore=.svn,.git,*.swp,*.bak,*~,*.o,*.a,*.pyc " 用于目录插件NERD_tree上,打开目录忽略这些文件 set backspace=eol,start,indent " 插入模式下允许回格键删除字符, win下有用 set list "开启tab space显示 set listchars=tab:»\ ,extends:›,precedes:‹,nbsp:·,trail:· "tab 和 space 显示 set tabstop=4 " Tab键的宽度, 4个空格 set shiftwidth=4 " 设定 << 和 >> 命令移动时的宽度为 4 set softtabstop=4 " 统一缩进为4, 用4个空格代替1个tab let Tlist_Sort_Type = "name" let Tlist_Use_Right_Window = 1 let Tlist_Compart_Format = 1 let Tlist_Exist_OnlyWindow = 1 let Tlist_File_Fold_Auto_Close = 0 let Tlist_Enable_Fold_Column = 0 set selection=exclusive set selectmode=mouse,key autocmd InsertLeave * se nocul autocmd InsertEnter * se cul " 显示 {{{ "set modeline "set t_ti= t_te= " 设置 退出vim后,内容显示在终端屏幕, 可以用于查看和复制, 不需要可以去掉 set shortmess=atI " 启动的时候不显示那个援助索马里儿童的提示 set showcmd " 输入的命令显示出来,看的清楚些 ,win有用 "set ruler " 显示标尺 set number " 显示行号 set numberwidth=3 " 行号宽度 set showmode " 左下角显示当前vim模式 "set mouse-=a " 充许使用鼠标, 值对win有用 set mousehide " 隐藏鼠标,当是文本的处于编辑的时候, win有用 set nowrap " 取消换行 "set wrap " wrap(弯曲),允许backspace和光标键跨越行边界(不建议), 自动换行, 可以按backspace可以自动到头了可以换行 set scrolloff=7 " 在上下移动光标时,光标的上方或下方至少会保留显示的行数 set hidden " 切换文件不保存,隐藏 牛逼没搞清楚, enable multiple modified buffers set magic " 选择括号自动匹对闭合的括号 "set showtabline=2 " 显示tab显示框,默认也是开的 setlocal cursorline " 高亮当前行 "setlocal cursorcolumn " 高亮当前列 " }}} " 代码折叠 {{{ set nofoldenable " 折叠方法 " manual 手工折叠 " indent 使用缩进表示折叠 " expr 使用表达式定义折叠 " syntax 使用语法定义折叠 " diff 对没有更改的文本进行折叠 " marker 使用标记进行折叠, 默认标记是 {{{ 和 }}} set foldmethod=indent set foldcolumn=0 set foldlevel=0 " 代码折叠自定义快捷键 <leader>zz let g:FoldMethod = 1 map <leader>zz :call ToggleFold()<cr> fun! ToggleFold() if g:FoldMethod == 0 exe "normal! zM" let g:FoldMethod = 1 else exe "normal! zR" let g:FoldMethod = 0 endif endfun " }}} " 分屏窗口移动, Smart way to move between windows nmap <C-H> <C-W>h nmap <C-J> <C-W>j nmap <C-K> <C-W>k nmap <C-L> <C-W>l