vimrc 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. "# Encodage général
  2. set encoding=utf-8
  3. "# Chargement de pathogen
  4. call pathogen#infect()
  5. call pathogen#helptags()
  6. source ~/.vim/fonctions.vim
  7. "# Change le <leader> en , à la place de \
  8. let mapleader=","
  9. "# Indentation
  10. set autoindent
  11. " Intelligente ({}, commentaires...)
  12. set smartindent
  13. " Remplace les tabulations par des espaces
  14. set expandtab
  15. " <BS> supprime un niveau d'indentation
  16. set smarttab
  17. " Affiche 2 espaces pour les tabulations
  18. set tabstop=2
  19. " Indentation de 2 espaces
  20. set shiftwidth=2
  21. " Arrondi à un niveau d'indentation
  22. set shiftround
  23. "# Début de ligne au premier caractère non blanc
  24. map 0 ^
  25. "# Numérotation
  26. set number
  27. "# Affichage de caractères spéciaux
  28. set list
  29. set listchars=nbsp:¬,tab:»·,trail:·
  30. "# Statusline
  31. " Informations git (branche +-~) :
  32. set statusline+=%{strlen(fugitive#statusline())?'\ \ ('.fugitive#statusline()[5:-3].'\ '.HunkSummary().')\ ':''}
  33. " Nom du fichier
  34. set statusline+=%f%<
  35. " Encodage du fichier
  36. set statusline+=\ %{strlen(&fenc)?'<'.&fenc.'>':'<aucun>'}
  37. " Taille du fichier
  38. set statusline+=\ %{FileSize()}
  39. " Drapeau modifié, read-only
  40. set statusline+=\ %m\ %r
  41. " Séparateur gauche droite
  42. set statusline+=%=
  43. " <ligne courante>/<total>:<colonne> | <pourcents>
  44. set statusline+=%l/%L:%v\ \|\ %4P\
  45. " L'affiche toujours
  46. set laststatus=2
  47. "# Pas de sonneries
  48. set noerrorbells
  49. set novisualbell
  50. "# Limites haute et basse du curseur
  51. set scrolloff=12
  52. "# Limites gauche et droite du curseur
  53. "set nowrap
  54. "set sidescrolloff=15
  55. "set sidescroll=1
  56. " Revient à la même position à la réouverture d'un fichier
  57. autocmd BufReadPost *
  58. \ if line("'\"") > 0 && line("'\"") <= line("$") |
  59. \ exe "normal! g`\"" |
  60. \ endif
  61. "# Recherche
  62. " Va au résultat directement
  63. set incsearch
  64. set smartcase
  65. " Surligne les résultats
  66. set hlsearch
  67. " et pour l'enlever : ,/
  68. nnoremap <Leader><Space> :nohlsearch<CR>
  69. "# Désactive les fichiers swap
  70. set noswapfile
  71. set nobackup
  72. set nowritebackup
  73. "# Undo persistant
  74. if has("persistent_undo")
  75. " Crée le dossier s'il le faut
  76. silent !mkdir ~/.vim/backups > /dev/null 2>&1
  77. set undodir=~/.vim/backups
  78. set undofile
  79. endif
  80. "# Clipboard mélangé avec celui de X
  81. if has("xterm_clipboard")
  82. set clipboard=unnamedplus
  83. endif
  84. "# Commande w!! pour enregistrer avec sudo
  85. "cmap w!! %!sudo tee > /dev/null %
  86. cabbrev w!! %!sudo tee > /dev/null %
  87. "# Correction (à activer avec set spell)
  88. set spelllang=en,fr
  89. set spellsuggest=5
  90. "# Pas de repliement
  91. set nofoldenable
  92. "# Désactive l'accès au mode Ex
  93. map Q <Nop>
  94. "# Active l'indentation et les plugins spécifiques
  95. filetype indent on
  96. filetype plugin on
  97. "# Thème
  98. try
  99. colorscheme mustang
  100. catch
  101. endtry
  102. "# Couleur pour GitGutter
  103. highlight SignColumn ctermbg=232