general.vim 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. set nocompatible
  2. filetype indent plugin on
  3. set updatetime=100
  4. set cursorline
  5. set hidden
  6. set wildmenu
  7. set showcmd
  8. set hlsearch
  9. set incsearch
  10. set ignorecase
  11. set smartcase
  12. set backspace=indent,eol,start
  13. set lazyredraw
  14. set autoindent
  15. set nostartofline
  16. set ruler
  17. set cmdheight=1
  18. set laststatus=2
  19. set so=2
  20. set confirm
  21. set mouse=a
  22. set number
  23. set hid
  24. set notimeout ttimeout ttimeoutlen=200
  25. set nowrap
  26. set t_Co=256
  27. " No annoying sound on errors
  28. set noerrorbells
  29. set novisualbell
  30. set t_vb=
  31. set tm=500
  32. set encoding=utf8
  33. " Turn backup off
  34. set nobackup
  35. set nowb
  36. set noswapfile
  37. " Indentation
  38. set expandtab
  39. set smarttab
  40. set shiftwidth=2
  41. set softtabstop=2
  42. set tabstop=2
  43. set rtp+=/usr/local/opt/fzf
  44. " Remap yank & paste
  45. vnoremap <C-c> "+y
  46. map <C-p> "+P
  47. " Yank to end of line
  48. nnoremap Y yg_
  49. " Center next search results
  50. " cspell:disable
  51. nnoremap n nzzzv
  52. nnoremap N Nzzzv
  53. " cspell:enable
  54. " Better J cursor position
  55. nnoremap J mzJ`z
  56. " Undo break points
  57. inoremap , ,<c-g>u
  58. inoremap { {<c-g>u
  59. inoremap } }<c-g>u
  60. inoremap [ [<c-g>u
  61. inoremap ] ]<c-g>u
  62. inoremap ( (<c-g>u
  63. inoremap ) )<c-g>u
  64. " Jumplist mutation
  65. nnoremap <expr> k (v:count > 5 ? "m'" . v:count : "") . 'k'
  66. nnoremap <expr> j (v:count > 5 ? "m'" . v:count : "") . 'j'
  67. " Moving text
  68. vnoremap J :m '>+1<CR>gv=gv
  69. vnoremap K :m '<-2<CR>gv=gv