« Utilisateur:Kaze/vimrc » : différence entre les versions

De Disposition de clavier bépo
Aucun résumé des modifications
mAucun résumé des modifications
 
(3 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Pour ceux que ça intéresse, voilà mon fichier ~/.vimrc ; il est assez simpliste car je me suis longtemps contenté des réglages par défaut de Zenwalk (excellente distribution au demeurant), mais j'ai fini par créer mon propre fichier de préfs pour Xubuntu et le Bépo. Si les commentaires en anglais vous gênent, faites-moi un procès ! ;-)
Pour ceux que ça intéresse, voilà mon fichier {{C|~/.vimrc}} ; il est assez simpliste car je me suis longtemps contenté des réglages par défaut de Zenwalk (excellente distribution au demeurant), mais j'ai fini par créer mon propre fichier de préfs pour Xubuntu et le Bépo. Si les commentaires en anglais vous gênent, faites-moi un procès ! ;-)
<pre class="xkb">
<source lang="vim">
" source the .vimrc file on save to apply all changes immediately
" source the .vimrc file on save to apply all changes immediately
if has("autocmd")
if has("autocmd")
Ligne 48 : Ligne 48 :


colorscheme delek
colorscheme delek
set guifont=Monospace\ 8
set foldmethod=indent
set nu
set nu
set foldmethod=indent
 
" highlight nbsp ( )
highlight NbSp ctermbg=lightgrey guibg=lightred
match NbSp /\%xa0/


" indent with two spaces (= Mozilla guidelines)
" indent with two spaces (= Mozilla guidelines)
Ligne 81 : Ligne 86 :
" I need another Esc key
" I need another Esc key
inoremap <Tab> <Esc>
inoremap <Tab> <Esc>
vnoremap <Tab> <Esc>
inoremap <S-Tab> <Tab>
inoremap <S-Tab> <Tab>
vnoremap <S-Tab> <Tab>
inoremap <S-Return> <Esc>
inoremap <S-Return> <Esc>
vnoremap <S-Return> <Esc>
inoremap <M-Return> <Esc>
inoremap <M-Return> <Esc>
vnoremap <M-Return> <Esc>


" lazy scrolling
" lazy scrolling
Ligne 94 : Ligne 103 :
" lazy code folding / unfolding
" lazy code folding / unfolding
noremap <Tab> za
noremap <Tab> za
noremap <S-Tab> zR
noremap <S-Tab> zA


" switching / moving / creating tabs
" switching / moving / creating tabs
Ligne 117 : Ligne 126 :
" BÉPO
" BÉPO
source ~/.vimrc.bepo
source ~/.vimrc.bepo
</pre>
</source>
Ce fichier fonctionne avec tous les layouts de clavier ; pour la partie spécifique au Bépo, j'utilise un fichier ~/.vimrc.bepo séparé, voir la page [[Vim]].
 
Ce fichier fonctionne avec tous les layouts de clavier ; pour la partie spécifique au Bépo, j'utilise un fichier {{C|~/.vimrc.bepo}} séparé, à la fois pour Vim et Vimperator (même si certains ''mappings'' sont inutiles dans Vimperator) :
 
<source lang="vim">
" {W} -> [É]
" ——————————
" On remappe W sur É :
noremap é w
noremap É W
" Corollaire, pour effacer/remplacer un mot quand on n'est pas au début :
noremap aé aw
noremap aÉ aW
" Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W :
noremap w <C-w>
noremap W <C-w><C-w>
 
" [HJKL] -> {CTSR}
" ————————————————
" {cr} = « gauche / droite »
noremap c h
noremap r l
" {ts} = « haut / bas »
noremap t j
noremap s k
" {CR} = « haut / bas de l'écran »
noremap C H
noremap R L
" {TS} = « joindre / aide »
noremap T J
noremap S K
 
" {HJKL} <- [CTSR]
" ————————————————
" {J} = « Jusqu'à »            (j = suivant, J = précédant)
noremap j t
noremap J T
" {L} = « Change »            (h = bloc, H = jusqu'à la fin de ligne)
noremap l c
noremap L C
" {H} = « Remplace »          (l = caractère, L = texte)
noremap h r
noremap H R
" {K} = « Supprime et insère » (k = caractère, K = ligne)
noremap k s
noremap K S
" pour la correction orthographique
noremap ]k ]s
noremap [k [s
 
" Désambiguation de {g}
" —————————————————————
" ligne précédante / suivante (à l'intérieur d'une phrase)
noremap gs gk
noremap gt gj
" onglet précédant / suivant
noremap gb gT
noremap gé gt
" premier / dernier onglet
noremap gB :exe "silent! tabfirst"<CR>
noremap gÉ :exe "silent! tablast"<CR>
" repli suivant / précédent
noremap zs zj
noremap zt zk
</source>
 
Je n'ai aucun ''mapping'' qui permette d'avoir les chiffres ou <> en direct, vu que j'utilise un layout [[Utilisateur:Kaze/Bépo-intl|Bépow-dev]] avec les chiffres en direct et <> en Shift («» en AltGr).


Je n'utilise aucun plugin spécifique (Vim 7 en inclut déjà pas mal), mais il m'arrive d'en tester. Voilà quelques plugins très simples qui peuvent s'avérer utiles :
Je n'utilise aucun plugin spécifique (Vim 7 en inclut déjà pas mal), mais il m'arrive d'en tester. Voilà quelques plugins très simples qui peuvent s'avérer utiles :

Dernière version du 6 septembre 2009 à 06:29

Pour ceux que ça intéresse, voilà mon fichier ~/.vimrc ; il est assez simpliste car je me suis longtemps contenté des réglages par défaut de Zenwalk (excellente distribution au demeurant), mais j'ai fini par créer mon propre fichier de préfs pour Xubuntu et le Bépo. Si les commentaires en anglais vous gênent, faites-moi un procès ! ;-)

" source the .vimrc file on save to apply all changes immediately
if has("autocmd")
  autocmd! bufwritepost .vimrc source ~/.vimrc
endif 

" ________________________________________________________
"
"     Zenwalk's default settings
" ________________________________________________________

set nocompatible
set bs=2
set tw=72
set cindent

set mouse=a
set mousehide

set nowrapscan

set showmatch
set showmode
set uc=0
"set t_kD=^?
"map ^H X
map \e[3~ x
let c_comment_strings=1

" Color for xiterm, rxvt, nxterm, color-xterm:
if has("terminfo")
	set t_Co=8
	set t_Sf=\e[3%p1%dm
	set t_Sb=\e[4%p1%dm
else
	set t_Co=8
	set t_Sf=\e[3%dm
	set t_Sb=\e[4%dm
endif

syntax on

" ________________________________________________________
"
"     Personal settings
" ________________________________________________________

colorscheme delek
set guifont=Monospace\ 8
set foldmethod=indent
set nu

" highlight nbsp ( )
highlight NbSp ctermbg=lightgrey guibg=lightred
match NbSp /\%xa0/

" indent with two spaces (= Mozilla guidelines)
set tabstop=2
set shiftwidth=2
set expandtab

" search
set hlsearch
set ignorecase
set smartcase
set incsearch

" disable incrementation of octal numbers
set nrformats=hex

" use the current file's directory as Vim's working directory
set autochdir

" ???
"behave mswin

" au InsertEnter * :hi Normal ctermbg=white guibg=white
" au InsertLeave * :hi Normal ctermbg=gray  guibg=gray 

" ________________________________________________________
"
"     Personal mappings
" ________________________________________________________

" I need another Esc key
inoremap <Tab> <Esc>
vnoremap <Tab> <Esc>
inoremap <S-Tab> <Tab>
vnoremap <S-Tab> <Tab>
inoremap <S-Return> <Esc>
vnoremap <S-Return> <Esc>
inoremap <M-Return> <Esc>
vnoremap <M-Return> <Esc>

" lazy scrolling
noremap <BS> <PageUp>
noremap <Space> <PageDown>
noremap <C-BS> <C-u>
noremap <C-Space> <C-d>
noremap <Return> zz

" lazy code folding / unfolding
noremap <Tab> za
noremap <S-Tab> zA

" switching / moving / creating tabs
noremap g<Tab> gt
noremap g<S-Tab> gT
noremap <C-Tab> gt
noremap <C-S-Tab> gT
noremap <C-PageUp> :exe "silent! tabmove " . (tabpagenr() - 2)<CR>
noremap <C-PageDown> :exe "silent! tabmove " . tabpagenr()<CR>
noremap <C-n> :exe "silent! tabnew"<CR>:exe "silent! Ex"<CR>

" ________________________________________________________
"
"     Using Vim with non-QWERTY layouts
" ________________________________________________________

" AZERTY
"noremap ù %
"noremap ; .
"noremap '; '.

" BÉPO
source ~/.vimrc.bepo

Ce fichier fonctionne avec tous les layouts de clavier ; pour la partie spécifique au Bépo, j'utilise un fichier ~/.vimrc.bepo séparé, à la fois pour Vim et Vimperator (même si certains mappings sont inutiles dans Vimperator) :

" {W} -> [É]
" ——————————
" On remappe W sur É :
noremap é w
noremap É W
" Corollaire, pour effacer/remplacer un mot quand on n'est pas au début :
noremapaw
noremap aÉ aW
" Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W :
noremap w <C-w>
noremap W <C-w><C-w>

" [HJKL] -> {CTSR}
" ————————————————
" {cr} = « gauche / droite »
noremap c h
noremap r l
" {ts} = « haut / bas »
noremap t j
noremap s k
" {CR} = « haut / bas de l'écran »
noremap C H
noremap R L
" {TS} = « joindre / aide »
noremap T J
noremap S K

" {HJKL} <- [CTSR]
" ————————————————
" {J} = « Jusqu'à »            (j = suivant, J = précédant)
noremap j t
noremap J T
" {L} = « Change »             (h = bloc, H = jusqu'à la fin de ligne)
noremap l c
noremap L C
" {H} = « Remplace »           (l = caractère, L = texte)
noremap h r
noremap H R
" {K} = « Supprime et insère » (k = caractère, K = ligne)
noremap k s
noremap K S
" pour la correction orthographique
noremap ]k ]s
noremap [k [s

" Désambiguation de {g}
" —————————————————————
" ligne précédante / suivante (à l'intérieur d'une phrase)
noremap gs gk
noremap gt gj
" onglet précédant / suivant
noremap gb gT
noremap gé gt
" premier / dernier onglet
noremap gB :exe "silent! tabfirst"<CR>
noremap gÉ :exe "silent! tablast"<CR>
" repli suivant / précédent
noremap zs zj
noremap zt zk

Je n'ai aucun mapping qui permette d'avoir les chiffres ou <> en direct, vu que j'utilise un layout Bépow-dev avec les chiffres en direct et <> en Shift («» en AltGr).

Je n'utilise aucun plugin spécifique (Vim 7 en inclut déjà pas mal), mais il m'arrive d'en tester. Voilà quelques plugins très simples qui peuvent s'avérer utiles :

  • comments.vim : Ctrl+C pour commenter une ligne, Ctrl+X pour la décommenter.
  • browser.vim : inclut un navigateur web textuel dans Vim (Lynx par défaut, mais on peut le remplacer par w3m).
  • sessions.vim : ajoute un menu « Sessions » dans gVim. À installer d'urgence si vous ne savez pas ce qu'est une session Vim.

Pour finir, quelques bons documents à propos de Vim :