Outils pour utilisateurs

Outils du site


utilisateurs:captnfab:config:vimrc

Table des matières

vimrc

001.c
" #####################
" # Options generales #
" #####################
 
" ## Ne pas utiliser le mode de compatibilité vi
"set nocompatible (inutile)
set runtimepath+=~/.local/share/vim/
 
" ## Encodage
 
" Encodage par défaut des buffers en utf-8
set encoding=utf-8
" Encodage par défaut des fichiers en utf-8
set fileencoding=utf-8
 
" ## Sauvegarde
 
" Fait une copie de sauvegarde lors de l'écrasement d'un fichier
set backup
" Dossier contenant la sauvegarde. N'oubliez pas de le créer et de lui faire un
" chmod 700
set backupdir=~/.cache/vim/backup
 
" ## Sessions et Views
set viewdir=~/.local/var/vim/views
 
 
" #######################
" # Terminal, X et Unix #
" #######################
 
" ## Pour le terminal
 
" On transmet les 'beep' au terminal, on ne 'flash' pas
set noerrorbells
 
" Bien interpréter les caractères de contrôle
nmap <ESC>Od <C-Left>
nmap <ESC>Oc <C-Right>
nmap <ESC>Oa <C-Up>
nmap <ESC>Ob <C-Down>
nmap <ESC>[D <C-Left>
nmap <ESC>[C <C-Right>
nmap <ESC>[B <C-Down>
nmap <ESC>[A <C-Up>
nmap [1;5D <C-Left>
nmap [1;5C <C-Right>
nmap [1;5B <C-Down>
 
" ## Unixage
 
" Path pour la recherche de fichier avec :find, :sfind et :tabfind
set path=.,/usr/include,/usr/X11R6/include,/usr/local/include
" Shell par défaut
set shell=/bin/sh
 
" ## X
 
" Pas de souris, boudiou !
set mouse=
" Le texte sélectionné en mode visuel est collé dans le presse-papier CLIPBOARD
set clipboard=autoselect
 
" ############################
" # Indentation et formatage #
" ############################
 
" Taille maximale d'une ligne
set textwidth=80
 
" Indentation gérée par les plugins plutôt que par autoindent
set noautoindent
filetype plugin on
filetype indent on
 
" On remplace les \t par des espaces
set expandtab
 
" Largeur de l'autoindentation
set shiftwidth=2
" Largeur de l'indentation avec <tab>
set softtabstop=2
" Largeur du caractère <tab>
set tabstop=1
 
" Mappings
vnoremap <C-F> =$
vnoremap <tab> =
nnoremap <tab> =$
nnoremap <C-tab> mzvip=`z
 
" #########################
" # Coloration syntaxique #
" #########################
 
" ## Général
 
" Parenthèses électriques
set showmatch
 
" Coloration des caractères particuliers
set list
set listchars=nbsp:~,trail:¤,extends:>,precedes:<,tab:>-
 
" Coloration syntaxique
syntax on
 
" Configuration du parsing pour la coloration syntaxique
"syn sync minlines=10000 maxlines=10000
 
" Configuration du hilight quand vim est dans un terminal couleur
"hi Normal ctermfg=gray ctermbg=black
 
" ## Particularité des langages
 
" Pour les fichiers en général
autocmd FileType * set formatoptions=tcql nocindent comments&
 
" Pour les fichiers c/cpp :
" - numérotation automatique des lignes
" - indentation top moumoutte (je ne sais plus ce que ça fait)
autocmd FileType c,cpp set number cinoptions={.5s,+.5s,t0,n-1,p2s,(03s,=.5s,>1s,=1s,:1s formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://
autocmd FileType c,cpp let Tlist_Ctags_Cmd = "/usr/bin/ctags"
autocmd FileType c,cpp let Tlist_WinWidth = 50
autocmd FileType c,cpp map <F4> :TlistToggle<cr>
autocmd FileType c,cpp map <F8> :!/usr/bin/ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . <CR> <CR>
 
 
" Pour les fichiers shell script
" - corrige la coloration syntaxique
autocmd FileType sh let g:is_posix = 1
 
" #############
" # Recherche #
" #############
 
" La recherche reprend au début du fichier (resp à la fin) une fois la fin (resp
" le début) atteint.
set wrapscan
 
" Highlight les paterns recherchés
set hlsearch
 
" Recherche en live
set incsearch
 
" #############
" # Interface #
" #############
 
" Complétion en mode insertion (<C-n>)
set completeopt=longest,menuone
 
" ## Ligne de statut et Menu
 
" Complétion dans la barre de commande
set wmnu
set wildmode=list:longest,list:full
" Fichiers ignorés lors de la complétion
set wildignore=*.o,*.r,*.so,*.sl
" Taille de l'historique de la barre de commandes
set history=2000
set viminfo='100,<50,s10,h,n~/.cache/vim/info
" Affichage de la position dans le fichier dans la barre de statut
set ruler
" Configuration de l'affichage de la date et de la position dans le fichier
set rulerformat=%27(%{strftime('%a\ %e\ %b\ %I:%M\ %p')}\ %2l,%-2(%c%V%)\ %P%)
" Affichage du mode dans la barre de statut
set showmode
" Affichage intelligent des avertissements (file format, file status, etc.)
set shm=a
" La ligne de statut est l'avant dernière ligne
set laststatus=2
 
" Affichage ligne/colonne
au WinLeave * set nocursorline nocursorcolumn
au WinEnter * set cursorline cursorcolumn
set cursorline cursorcolumn
 
" ## Fenetres
 
" Hauteur minimale d'une fenêtre active
set winheight=1
" Hauteur minimale d'une fenêtre
set winminheight=0
" Ne redimensionne pas automatiquement toutes les fenêtres lors de
" l'ouverture/fermeture de l'une d'entre elles
set noequalalways
" Ajoute les nouvelles fenêtres en dessous ou à droite
set splitbelow
set splitright
 
" ## Tabs
 
" Raccourcis claviers pour les Tabs
map <C-Down>  :tabnew <CR>
nmap <C-Right> :tabnext <CR>
nmap <C-Left>  :tabprevious <CR> 
 
 
 
" ############################
" # Configuration des plugin #
" ############################
 
" ## vim-scripts
"source /usr/share/vim-scripts/games/VimSokoban/sokoban.vim
"source /usr/share/vim-scripts/plugin/bufexplorer.vim
"source /usr/share/vim-scripts/plugin/taglist.vim
 
" ## TOHtml
" Le plugin 2html utilise le CSS
let html_use_css = 1
 
" ## Vérification orthographique
" en français, 10 suggestions
let loaded_vimspell = 1
set spelllang=fr
set spellsuggest=10
let spell_executable = "aspell"
let spell_auto_type = ''
let spell_insert_mode = 0
 
" ## ctags
" génération automatique pour les extensions connues
let generate_tags=1
" affichage dans la statusline
let g:ctags_statusline=1
 
" Configuration OmniCpp (C++)
let OmniCpp_DefaultNamespaces=["std", "_GLIBCXX_STD"]
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_NamespaceSearch = 1
let OmniCpp_MayCompleteDot = 1
let OmniCpp_MayCompleteArrow = 1
let OmniCpp_MayCompleteScope = 1
let OmniCpp_ShowPrototypeInAbbr = 1
 
" Configuration de taglist
"set tags+=~/.vim/tags/stl
 
" ################
" # Abréviations #
" ################
 
" ## Complétion par dictionnaire
" (Ctrl-x Ctrl-k)
set dictionary+=/usr/share/dict/american-english
set dictionary+=/usr/share/dict/french
 
" ## Latex
let g:tex_flavor='latex'
set foldenable
imap <buffer> <C>it <Plug>Tex_InsertItemOnThisLine
set grepprg=grep\ -nH\ $*
iabbrev \N \mathbb{N}
iabbrev \P \mathbb{P}
iabbrev \p \Sub{p}
iabbrev \c \Sub{c}
 
colo desert "elflord default torte darkblue
 
set t_Co=16
hi Cursor       ctermbg=12
hi CursorLine   ctermbg=16
hi CursorColumn ctermbg=16
 
" Siff
autocmd BufWritePost * if &diff == 1 | diffupdate | endif
hi DiffChange term=reverse cterm=bold ctermbg=cyan ctermfg=black
hi DiffText term=reverse cterm=bold ctermbg=gray ctermfg=black
hi DiffAdd term=reverse cterm=bold ctermbg=green ctermfg=white
hi DiffDelete term=reverse cterm=bold ctermbg=red ctermfg=black 
 
 
"set runtimepath+=/srv/gaia64/usr/share/lilypond/2.12.2/vim
 
map <F5> <esc>:!lftp ftp.mecreant.fr -u mecreant -e 'cd www; put index.html; exit' <cr>
/home/chanteri/www/fablab37110/data/pages/utilisateurs/captnfab/config/vimrc.txt · Dernière modification : 2023/02/15 15:45 de gerardadmin