257 lines
7.8 KiB
VimL
257 lines
7.8 KiB
VimL
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 <C-L> to temporarily turn off highlighting; see the
|
|
" mapping of <C-L> 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, <http://www.vim.org/scripts/script.php?script_id=1876>.
|
|
" 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 <Enter> 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 <F11> to toggle between 'paste' and 'nopaste'
|
|
set pastetoggle=<F11>
|
|
|
|
|
|
"------------------------------------------------------------
|
|
" 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 <C-L> (redraw screen) to also turn off search highlighting until the
|
|
" next search
|
|
nnoremap <C-L> :nohl<CR><C-L>
|
|
|
|
" /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
|