====== Vim ======
Quelques astuces pour rendre vim plus attrayant, ergonomique.
===== .vimrc =====
Le fichier ''~/.vimrc'' contient la configuration personnalisée de vim, je vous propose la suivante, basique, et sans plugin.\\
==== Sans plugin ====
" VIM Configuration - insipiré de la config de Vincent Jousse
" Annule la compatibilite avec l’ancetre Vi : totalement indispensable
set nocompatible
" -- Affichage
set title " met à jour le titre de votre fenetre/terminal
set number " affiche le numero des lignes
set ruler " affiche la position actuelle du curseur
set wrap " affiche les lignes trop longues sur plusieurs lignes
set scrolloff=3 " affiche un minimum de 3 lignes autour du curseur (scroll)
" -- Recherche
set ignorecase " ignore la casse lors d'une recherche
set smartcase " si une recherche contient une majuscule, re-active la sensibilite à la casse pour la recherche
set incsearch " surligne les resultats de la recherche pendant la saisie
set hlsearch " surligne les resultats de la recherche
" -- Beep
set visualbell " empeche vim de beeper
set noerrorbells " Empeche Vim de beeper
" Active le comportement ’habituel’ de la touche retour en arriere
set backspace=indent,eol,start
" Cache les fichiers lors de l’ouverture d’autres fichiers
set hidden
" active la coloration syntaxique
syntax enable
" Theme
set background=dark " le background étant dark, les couleurs syntax sont ajustées (plus claires)
" active les comportements spécifiques aux types de fichiers comme la syntaxe et l'indentation
filetype on
filetype plugin on
filetype indent on
" TABULATIONS
" how many columns vim uses when you hit Tab in insert mode
set softtabstop=4
" how many columns text is indented with the reindent operations (<< and >>)
set shiftwidth=4
" no tab => espaces
set expandtab
==== Avec plugin ====
" VIM Configuration - insipiré de la config de Vincent Jousse
" prérequis :
"
" PATHOGEN
" mkdir -p ~/.vim/autoload ~/.vim/bundle
" cd ~/.vim/autoload && wget https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
"
" SOLARIZED
" mkdir ~/.vim/bundle/solarized/colors
" cd ~/.vim/bundle/solarized/colors
" wget https://raw.github.com/altercation/vim-colors-solarized/plugin/lusty-explorer.vim
" rajouter ce qui va bien dans vimrc (voir ci dessous)
"
" LUSTY-EXPLORER
" mkdir ~/.vim/bundle/lusty-explorer/plugin
" cd ~/.vim/bundle/lusty-explorer/plugin
" wget https://raw.github.com/sjbach/lusty/raw/master/plugin/lusty-explorer.vim
" wget https://github.com/sjbach/lusty/raw/master/autoload/lustyexplorer.vim
" rajouter ce qui va bien dans .vimrc (voir ci dessous)
" Annule la compatibilite avec l’ancetre Vi : totalement indispensable
set nocompatible
" -- Affichage
set title " met à jour le titre de votre fenetre/terminal
set number " affiche le numero des lignes
set ruler " affiche la position actuelle du curseur
set wrap " affiche les lignes trop longues sur plusieurs lignes
set scrolloff=3 " affiche un minimum de 3 lignes autour du curseur (scroll)
" -- Recherche
set ignorecase " ignore la casse lors d'une recherche
set smartcase " si une recherche contient une majuscule, re-active la sensibilite à la casse pour la recherche
set incsearch " surligne les resultats de la recherche pendant la saisie
set hlsearch " surligne les resultats de la recherche
" -- Beep
set visualbell " empeche vim de beeper
set noerrorbells " Empeche Vim de beeper
" Active le comportement ’habituel’ de la touche retour en arriere
set backspace=indent,eol,start
" Cache les fichiers lors de l’ouverture d’autres fichiers
set hidden
" active la coloration syntaxique
syntax enable
" THEME SOLARIZED
set background=dark " le background étant dark, les couleurs syntax sont ajustées (plus claires)
"colorscheme solarized
" activation de pathogen
execute pathogen#infect()
" active les comportements spécifiques aux types de fichiers comme la syntaxe et l'indentation
filetype on
filetype plugin on
filetype indent on
" NERDTREE
"autocmd vimenter * NERDTree
" LUSTY-EXPLORER
let mapleader=","
" TABULATIONS
" how many columns vim uses when you hit Tab in insert mode
set softtabstop=4
" how many columns text is indented with the reindent operations (<< and >>)
set shiftwidth=4
" no tab => espaces
set expandtab
===== rechercher et remplacer =====
En mode vue dans vim, pour remplacer memo par idee
# en demandant à chaque occurrence
:%s/memo/idee/gc
# sans demander
:%s/memo/idee/g
# rechercher le mot en entier uniquement
# memo sera remplacé
# memorundum ne sera pas remplacé
:%s/\\memo\\/idee/gc