Vim - 常用配置
阿新 • • 發佈:2017-10-28
tab arr 未使用 pre 常用快捷鍵 ren 水平 方法 plugins
基本配置
不用任何插件的情況下,先按如下配置:
set nu
syntax on
set hlsearch
set tabstop=4
set shiftwidth=4
set expandtab
set smartcase
set ic
colorscheme srcery-drk
Vundle
Vundle是Vim的插件管理器,像NeoBundle也是基於Vundle實現。
雖然Vim插件可以獨立安裝,但如果換了臺機器,使用Vundle只需要copy一份.vimrc即可。
安裝方法並不復雜,先clone到~/.vim目錄下:
$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
在~/.vimrc頭部加上以下內容:
set nocompatible filetype off set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() Plugin ‘VundleVim/Vundle.vim‘ Plugin ‘tpope/vim-fugitive‘ Plugin ‘git://git.wincent.com/command-t.git‘ Plugin ‘file:///home/gmarik/path/to/plugin‘ Plugin ‘rstacruz/sparkup‘, {‘rtp‘: ‘vim/‘} call vundle#end() " required filetype plugin indent on " required
保存,在vim裏執行PluginInstall
,等過程執行結束即可。
或者在命令行執行以下命令也是相同的效果:
vim +PluginInstall +qall
查看幫助:
:h vundle
在~/.vimrc聲明插件,例如:
Plugin ‘scrooloose/nerdtree‘
lugin ‘shougo/vimshell.vim‘
基本命令:
" :PluginList - 列出所有插件 " :PluginInstall - 安裝插件 " :PluginInstall! - 更新插件 " :PluginSearch foo - 搜索foo插件 " :PluginClean - 移除未使用插件
NerdTree
目錄樹插件,沒了這個
前提安裝了Vundle,在~/.vimrc聲明了NerdTree:
Plugin ‘scrooloose/nerdtree‘
在vim中執行以下命令即可完成安裝:
:source %
:PluginInstall
我的NerdTree配置如下:
" ============ NERDTree ============
" open NERDTree by default
autocmd vimenter * NERDTree
" synchronize NERDTree with current opened file
autocmd BufEnter * lcd %:p:h
" open NERDTree automatically when vim starts up if no files were specified
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
" open NERDTree automatically when vim starts up on opening a directory
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
" open NERDTree with Ctrl+n
map <C-n> :NERDTreeToggle<CR>
" view the current buffer in NERDTree
map <leader>r :NERDTreeFind<cr>
" close vim if the only window left open is a NERDTree
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
" change arrows
let g:NERDTreeDirArrowExpandable = ‘?‘
let g:NERDTreeDirArrowCollapsible = ‘?‘
" show hidden files by default
let NERDTreeShowHidden=1
NerdTree的常用快捷鍵:
快捷鍵 | 說明 |
---|---|
? |
查看幫助 |
m |
呼出菜單,對當前目錄進行操作 |
r |
刷新目錄 |
F |
顯示、隱藏隱藏文件 |
A |
目錄樹切全屏 |
go |
打開文件,光標停留在目錄樹上 |
i |gi |
水平打開窗口 |
s |gs |
垂直打開窗口 |
ctrl +w +h |j |k |l |
方向鍵選擇窗口 |
ctrl +w +w |
切窗口 |
t |T |
在tab打開窗口 |
gt |gT |
切tab |
如果用git,有個NerdTree的擴展插件,可以在目錄樹中顯示文件的git status。
安裝仍然是通過Vundle,插件聲明如下:
Plugin ‘Xuyuanp/nerdtree-git-plugin‘
TagBar
個人閱讀代碼時,如果IDE打開的是另一個工程,一般不會將工程導入IDE再讀,而是用Vim讀代碼。
只是跳轉到變量或者函數的功能只是通過gD
的話,跳轉的位置並不是很準確。
TagBar可以生成文件中的變量、函數列表。
用Vundle安裝,在~/.vimrc加上以下聲明:
Plugin ‘majutsushi/tagbar‘
保存,執行:PluginsInstall
,等待過程結束。
個人使用的配置如下:
let g:tagbar_width = 30
nmap <F10> :TagbarToggle<CR>
let g:tagbar_autopreview = 1
let g:tagbar_sort = 0
source配置文件後,重新進入vim,按下F10
呼出TagBar。
macOS可能出現以下提示:
Tagbar: Ctags doesn‘t seem to be Exuberant Ctags!
TagBar依賴Exuberant Ctags 5.5,這種情況brew install ctags
後重新進入vim即可。
Vim - 常用配置