.vimrc 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. " Make Vim no Vi-compatible
  2. set nocompatible
  3. " Enable syntax highlighting on a dark background
  4. syntax on
  5. set background=dark
  6. " Alignment
  7. match ColorColumn "\%81v."
  8. " Indentation/Tab
  9. set autoindent
  10. set expandtab
  11. set shiftwidth=4
  12. set tabstop=4
  13. " Incremental and highlight search
  14. set incsearch
  15. set hlsearch
  16. " Allow buffers to be hidden
  17. set hidden
  18. " Default history value is 20
  19. set history=100
  20. " Press F12 before pasting text to avoid crazy indentation
  21. set pastetoggle=<F12>
  22. " Show matching brackets.
  23. set showmatch
  24. " Always show status bar
  25. set laststatus=2
  26. set statusline=%<\ %{expand('%:h')}/%t%m%r%=%-14.(%l,%c%V%)\ %p%%
  27. "set statusline=%<\ %F%m%r%=%-14.(%l,%c%V%)\ %p%%
  28. " Enable wildmenu
  29. set wildmenu
  30. set wildignore+=*.o,*.x
  31. set wildignore+=*.swp,*.bak
  32. set wildignorecase
  33. set wildmode=full
  34. " Set backup
  35. if has("vms")
  36. set nobackup
  37. else
  38. set backup
  39. set backupdir=~/.vim/backup
  40. set directory=~/.vim/swap
  41. endif
  42. " Jump to the last position when reopening a file
  43. if has("autocmd")
  44. au BufReadPost *
  45. \ if line("'\"") > 1 && line("'\"") <= line("$") |
  46. \ exe "normal! g'\"" |
  47. \ endif
  48. endif
  49. " Load personal colorscheme
  50. colo tshdarkbg
  51. " Key mapping
  52. let mapleader = ";"
  53. inoremap <C-a> <Home>
  54. inoremap <C-e> <End>
  55. cnoremap <C-a> <Home>
  56. cnoremap <C-e> <End>
  57. nnoremap <Leader>b :buffer *
  58. nnoremap <Leader>l :ls<CR>
  59. nnoremap <S-k> :bn<CR>
  60. nnoremap <S-j> :bp<CR>
  61. nnoremap <Leader>k :bdelete<CR>
  62. nnoremap <Leader>v :vsplit<CR>
  63. nnoremap <F5> :e!<CR>
  64. augroup Shebang
  65. autocmd BufNewFile *.sh 0put =\"#!/bin/bash\"|$
  66. autocmd BufNewFile *.py 0put =\"#!/usr/bin/python\"|$
  67. augroup END
  68. " Removes trailing spaces
  69. function! TrimWhiteSpaces()
  70. if search('\s\+$','bn') > 0
  71. %s/\s\+$//
  72. endif
  73. endfunction
  74. autocmd BufWritePre * call TrimWhiteSpaces()