136 lines
3.8 KiB
VimL
136 lines
3.8 KiB
VimL
let skip_defaults_vim=1
|
|
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
|