Vim - 常用配置

基本配置

不用任何插件的情况下,先按如下配置:

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 'rstacruz/sparkup', {'rtp': 'vim/'}

call vundle#end()            " required
filetype plugin indent on    " required

保存,在vim里执行PluginInstall,等过程执行结束即可。

 

或者在命令行执行以下命令也是相同的效果:

vim +PluginInstall +qall

 

查看帮助:

:h vundle

 

在~/.vimrc声明插件,例如:

Plugin 'scrooloose/nerdtree'
Plugin '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即可。

 

转载于:https://www.cnblogs.com/kavlez/p/vimrc-tips.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值