135 lines
3.7 KiB
VimL
135 lines
3.7 KiB
VimL
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 / spaces
|
||
set listchars=nbsp:▶,tab:··,trail:¤,extends:▶,precedes:◀,space:␣
|
||
noremap <F6> :set list! list? <CR>
|
||
inoremap <F6> <C-O>:set list! list? <CR>
|
||
|
||
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 <F2> :set invpaste paste?<CR>
|
||
inoremap <F2> <C-O><F2>
|
||
set pastetoggle=<F2>
|
||
" 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 <S-Insert> <MiddleMouse>
|
||
noremap! <S-Insert> <MiddleMouse>
|
||
endif
|
||
" numéro de ligne relative à la ligne courant
|
||
noremap <F8> :set relativenumber! <CR>
|
||
" insert new line without going in insert mode
|
||
noremap <CR> o<Esc>k
|
||
|
||
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 <Tab> za
|
||
noremap <S-Tab> zA
|
||
" fold stuff around selection
|
||
"vnoremap <Leader>za <Esc>`<kzfgg`>jzfG`<
|
||
|
||
" the Ex mode is useless (except for Vi compatibility), disable it
|
||
map Q <Nop>
|
||
noremap <BS> <PageUp>
|
||
noremap <Space> <PageDown>
|
||
inoremap kj <Esc>
|
||
cnoremap kj <Esc>
|
||
" 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')<CR><Esc>ddggPI#<Esc>`'
|
||
|
||
"remove trailing spaces
|
||
noremap Ds <Esc>:%s/ *$//g<CR>
|
||
|
||
"insert date at cursor position
|
||
inoremap ,D <C-R>=strftime("%F") <CR>
|
||
"insert time at cursor position
|
||
inoremap ,T <C-R>=strftime("%H:%M") <CR
|
||
|
||
set softtabstop=2 expandtab shiftwidth=2 smarttab autoindent
|