晒下个人vim+tmux

效果

clipboard.png

clipboard.png

clipboard.png

VIM

最开始的想法是最简配置实现最高效的使用。 前几年基本只用了2个插件NERDTree,BufferExplorer。最近以为是时候给它“升级”一下了,但尽可能精简,使用频率不高的功能仍是没有必要经过插件搞。javascript

主要增长:java

  • Vundle。 插件管理。插件一多仍是用她管理方便一些,主要是升级、部署新的开发环境是都更加方便。
  • ack。 一直用rgrep, 可是身边同事都推荐ack, 试了下起码没有比原来差。
  • vim-airline。 多功能statusline,不只漂亮了一点点,还有不少方便的提示,好比git分支、光标所在位置方法名、文件编码、光标位置百分比,末尾空格提示等等。

几个有用的配置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的语法进行高亮显示。
  • 使用airline后,nerdtree不显示工做目录问题。
    ~/.vim/bundle/vim-airline/autoload/airline/extensions.vim:23改成
    'nerdtree': [ '%{exists("b:NERDTreeRoot")?b:NERDTreeRoot.path.str():""}', '' ],让NERDTree的status line继续显示当前工做目录,尤为是有时须要打开多个不一样项目的vim时,这个提示颇有用。

tmux

服务器上保持会话、恢复会话很是好用的工具,其实不少人也用来作终端的窗口管理,并且比起tab来讲操做更舒服一些。配置也能够更自由vim

  • setw -g mode-keys vi tmux中翻页复制时,用vim的快捷键。
  • 打开新的window或者分屏时,当前目录默认为新建window或者分屏前所处的目录。

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的名字。

更多配置

https://github.com/anvyzhang/dotfiles服务器

相关文章
相关标签/搜索