最开始的想法是最简配置实现最高效的使用。 前几年基本只用了2个插件NERDTree
,BufferExplorer
。最近以为是时候给它“升级”一下了,但尽可能精简,使用频率不高的功能仍是没有必要经过插件搞。javascript
主要增长:java
几个有用的配置git
set list listchars=tab:→\ ,trail:·
显示空格和tab。set hlsearch incsearch smartcase ignorecase
搜索加强,忽略大小写匹配,从同事在服务器上的配置学到的。cmap w!! w !sudo tee % > /dev/null
总是忘记sudo vim
又记不住tee怎么用,保存没有写权限的文件,干脆写到vim配置得了。github
ctrlp搜索太慢,这样忽略掉不须要的目录和权限便可。json
let g:ctrlp_custom_ignore = { \ 'dir': 'vendor/bundle/*\|vendor/cache/*\|public\|spec', \ 'file': '\v\.(exe|so|dll|swp|log|jpg|png|json)$', \ }
autocmd FileType go,c,java,sh set ts=4 sw=4 sts=4 et
c,java 等代码用4个空格缩进。autocmd BufNewFile,BufRead *.json set filetype=javascript
打开json时,用javascript的语法进行高亮显示。~/.vim/bundle/vim-airline/autoload/airline/extensions.vim:23
改成'nerdtree': [ '%{exists("b:NERDTreeRoot")?b:NERDTreeRoot.path.str():""}', '' ],
让NERDTree的status line继续显示当前工做目录,尤为是有时须要打开多个不一样项目的vim时,这个提示颇有用。服务器上保持会话、恢复会话很是好用的工具,其实不少人也用来作终端的窗口管理,并且比起tab来讲操做更舒服一些。配置也能够更自由vim
setw -g mode-keys vi
tmux中翻页复制时,用vim的快捷键。
bind s split-window -h -c "#{pane_current_path}" bind v split-window -v -c "#{pane_current_path}" bind-key c new-window -c "#{pane_current_path}"
set -g base-index 1
若是以为tmux状态栏的名字从0编号不习惯的话能够设置从1开始。set -g history-limit 5000
跟终端的历史行数一个意思,设置大一些方便回查。bind-key a send-prefix
默认状况终端都是emacs快捷键,好比ctrl r
找历史操做命令、ctrl p
上一条命令、ctrl n
下一条命令、ctrl e
光标到行尾、ctrl a
到行首,可是若是tmux的prefix是C-a
的话,这条配置能够经过ctrl+a a
移动光标到行首。set -g status-justify centre
状态栏中间显示window的名字。