Ma configuration Vi / Vim / gVim

Ce billet n'apporte pas grand chose au monde, mais juste ma configuration vim du moment qui se trouve dans mon fichier ~/.vimrc (et que vous pouvez aussi mettre dans votre fichier /etc/vim/vimrc. C'est pas grand chose c'est vrai, mais en même temps c'est vraiment pratique d'avoir bien configuré son éditeur de fichier préféré pour optimiser sa vitesse de travail.

vim-editor_logo.png

Si vous avez vous aussi des configurations particulières et perso que vous trouvez bien pratiques et que vous ne retrouver pas ici, n'hésitez pas à m'en faire part dans les commentaires. Autant optimiser au maximum pour avoir une configuration parfaite (même si chacun a ses petites manies, j'en convient ;) )

set nocompatible " breaks compatibility with original vi
set backspace=indent,eol,start " allow backspace in insert mode
set autoindent    " text indenting
set smartindent   " as above
set tabstop=4     " number of spaces in a tab
set softtabstop=4 " as above
set shiftwidth=4  " as above

set history=100   " lines of command history
set showcmd       " show incomplete commands
set hlsearch      " highlight searched-for phrases
set incsearch     " highlight search as you type
set smarttab
set list " affiche les caracteres louches
set tabpagemax=15

C'est évidement toujours une bonne chose que d'avoir des backups de vos travaux. Rien de plus frustrant que d'avoir un plantage et que de perdre du code :

" keep a copy of last edit
" if this throws errors, make sure the backup dir exists
set backup
set backupdir=~/.vim/backup/

Pour mettre un peu de couleur dans vim voici des commandes presque devenues indispensable pour moi :

colorscheme desert " set up a color scheme in the gvim interface 
syntax on " active the syntaxic coloration
let mywinfont="Monospace:h8:cANSI"

Voici les options qui sont propres à l'interface utilisée. Si vous utilisez l'interface graphique gvim ça ne seront pas les même option qu'avec vim en mode terminal. Là où vous voyez des caractères spéciaux, c'est afin de pouvoir marquer de manière friendly les caractères invisibles tel que le retour à la ligne, le tab, les espaces et les éléments du gens qui peuvent parfois salir du code :

if has("gui_running")                 " console Vim cannot set the font
    if has("gui_gtk2")            " GTK+2, not GTK+1
        set gfn=Bitstream\\ Vera\\ Sans\\ Mono\\ 8
    elseif has("gui_photon")      " Photon GUI
        set gfn=Bitstream\\ Vera\\ Sans\\ Mono:s8
    elseif has("gui_kde")         " the obsolete kvim
        set gfn=Bitstream\\ Vera\\ Sans\\ Mono/8/-1/5/50/0/0/0/1/0
    elseif has("x11")             " other X11 GUIs including GTK+1
        set gfn=-*-lucidatypewriter-medium-r-normal-*-*-100-*-*-m-*-*
    else                          " non-X11 GUIs including Windows
        set gfn=Lucida_Console:h9:cDEFAULT
    endif
	set number         " display current line number
	set listchars=eol:•,tab:‣ ,trail:»,extends:↷,precedes:↶
else
	set listchars=eol:¶,tab:→ ,trail:»,extends:↓,precedes:←
endif

Si vous travaillez sur des long fichiers, vous serez content, lors de la ré-ouverture du fichier, de vous retrouver à la même position qu'en quittant :

if has("autocmd")
  filetype plugin indent on
  autocmd FileType text setlocal textwidth=78

" always jump to last edit position when opening a file
  autocmd BufReadPost *
  \\ if line("'\\"") > 0 && line("'\\"") <= line("$") |
  \\   exe "normal g`\\"" |
  \\ endif
endif

Voici une petite option que je viens de découvrir et qui permet de mettre en évidence la ligne sur laquelle se trouve mon curseur :

set cursorline
highlight CursorLine guibg=#001000
Vus : 1209
Publié par theClimber : 28