filetype indent plugin on " Enable syntax highlighting syntax on "------------------------------------------------------------ " Must have options {{{1 " " These are highly recommended options. " Vim with default settings does not allow easy switching between multiple files " in the same editor window. Users can use multiple split windows or multiple " tab pages to edit multiple files, but it is still best to enable an option to " allow easier switching between files. " " One such option is the 'hidden' option, which allows you to re-use the same " window and switch from an unsaved buffer without saving it first. Also allows " you to keep an undo history for multiple files when re-using the same window " in this way. Note that using persistent undo also lets you undo in multiple " files even in the same window, but is less efficient and is actually designed " for keeping undo history after closing Vim entirely. Vim will complain if you " try to quit without saving, and swap files will keep you safe if your computer " crashes. set hidden " Note that not everyone likes working this way (with the hidden option). " Alternatives include using tabs or split windows instead of re-using the same " window as mentioned above, and/or either of the following options: " set confirm " set autowriteall " Better command-line completion set wildmenu " Show partial commands in the last line of the screen set showcmd " Highlight searches (use to temporarily turn off highlighting; see the " mapping of below) set hlsearch " Modelines have historically been a source of security vulnerabilities. As " such, it may be a good idea to disable them and use the securemodelines " script, . " set nomodeline "------------------------------------------------------------ " Usability options {{{1 " " These are options that users frequently set in their .vimrc. Some of them " change Vim's behaviour in ways which deviate from the true Vi way, but " which are considered to add usability. Which, if any, of these options to " use is very much a personal preference, but they are harmless. " Use case insensitive search, except when using capital letters set ignorecase set smartcase " Allow backspacing over autoindent, line breaks and start of insert action set backspace=indent,eol,start " When opening a new line and no filetype-specific indenting is enabled, keep " the same indent as the line you're currently on. Useful for READMEs, etc. set autoindent " Stop certain movements from always going to the first character of a line. " While this behaviour deviates from that of Vi, it does what most users " coming from other editors would expect. set nostartofline " Display the cursor position on the last line of the screen or in the status " line of a window set ruler " Always display the status line, even if only one window is displayed set laststatus=2 " Instead of failing a command because of unsaved changes, instead raise a " dialogue asking if you wish to save changed files. set confirm " Use visual bell instead of beeping when doing something wrong set visualbell " And reset the terminal code for the visual bell. If visualbell is set, and " this line is also included, vim will neither flash nor beep. If visualbell " is unset, this does nothing. set t_vb= " Enable use of the mouse for all modes set mouse=a " Set the command window height to 2 lines, to avoid many cases of having to " "press to continue" set cmdheight=2 " Display line numbers on the left set number " Quickly time out on keycodes, but never time out on mappings set notimeout ttimeout ttimeoutlen=200 " Use to toggle between 'paste' and 'nopaste' set pastetoggle= "------------------------------------------------------------ " Indentation options {{{1 " " Indentation settings according to personal preference. " Indentation settings for using 4 spaces instead of tabs. " Do not change 'tabstop' from its default value of 8 with this setup. set shiftwidth=4 set softtabstop=4 set expandtab " Indentation settings for using hard tabs for indent. Display tabs as " four characters wide. "set shiftwidth=4 "set tabstop=4 "------------------------------------------------------------ " Mappings {{{1 " " Useful mappings " Map Y to act like D and C, i.e. to yank until EOL, rather than act as yy, " which is the default map Y y$ " Map (redraw screen) to also turn off search highlighting until the " next search nnoremap :nohl " /etc/vim/vimrc ou ~/.vimrc " Fichier de configuration de Vim " Formation Debian GNU/Linux par Alexis de Lattre " http://formation-debian.via.ecp.fr/ " ':help options.txt' ou ':help nom_du_paramètre' dans Vim " pour avoir de l'aide sur les paramètres de ce fichier de configuration " tabspacing set ts=4 " Enable the END key in vim into a screen set term=xterm " more powerful backspacing set backspace=indent,eol,start " Avertissement par flash (visual bell) plutôt que par beep "set vb " Active la coloration syntaxique syntax on set t_Co=256 " Définit le jeu de couleurs utilisé " Les jeux de couleur disponibles sont les fichiers avec l'extension .vim " dans le répertoire /usr/share/vim/vimcurrent/colors/ " colorscheme delek colorscheme molokai " Affiche la position du curseur 'ligne,colonne' set ruler " Affiche une barre de status en bas de l'écran set laststatus=2 " Contenu de la barre de status set statusline=%<%f%h%m%r%=%l,%c\ %P " Largeur maxi du texte inséré " '72' permet de wrapper automatiquement à 72 caractères " '0' désactive la fonction set textwidth=0 " Wrappe à 72 caractères avec la touche '#' "map # {v}! par 72 " Wrappe et justifie à 72 caractères avec la touche '@' "map @ {v}! par 72j " Ne pas assurer la compatibilité avec l'ancien Vi set nocompatible " Nombre de colonnes (inutile, voire gênant) "set columns=80 " Nombre de commandes dans l'historique set history=50 " Options du fichier ~/.viminfo set viminfo='20,\"50 " Active la touche Backspace set backspace=2 " Autorise le passage d'une ligne à l'autre avec les flèches gauche et droite set whichwrap=<,>,[,] " Garde toujours une ligne visible à l'écran au dessus du curseur set scrolloff=1 " Affiche les commandes dans la barre de status set showcmd " Affiche la paire de parenthèses set showmatch " Essaye de garder le curseur dans la même colonne quand on change de ligne set nostartofline " Option de la complétion automatique set wildmode=list:full " Par défaut, ne garde pas l'indentation de la ligne précédente " quand on commence une nouvelle ligne set noautoindent " Options d'indentation pour un fichier C "set cinoptions=(0 set cinoptions=:.5s,>1s,p0,t0,(0,g2 set shiftwidth=4 " set shiftwidth to 4 spaces " xterm-debian est un terminal couleur if &term =~ "xterm-debian" || &term =~ "xterm-xfree86" set t_Co=16 set t_Sf=dm set t_Sb=dm endif " Quand on fait de la programmation, on veut qu'il n'y ait jamais de " vraies tabulations insérées mais seulement des espaces set expandtab " Décommentez les 2 lignes suivantes si vous voulez avoir les tabulations et " les espaces marqués en caractères bleus "set list "set listchars=tab:>-,trail:- " Les recherches ne sont pas 'case sensitives' "set ignorecase " Le découpage des folders se base sur l'indentation "set foldmethod=indent " 12 niveaux d'indentation par défaut pour les folders "set foldlevel=12 if has("autocmd") " Enabled file type detection " Use the default filetype settings. If you also want to load indent files " to automatically do language-dependent indenting add 'indent' as well. " filetype plugin on endif " has ("autocmd") " Uncomment the following to have Vim jump to the last position when " reopening a file if has("autocmd") au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") \| exe "normal '\"" | endif endif " Disable auto comment au FileType * setl fo-=cro