init.vim 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. silent! call plug#begin()
  2. Plug 'dzpao/vim-mbs'
  3. Plug 'morhetz/gruvbox'
  4. Plug 'yegappan/mru'
  5. Plug 'jlanzarotta/BufExplorer'
  6. call plug#end()
  7. " 不兼容 vi
  8. set nocompatible
  9. " 用空格代替 TAB
  10. set expandtab
  11. " 整体左移或者右移时,每次 4 个空格
  12. set shiftwidth=4
  13. " TAB 键按 4 空格对齐
  14. set tabstop=4
  15. set softtabstop=4
  16. set smarttab
  17. " 开启智能缩进
  18. set smartindent
  19. " 开启宽字符显示
  20. set ambiwidth=double
  21. " 智能缩进开启时,不让 # 删除自动缩进。
  22. inoremap # X#<LEFT><C-H><RIGHT>
  23. " 开启真彩色
  24. set termguicolors
  25. " 开启真彩色配色方案
  26. colorscheme gruvbox
  27. highlight Normal guibg=#1d2021
  28. " 显示行号
  29. set number
  30. " 显示相对行号
  31. set relativenumber
  32. " 显示光棒
  33. set cursorline
  34. " 80 列高亮,提醒边界线
  35. set colorcolumn=80
  36. " 文件写入成功后,不保留备份文件
  37. set nobackup
  38. " 直接写原文件,不先建立备份
  39. set nowritebackup
  40. " 不要交换文件
  41. set noswapfile
  42. " 开启鼠标支持
  43. set mouse=nvi
  44. " 开启自动缩进
  45. set cindent
  46. " 自动识别文件编码
  47. set fileencodings=utf8,gbk
  48. " 始终用 utf8 显示
  49. set encoding=utf8
  50. " 开启 modeline 支持
  51. set modeline
  52. " 打通系统剪切板
  53. set clipboard=unnamedplus
  54. " F 开启 Buffer Explorer
  55. nmap F :BufExplorer<CR>
  56. nnoremap <silent> ,F F
  57. nnoremap <silent> ,f F
  58. autocmd BufEnter \[BufExplorer\] nmap <buffer><silent> F q
  59. " M 开启/关闭 MRU
  60. nmap <silent> M :MRU<CR>
  61. nnoremap <silent> ,M M
  62. autocmd BufEnter __MRU_Files__ nnoremap <buffer><silent> M :q<CR>
  63. autocmd BufEnter -RecentFiles- nnoremap <buffer><silent> M :q<CR>
  64. nmap <C-N> gt
  65. nmap <C-P> gT
  66. function! SwitchWindowOrTmuxPane()
  67. if winnr('$') > 1
  68. execute "normal! \<C-w>w"
  69. else
  70. silent !tmux select-pane -t :.+
  71. endif
  72. endfunction
  73. nnoremap <silent> <Tab> :call SwitchWindowOrTmuxPane()<CR>