目录
vimrc
文件说明
- 使用
空格键
替换掉原先的 ,
,更方便用。由于 <ESC>
按起来太远,因此将 ii
映射为 <ESC>
。
每次按 :
都要再按一个 shift
,所以直接映射为 ;
,方便使用。
" 修改leader键
let mapleader = "\<space>"
let g:mapleader ="\<space>"
" ii 替换 Esc
inoremap ii <Esc>
" 将 ; 绑定到 : 用于快速进入命令行
nnoremap ; :
- vimrc 文件其实主要是加载了其他的配置文件,其中
.vimrc.local
是用来进行自己根据当前系统配置的符合当前环境的自定义文件 如下:
" ##### 插件配置
if filereadable(expand("$VIM_CONFIG_PATH/vimrc.bundles_base"))
source $VIM_CONFIG_PATH/vimrc.bundles_base
endif
" ##### 基本配置
if filereadable(expand("$VIM_CONFIG_PATH/vimrc.config_base"))
source $VIM_CONFIG_PATH/vimrc.config_base
endif
" ##### 文件类型设置
if filereadable(expand("$VIM_CONFIG_PATH/vimrc.config_filetype"))
source $VIM_CONFIG_PATH/vimrc.config_filetype
endif
" ##### 本地自定义配置
if filereadable(expand("$HOME/.vimrc.local"))
source $HOME/.vimrc.local
endif
" ##### 项目自定义配置
" ##### 如果当前项目文件内有关于 vim 的特殊配置,
if filereadable(expand("$VIM_CONFIG_PATH/vimrc.workspace"))
source $VIM_CONFIG_PATH/vimrc.workspace
endif
- 其中使用了两个环境变量:
-
VIM_CONFIG_PATH
: vim 使用配置文件的目录,为 b-vim/config 所在的绝对路径, 默认是 $HOME
目录;
-
VIM_TMP_PATH
: vim 运行时使用的插件目录等,默认是$HOME/.vim
目录;
- 设置方式在 vim极简完美配置b-vim(一)安装教程及目录说明 中有说明,在
.bashrc
或 .zshrc
(如果使用了 zsh) 里添加:
export VIM_CONFIG_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/config
export VIM_TMP_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/.vim
- 接下来是 vim 的一些特殊文件设置,可有可无,但建议有:
" ##### 各种 vim 文件设置
" 配置了 VIM_TMP_PATH 时才启用下面的
if g:cust_vim_tmp_path is 1
" 备份
set backup
set backupdir=$VIM_TMP_PATH/vimbackup
set viewdir=$VIM_TMP_PATH/vimview
" 备份防相同文件名:
autocmd BufWritePre *
\ let s:cmd = 'echo '. '"' . expand("%:p") . '"|base64' |
\ let s:cmd = substitute(system(s:cmd),"\n","","") |
\ let &bex = '_' . strftime("%Y%m%d") . '_' . s:cmd |
\ exe ":mkview"
" 查找备份的解码, 放在 bash_alias.sh 中
" alias lsvimbak="ls*|rev|cut -d_ -f1 |rev|base64 -D"
" 交换文件
set swapfile
set dir=$VIM_TMP_PATH/vimswap
" undo
if has('persistent_undo')
set undolevels=1000 " How many undos
set undoreload=10000 " number of lines to save for undo
set undofile " So is persistent undo ...
set undodir=$VIM_TMP_PATH/vimundo
endif
endif
目录