NERDTree以及taglist给我的工作带来很多的便利,在此分享自己的vim配置,希望帮到更多的人!!
在此我再叨叨几句,言简意赅NERDTree是一个能够打开目录树结构的插件,而taglist是一个能够显示当前文件所定义的函数以及宏定义等等的一个插件,依赖与ctags,在安装之前请先安装ctags。
我的电脑环境为ubuntu 14.04.
一.安装ctags:sudo apt-get install ctags
二.安装NERDTree: 下载https://vim.sourceforge.io/scripts/script.php?script_id=273
1.在~/目录下新建mkdir ~/.vim,mkdir ~/.vim/plugin,mkdir ~/.vim/doc,如果有的话更好。
2.解压缩之后,把 plugin/NERD_tree.vim 和doc/NERD_tree.txt分别拷贝到~/.vim/plugin 和 ~/.vim/doc 目录。
三、安装taglist:下载https://vim.sourceforge.io/scripts/script.php?script_id=273
1.解压缩之后,把 plugin/taglist.vim 和doc/taglist.txt分别拷贝到~/.vim/plugin 和 ~/.vim/doc 目录下
四、配置.vimrc,按F3打开目录树,按f4打开taglist
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" Time :2017/10/18
" File name:.vimrc
" The author:pengmao
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" 显示相关
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set nu "在左侧行号
set tabstop=4 "tab 长度设置为 4
set shiftwidth=4
set nobackup "覆盖文件时不备份
set cursorline "突出显示当前行
set ruler "在右下角显示光标位置的状态行
set autoindent "自动缩进
syntax on
set cul "高亮光标所在行
"color desert " 设置背景主题
color ron " 设置背景主题
"color torte " 设置背景主题
set guifont=Courier_New:h5:cANSI " 设置字体
"autocmd InsertLeave * se nocul " 用浅色高亮当前行
autocmd InsertEnter * se cul " 用浅色高亮当前行
set ruler " 显示标尺
set showcmd " 输入的命令显示出来,看的清楚些
set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容
set laststatus=2 " 启动显示状态行(1),总是显示状态行(2)
set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
" 历史记录数
set history=1000
"搜索逐字符高亮
set hlsearch
set incsearch
set mouse=a "鼠标
set ignorecase " 搜索时无视大小写
"以下代码的作用是记忆文件的打开位置
au BufReadPost * if line("'\"") > 0|if line("'\"") <= line("$")|exe("norm '\"")|else|exe "norm $"|endif|endif
"============================================================================================
"
"" 按键映射配置
"============================================================================================
map <F3> :NERDTreeToggle<CR>
"打开目录树
:nmap <silent> <F4> <ESC>:Tlist<RETURN>
"map <F4> :Tlist<CR>
"打开buffer
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"其他东东
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
"默认打开Taglist
let Tlist_Auto_Open=0
""""""""""""""""""""""""""""""
" Tag list (ctags)
""""""""""""""""""""""""""""""""
let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
let Tlist_Show_One_File = 1 "不同时显示多个文件的tag,只显示当前文件的
let Tlist_File_Fold_Auto_Close = 1
let Tlist_Exit_OnlyWindow = 1 "如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1 "在右侧窗口中显示taglist窗口
" minibufexpl插件的一般设置
let g:miniBufExplMapWindowNavVim = 1
let g:miniBufExplMapWindowNavArrows = 1
let g:miniBufExplMapCTabSwitchBufs = 1
let g:miniBufExplModSelTarget = 1
nmap tl :Tlist<cr>