.vimrc-server 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. " Customized .vimrc for server
  2. " https://gogs.viktorsvensson.se/viktor/public/raw/master/.vimrc-server
  3. " Set nocompatible to be able to source the file using vim -u
  4. set nocompatible
  5. " Install curl if missing
  6. if !executable("curl")
  7. echo "Installing curl"
  8. silent !apt update && apt -y install curl
  9. echo "Done installing curl"
  10. endif
  11. " Install curl if missing
  12. if !executable("git")
  13. echo "Installing git"
  14. silent !apt update && apt -y install git
  15. echo "Done installing git"
  16. endif
  17. " Plugin manager
  18. if empty(glob('~/.vim/autoload/plug.vim'))
  19. silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
  20. \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  21. autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
  22. endif
  23. " Plugins
  24. call plug#begin('~/.vim/plugged')
  25. Plug 'preservim/nerdtree'
  26. Plug 'tpope/vim-commentary'
  27. call plug#end()
  28. filetype plugin indent on
  29. syntax on
  30. set autoindent
  31. set backspace=2
  32. set background=dark
  33. set cursorcolumn
  34. set cursorline
  35. set expandtab
  36. set history=1000
  37. set hlsearch
  38. set incsearch
  39. set nowrap
  40. set number
  41. set numberwidth=4
  42. set pastetoggle=<F12> "Press <F12> when paste-alot
  43. set preserveindent
  44. set ruler
  45. set shiftround
  46. set shiftwidth=2
  47. set shortmess=atI
  48. set showcmd
  49. set showmatch
  50. set smartindent
  51. set smarttab
  52. set splitright
  53. set tabstop=2
  54. set whichwrap+=<,>,[,],h,l
  55. set undofile
  56. set undodir=~/.vim/undo
  57. if !isdirectory($HOME."/.vim/undo")
  58. call mkdir($HOME."/.vim/undo", "p")
  59. endif
  60. " Close NERDTree on opening file
  61. let NERDTreeQuitOnOpen=1
  62. " Show hidden files
  63. let NERDTreeShowHidden=1
  64. function! NERDTreeToggleCustom()
  65. " If NERDTree is open in the current buffer
  66. if (exists("t:NERDTreeBufName") && bufwinnr(t:NERDTreeBufName) != -1)
  67. exe ":NERDTreeClose"
  68. elseif bufname('%') != ""
  69. exe ":NERDTreeFind"
  70. else
  71. exe ":NERDTreeCWD"
  72. endif
  73. endfunction
  74. " Toggle NERDTree on <space>-o
  75. map <Space>o :call NERDTreeToggleCustom()<CR>