summaryrefslogtreecommitdiffstats
path: root/vim/.vimrc
diff options
context:
space:
mode:
authorAudric Schiltknecht <storm@chemicalstorm.org>2013-01-23 21:22:24 +0100
committerAudric Schiltknecht <storm@chemicalstorm.org>2013-01-23 21:25:41 +0100
commit92ae62f4db11ccbfc41bc9f24fe3859aef456f34 (patch)
treebee855c2f6fc3bb2d2206af07a1403ace7819e6d /vim/.vimrc
parent6a3133baeba19c8e04d876e2bacbb42728a58c34 (diff)
downloaddotfiles-92ae62f4db11ccbfc41bc9f24fe3859aef456f34.tar.gz
dotfiles-92ae62f4db11ccbfc41bc9f24fe3859aef456f34.tar.bz2
dotfiles-92ae62f4db11ccbfc41bc9f24fe3859aef456f34.zip
Little clean-up
Easier (I think...) directory layout
Diffstat (limited to 'vim/.vimrc')
-rw-r--r--vim/.vimrc374
1 files changed, 0 insertions, 374 deletions
diff --git a/vim/.vimrc b/vim/.vimrc
deleted file mode 100644
index 36f9b6b..0000000
--- a/vim/.vimrc
+++ /dev/null
@@ -1,374 +0,0 @@
-"" Fichier de configuration perso de VIM
-
-"""""""""""""
-" Pathogen - Charge les plugins dans .vim/bundle
-" Doit etre fait AVANT filetype plugin indent on
-"""""""""""""
-call pathogen#infect()
-
-"""""""""""""
-" Configuration générale
-"""""""""""""
-
-" Enlève la compatibilité avec le "vieux vi"
-set nocompatible
-
-" Affiche la commande que vous êtes en train de taper, le mode en cours, et
-" votre position dans le texte
-set showcmd
-set showmode
-set ruler
-
-" Une petite fenêtre pour voir les complétions possibles
-set wildmenu
-
-"" Indentation
-"Auto-indentation
-"set autoindent
-" Indentation à la C
-"set cindent
-" Indentation intelligente
-set smartindent
-
-" Copie l'indentation lors d'une nouvelle ligne
-set copyindent
-
-" Le terminal a un fond foncé
-set background=dark
-
-" Coloration syntaxique
-syntax on
-
-" Détection automatique du type de fichier & activation des plugins/indentations
-filetype plugin on
-
-" Animation lors de la fermeture des parenthèses
-set showmatch
-
-" Retour à la ligne auto au bout de 80 lignes
-set textwidth=80
-
-" Utilisation de ack a la place de grep
-set grepprg=ack\ -a
-
-" Utilisation de la souris
-set mouse=a
-set nopaste
-
-"""""""""""""
-" Options d'affichage
-"""""""""""""
-
-" Surligne la ligne courante
-"set cursorline
-"highlight CursorLine term=reverse cterm=reverse
-
-" Taille des tabs
-set shiftwidth=4
-set softtabstop=4
-set tabstop=4
-
-" Affiche les numéros des lignes
-"set number
-highlight LineNr ctermbg=black ctermfg=gray
-
-" Personnalisation de la barre de status
-set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [Line=%04l]\ [Col=%04v]\ [%p%%]
-set laststatus=2
-
-" Amélioration de la lisibilité des noms des onglets
-highlight TabLine term=none cterm=none
-highlight TabLineSel ctermbg=darkblue
-
-" On ouvre le fichier avec le curseur à la position de la dernière édition
-autocmd BufReadPost * silent! call s:CursorOldPosition()
-
-" Activation de la gestion des ouvertures/fermetures de code
-set foldenable
-" Affichage de "=" sur les pliages
-set fillchars=fold:=
-" Définition de la fonction perso d'affichage du pliage
-set foldtext=MyFoldFunction()
-
-"""""""""""""
-" Dictionnaire
-"""""""""""""
-
-"setlocal spell spelllang=fr
-set spellfile=~/.vim/spellfile.utf-8.add
-
-"""""""""
-" Recherche
-""""""""""
-
-" Recherche insensible à la casse lorsque qu'auncune majuscule n'est utilisée.
-" Les deux options suivantes sont nécéssaires.
-set ignorecase
-set smartcase
-" Recherche incrémentielle
-set incsearch
-
-" Colore les recherches en cours
-set hlsearch
-
-""""""""""
-" Programmation
-""""""""""
-set tags+=~/.vim/ctags/c
-set tags+=~/.vim/ctags/c++
-
-""""""""""
-" Cscope plugin :
-""""""""""
-
-" This tests to see if vim was configured with the '--enable-cscope' option
-" when it was compiled. If it wasn't, time to recompile vim...
-if has("cscope")
-
- """"""""""""" Standard cscope/vim boilerplate
-
- " use both cscope and ctag for 'ctrl-]', ':ta', and 'vim -t'
- set cscopetag
-
- " check cscope for definition of a symbol before checking ctags: set to 1
- " if you want the reverse search order.
- set csto=0
-
- " add any cscope database in current directory
- if filereadable("cscope.out")
- cs add cscope.out
- " else add the database pointed to by environment variable
- elseif $CSCOPE_DB != ""
- cs add $CSCOPE_DB
- endif
-
- " do NOT show msg when any other cscope db added - annoying as hell
- set nocscopeverbose
-
-
- """"""""""""" My cscope/vim key mappings
- "
- " The following maps all invoke one of the following cscope search types:
- "
- " 's' symbol: find all references to the token under cursor
- " 'g' global: find global definition(s) of the token under cursor
- " 'c' calls: find all calls to the function name under cursor
- " 't' text: find all instances of the text under cursor
- " 'e' egrep: egrep search for the word under cursor
- " 'f' file: open the filename under cursor
- " 'i' includes: find files that include the filename under cursor
- " 'd' called: find functions that function under cursor calls
- "
- " Below are three sets of the maps: one set that just jumps to your
- " search result, one that splits the existing vim window horizontally and
- " diplays your search result in the new window, and one that does the same
- " thing, but does a vertical split instead (vim 6 only).
- "
- " I've used CTRL-\ and CTRL-@ as the starting keys for these maps, as it's
- " unlikely that you need their default mappings (CTRL-\'s default use is
- " as part of CTRL-\ CTRL-N typemap, which basically just does the same
- " thing as hitting 'escape': CTRL-@ doesn't seem to have any default use).
- " If you don't like using 'CTRL-@' or CTRL-\, , you can change some or all
- " of these maps to use other keys. One likely candidate is 'CTRL-_'
- " (which also maps to CTRL-/, which is easier to type). By default it is
- " used to switch between Hebrew and English keyboard mode.
- "
- " All of the maps involving the <cfile> macro use '^<cfile>$': this is so
- " that searches over '#include <time.h>" return only references to
- " 'time.h', and not 'sys/time.h', etc. (by default cscope will return all
- " files that contain 'time.h' as part of their name).
-
-
- " To do the first type of search, hit 'CTRL-\', followed by one of the
- " cscope search types above (s,g,c,t,e,f,i,d). The result of your cscope
- " search will be displayed in the current window. You can use CTRL-T to
- " go back to where you were before the search.
- "
-
- nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
- nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
-
-
- " Using 'CTRL-spacebar' (intepreted as CTRL-@ by vim) then a search type
- " makes the vim window split horizontally, with search result displayed in
- " the new window.
- "
- " (Note: earlier versions of vim may not have the :scs command, but it
- " can be simulated roughly via:
- " nmap <C-@>s <C-W><C-S> :cs find s <C-R>=expand("<cword>")<CR><CR>
-
- nmap <C-@><C-@>ss :scs find s <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@><C-@>sd :scs find g <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@><C-@>sc :scs find c <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@><C-@>st :scs find t <C-R>=expand("<cword>")<CR><CR>
- nmap <C-@><C-@>sf :scs find f <C-R>=expand("<cfile>")<CR><CR>
- nmap <C-@><C-@>si :scs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
-
-
- """"""""""""" key map timeouts
- "
- " By default Vim will only wait 1 second for each keystroke in a mapping.
- " You may find that too short with the above typemaps. If so, you should
- " either turn off mapping timeouts via 'notimeout'.
- "
- "set notimeout
- "
- " Or, you can keep timeouts, by uncommenting the timeoutlen line below,
- " with your own personal favorite value (in milliseconds):
- "
- "set timeoutlen=4000
- "
- " Either way, since mapping timeout settings by default also set the
- " timeouts for multicharacter 'keys codes' (like <F1>), you should also
- " set ttimeout and ttimeoutlen: otherwise, you will experience strange
- " delays as vim waits for a keystroke after you hit ESC (it will be
- " waiting to see if the ESC is actually part of a key code like <F1>).
- "
- "set ttimeout
- "
- " personally, I find a tenth of a second to work well for key code
- " timeouts. If you experience problems and have a slow terminal or network
- " connection, set it higher. If you don't set ttimeoutlen, the value for
- " timeoutlent (default: 1000 = 1 second, which is sluggish) is used.
- "
- "set ttimeoutlen=100
-
-endif
-
-""""""""""
-" Fonctions d'affichage tirées de GLMF
-""""""""""
-
-" Affichage en inverse couleur
-function! s:DisplayStatus(msg)
- echohl Todo
- echo a:msg
- echohl None
-endfunction
-
-"" Fonctions de gestion de la souris
-"Enregistrement de l'état de la gestion de la souris
-let s:mouseActivate = 1
-"Fonction permettant l'activation/désactivation de la gestion de la souris
-function! ToggleMouseActivate()
- if (s:mouseActivate)
- let s:mouseActivate = 0
- set mouse=n
- set paste
- call s:DisplayStatus('Désactivation de la gestion de la souris (mode collage)')
- else
- let s:mouseActivate = 1
- set mouse=a
- set nopaste
- call s:DisplayStatus('Activation de la gestion de la souris (mode normal)')
- endif
-endfunction
-
-"" Fonction de "nettoyage" d'un fichier :
-" - Suppression des ^M en fin de ligne
-" - Encodage UTF-8
-function! ClearCode()
- set fileformat=unix
- set fileencoding=utf-8
- call s:DisplayStatus('Code nettoyé')
-endfunction
-
-"" Déplacement de l'onglet courant vers la g ou la d
-function! MoveTab(direction)
- if (a:direction == 'left')
- let tabNum = tabpagenr()-2
- if(tabNum < 0)
- let tabNum = 0
- endif
- execute 'tabm' . tabNum
- else
- let tabNum = tabpagenr()
- execute 'tabm' . tabNum
- endif
-endfunction
-
-"" Ouverture des fichiers avec le curseur à la position de la dernière édition
-function! s:CursorOldPosition()
- if line("'\"") > 0 && line("'\"") <= line("$")
- exe "normal g`\""
- end if
-endfunction
-
-"" Affichage personnalisé des replis de code
-function! MyFoldFunction()
- let line = getline(v:foldstart)
- let sub = substitute(line, '/\*\|\*/\|^\s+', '', 'g')
- let lines = v:foldend - v:foldstart + 1
- return '[+] ' . v:folddashes.sub . '...' . lines . 'lignes...' .
- getline(v:foldend)
-endfunction
-
-
-" Activation des templates lors de la création d'un nouveau fichier, et
-" chargement des abbreviations et des commandes Vim spécifiques
-function! LoadTemplate(extension, type)
- if (a:type == 'all')
- silent! execute '0r ' . $HOME . '/.vim/templates/' . a:extension . '.tpl'
- silent! execute 'source ' . $HOME . '/.vim/templates/autocompletion.vim'
- endif
- " Insertion des abbreviations
- silent! execute 'source ' . $HOME . '/.vim/abbreviations/' . a:extension . '.abb.vim'
- " Insertion du dictionnaire
- set dictionary+=$HOME . '/.vim/dictionary/' . a:extension . '.dict'
- " Insertion des commandes spécifiques Vim
- silent! execute 'source ' . $HOME . '/.vim/specific/' . a:extension . '.vim'
-endfunction
-
-" Activation des templates et des chargements spécifiques en fonction de
-" l'extenion du fichier chargé
-autocmd BufNewFile * silent! call LoadTemplate('%:e', 'all')
-autocmd BufRead * silent! call LoadTemplate('%:e', 'noTemplate')
-
-" Surlignement des champs à remplir dans les templates
-3match Todo /<+.\++>/
-
-"" Aide mémoire
-" Variable indiquant l'état de l'affichage de l'aide
-let helpDisplay = 0
-" Affiche/Masque l'aide
-function! HelpMemory()
- if g:helpDisplay == 0
- silent! topleft vertical 40split +buffer helpMemory
- let g:helpDisplay = 1
- set buftype=nofile
- 0read $HOME/.vim/memory.txt
- highlight Memory ctermfg=white ctermbg=blue
- "3match Memory /^.\+\ \+:/
- 3match Memory /<.\+>/
- else
- bdelete helpMemory
- let g:helpDisplay = 0
- endif
-endfunction
-
-" Affiche/Masque les caracteres
-function! DisplayChar()
- set list! lcs=tab:\|_,eol:¶,nbsp:~
-endfunction
-
-" Surligne les lignes trop longues
-" Variable indiquant l'état
-let hlTooLarge = 0
-function! HlTooLarge()
- if g:hlTooLarge == 0
- let g:hlTooLarge = 1
- highlight OverLength ctermbg=red ctermfg=white guibg=#592929
- match OverLength /\%81v.\+/
- else
- match
- let g:hlTooLarge = 0
- endif
-endfunction
-
-
-" Lecture des raccourcis claviers généraux
-source $HOME/.vim/shortkeys.vim