曬下個人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服務器

相關文章
相關標籤/搜索