« Utilisateur:Kaze/vimrc » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 1 : | Ligne 1 : | ||
Pour ceux que ça intéresse, voilà mon fichier ~/. | 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"> | <pre class="xkb"><nowiki> | ||
" 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 | ||
" 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 117 : | Ligne 126 : | ||
" BÉPO | " BÉPO | ||
source ~/.vimrc.bepo | source ~/.vimrc.bepo | ||
</pre> | </nowiki></pre> | ||
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é, | 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) : | ||
<pre class="xkb"><nowiki> | |||
" {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 | |||
</nowiki></pre> | |||
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 : |
Version du 22 juin 2008 à 09:38
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> zR " 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 : 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
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 :
- Seven habits of effective text editing (pdf) par Bram Moolenaar en personne (l'auteur de Vim)
- Vim for (PHP) programmers par Andrei Zmievski
- Aide-mémoire Vim de Laurent Grégoire, que Nemolivier a adapté au bépo (voir la page Vim)