if v:lang =~ "utf8$" || v:lang =~ "UTF-8$" set fileencodings=ucs-bom,utf-8,latin1 endif set nocompatible " Use Vim defaults (much better!) set bs=indent,eol,start " allow backspacing over everything in insert mode set viminfo='20,\"50 " read/write a .viminfo file, don't store more " than 50 lines of registers set history=50 " keep 50 lines of command line history set ruler " show the cursor position all the time " Only do this part when compiled with support for autocommands if has("autocmd") augroup fedora autocmd! " In text files, always limit the width of text to 78 characters " autocmd BufRead *.txt set tw=78 " When editing a file, always jump to the last cursor position autocmd BufReadPost * \ if line("'\"") > 0 && line ("'\"") <= line("$") | \ exe "normal! g'\"" | \ endif " don't write swapfile on most commonly used directories for NFS mounts or USB sticks autocmd BufNewFile,BufReadPre /media/*,/mnt/* set directory=~/tmp,/var/tmp,/tmp " start with spec file template autocmd BufNewFile *.spec 0r /usr/share/vim/vimfiles/template.spec augroup END endif " Switch syntax highlighting on, when the terminal has colors " Also switch on highlighting the last used search pattern. if &t_Co > 2 || has("gui_running") syntax on endif filetype plugin on if &term=="xterm" set t_Co=8 set t_Sb=[4%dm set t_Sf=[3%dm endif " Don't wake up system with blinking cursor: " http://www.linuxpowertop.org/known.php let &guicursor = &guicursor . ",a:blinkon0" set cursorline syntax on set showmode set splitbelow set splitright " gestion des espaces et tab set ai " always set autoindenting on set expandtab set shiftwidth=3 set tabstop=3 set softtabstop=3 set smarttab set smartindent " show tabs / nbsp / trailing spaces "set list listchars=nbsp:▶,tab:··,trail:¤,extends:▶,precedes:◀ set nohlsearch set showmatch set binary noeol set laststatus=2 set visualbell " on fait un cd dans le répertoire du fichier ouvert set autochdir set background=dark set cursorline set nowrap "set nowrapscan set linebreak " this should be the default but some distros disable modelines by default… set modeline set modelines=5 " F2 permet de passer en mode (no)paste " avec affichage dans la barre de statut nnoremap :set invpaste paste? inoremap set pastetoggle= " aux extrémités d'une ligne, les flèches permettent de passer à la ligne " précédente /suivante set whichwrap=<,>,h,l,[,] " Make shift-insert work like in Xterm if has('gui_running') noremap noremap! endif " numéro de ligne relative à la ligne courant noremap :set relativenumber! " insert new line without going in insert mode noremap ok let $VIMTMP = glob('~/.vim/tmp') if !empty($VIMTMP) set backupdir=$VIMTMP set directory=$VIMTMP set undodir=$VIMTMP endif set clipboard=unnamedplus " lazy code folding / unfolding noremap za noremap zA " fold stuff around selection "vnoremap za `jzfG`< " the Ex mode is useless (except for Vi compatibility), disable it map Q noremap noremap inoremap kj cnoremap kj " si on édite un fichier sans avoir les droits, W nous permet de sauver quand même command! W w !sudo tee "%" > /dev/null " mf insert filename as comment at beginning of file noremap ifl :put =expand('%:p')ddggPI#`' "remove trailing spaces noremap Ds :%s/ *$//g "insert date at cursor position inoremap ,D =strftime("%F") "insert time at cursor position inoremap ,T =strftime("%H:%M")