基本配置
在~/.vimrc
中添加:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
syntax on
let mapleader=","
set nu set ruler set cursorline set cursorcolumn
set autoindent set smartindent
set showmatch set incsearch set hlsearch
set tabstop=4 set softtabstop=4 set shiftwidth=4 set expandtab
set list set listchars=tab:>-,trail:-
colorscheme desert
set cc=+1,+2,+3 hi ColorColumn ctermbg=lightgrey guibg=lightgrey set textwidth=80
set laststatus=2 set statusline=%<%1*\ %f%m%r%h%w\ %= set statusline+=%2*\ %y\ %* set statusline+=%3*\ %{&ff}\ \|\ %{\"\".(&fenc==\"\"?&enc:&fenc).((exists(\"+bomb\")\ &&\ &bomb)?\",B\":\"\").\"\ \|\"}\ %-14.(%l:%c%V%)%* "文件格式|文件编码|当前光标所处行列 set statusline+=%4*\ %-5.(%p%%%)%*
hi User1 cterm=None ctermfg=251 ctermbg=240 hi User2 cterm=None ctermfg=183 ctermbg=239 hi User3 cterm=None ctermfg=208 ctermbg=238 hi User4 cterm=None ctermfg=246 ctermbg=237
|
代码折叠
在~/.vimrc
中添加配置:
1 2
| set foldenable set foldmethod=indent
|
在vim中执行命令查看手册:
常用命令:
- za 打开或关闭光标所在折叠(一层)
- zA 打开或关闭光标所在折叠(所有)
- [z 移动到当前折叠开始处
- ]z 移动到当前折叠结尾处
- zj 移动到下一个折叠开始处
- zk 移动到上一个折叠开始处
Vundle插件管理工具
下载Vundle:
1
| git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
|
在~/.vimrc
中添加:
1 2 3 4 5 6 7 8 9 10
| set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin 'VundleVim/Vundle.vim'
call vundle#end() filetype plugin on
|
以后安装插件,先在~/.vimrc
中Plugins
后面添加:
1
| Plugin 'scrooloose/nerdtree'
|
再在vim中执行:
文件类型扩展配置
可以通过单独的配置文件来修改指定类型文件的vim配置,如不同的缩进、代码宽度、插件命令等。
如果安装了Vundle,那么在安装过程中已经开启了文件类型扩展配置,可以直接使用。
如果没有安装Vundle,可以在~/.vimrc
中添加:
1 2
| filetype off filetype plugin on
|
配置完成后,创建文件夹~/.vim/ftplugin
,然后在文件夹中添加以文件类型命名的配置文件即可自动加载,如~/.vim/ftplugin/javascript.vim
。
NERDTree左侧菜单插件
NERDTree是一款实现了左侧导航菜单的插件。
这里提供使用Vundle安装的方法。
在~/.vimrc
中,Plugins
的位置,添加:
1
| Plugin 'scrooloose/nerdtree'
|
然后在vim中执行:
在~/.vimrc
中添加相关配置:
1 2 3 4 5
| autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif map <C-n> :NERDTreeToggle<CR> autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
|
上面的配置实现了三个功能:
- 使用CTRL+n可以开启或关闭左侧导航栏
- 如果当前打开的文件是文件夹,则自动开启左侧导航栏,否则默认不开启
- 当关闭文件时,只剩下导航栏窗口,则自动关闭窗口,退出vim