<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://bepo.fr/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bpierre</id>
	<title>Disposition de clavier bépo - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://bepo.fr/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bpierre"/>
	<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/Sp%C3%A9cial:Contributions/Bpierre"/>
	<updated>2026-04-17T10:42:33Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Vim&amp;diff=18644</id>
		<title>Vim</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Vim&amp;diff=18644"/>
		<updated>2011-12-23T00:15:37Z</updated>

		<summary type="html">&lt;p&gt;Bpierre : /* Principe */ Correction : « R » était indiqué au lieu de « T »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://fr.wikipedia.org/wiki/Vim Vim] est un éditeur de texte ergonomique, libre et disponible sous de nombreux systèmes d&#039;exploitation. Cette page tente de regrouper le maximum d&#039;informations relatives à son utilisation avec la disposition bépo.&lt;br /&gt;
&lt;br /&gt;
== Ergonomie ==&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|450px|right|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
=== Pourquoi utiliser Vim ? ===&lt;br /&gt;
D&#039;un point de vue [[ergonomie|ergonomique]], Vim a été optimisé pour la prévention des [[TMS|troubles musculosquelettiques]] :&lt;br /&gt;
* il n&#039;utilise que très peu de raccourcis : plutôt que de recourir à des [[Modificateur|touches modificatrices]] ([[Ctrl]], [[Alt]] ou la touche [[Meta]]), il utilise plusieurs « modes » de fonctionnement (quatre modes : &#039;&#039;normal&#039;&#039;, &#039;&#039;insertion&#039;&#039;, &#039;&#039;visualisation&#039;&#039; et &#039;&#039;commande&#039;&#039;), ce qui permet d&#039;utiliser toutes les commandes en position « dactylo », c&#039;est-à-dire avec les doigts proches de la position de repos, prêt à taper du texte à tout instant ;&lt;br /&gt;
* les déplacements du curseur peuvent (devraient, à terme) se faire sans utiliser les flèches du clavier ou la souris : {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} déplacent le curseur case par case, {{ta|W}} {{ta|E}} {{ta|B}} déplacent le curseur mot à mot (équivalent à {{tt|Ctrl|flèche}}). Les mains restent ainsi en position dactylo pour toutes les manipulations de texte, &#039;&#039;y compris les déplacements&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisation des différents modes de Vim permet de se passer complètement de la souris et d&#039;éliminer la plupart des raccourcis contraignants qui brisent la frappe, tout en diminuant les mouvements de main et la quantité de touches pressées dans la journée.&lt;br /&gt;
&lt;br /&gt;
Le prix à payer est un temps d&#039;apprentissage assez long — plus long que sur n&#039;importe quel autre éditeur de texte. Toutefois, lorsqu&#039;on maîtrise les bases de Vim, le gain en confort et en productivité est tel qu&#039;on n&#039;utilise plus aucun autre éditeur — et on finit même par souhaiter [[#.C2.AB_B.C3.A9po-Vimification_.C2.BB_du_poste_de_travail|« Vimifier » les applications bureautiques courantes]] pour profiter de cette ergonomie sur l&#039;ensemble du poste de travail. Hors, les bases de Vim ne sont pas difficiles à apprendre, notamment parce qu&#039;il existe de bons tutoriels « par l&#039;exemple »… et que vous utilisez la disposition bépo ! &lt;br /&gt;
&lt;br /&gt;
Là où le bât blesse, c&#039;est que Vim a été conçu pour un clavier Qwerty (contexte américain) :&lt;br /&gt;
* le fait que les touches {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} correspondent à {{t|C}} {{t|T}} {{t|R}} {{t|S}} complique singulièrement la vie des [[bépoïstes]], même pour les « Vimistes » convaincus ;&lt;br /&gt;
* Vim n&#039;est pas parfaitement utilisable en l&#039;état avec le Bépo, contrairement à l&#039;Azerty ou même le Dvorak-US, essentiellement parce que les touches {{t|J}} et {{t|K}} ne sont pas côte-à-côte.&lt;br /&gt;
Il convient donc de configurer Vim pour l&#039;utiliser en Bépo – c&#039;est l&#039;objectif de cette page.&lt;br /&gt;
&lt;br /&gt;
=== Tutoriels et ressources Vim ===&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de Vim donne accès à un tutoriel spécialement étudié pour les débutants (mais qui fait une très bonne doc de rappel pour les &#039;&#039;moins&#039;&#039; débutants). Il est accessible en français par la commande&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vimtutor fr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Le principe est le suivant : un fichier texte est ouvert dans Vim et présente les bases de Vim. Vous êtes invité à modifier sur place ce fichier, c&#039;est-à-dire à tester les commandes et les exemples décrits dans le fichier. Comme le fichier modifié est en réalité une copie du tutorial, vous pouvez à tout moment relancer {{c|vimtutor}} pour repartir sur une version propre, si vous en arrivez à faire n&#039;importe quoi ou à bloquer dans un mode !&lt;br /&gt;
&lt;br /&gt;
* Les essentiels :&lt;br /&gt;
** [http://www.linux-france.org/article/appli/vi/intro.html Une anti-sèche Vim (les commandes essentielles)]&lt;br /&gt;
** [http://nemolivier.free.fr/vimqrc-fr-bepo.html Une anti-sèche Vim, &#039;&#039;version bépo&#039;&#039;]&lt;br /&gt;
** [http://www.swaroopch.com/notes/Vim_en:Table_of_Contents Un tutoriel assez didactique]&lt;br /&gt;
* En plus :&lt;br /&gt;
** [http://www.faqs.org/docs/Linux-HOWTO/Vim-HOWTO.html Le (gros) tutoriel officiel de Vim]&lt;br /&gt;
** [http://vim.wikia.com/wiki/Main_Page &#039;&#039;Vim Wiki Tips&#039;&#039;, une des ressource les plus complète]&lt;br /&gt;
** [http://www.blog-nouvelles-technologies.net/vim-35-ressources-pour-apprendre-a-lutiliser/ De nombreux liens vers des tutoriels]&lt;br /&gt;
** [http://mirmodynamics.com/post/2004/05/08/150-ledition-efficace-avec-vim Des conseils généraux]&lt;br /&gt;
** [http://www.rayninfo.co.uk/vimtips.html La page qui fait peur…]&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration partielle des touches ==&lt;br /&gt;
On ne cherche ici qu&#039;à implémenter le déplacement en {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} avec le moins d&#039;impact possible sur le reste des commandes Vim.&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|800px|center|Aide-mémoire Vim/bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
&lt;br /&gt;
=== Principe ===&lt;br /&gt;
* {{t|C}} {{t|T}} {{t|S}} {{t|R}} remplacent {{ta|H}} {{ta|J}} {{ta|K}} {{ta|L}} pour les touches de direction ;&lt;br /&gt;
* réciproquement :&lt;br /&gt;
** {{t|H}} remplace {{ta|R}} (&#039;&#039;remplacer&#039;&#039;)&lt;br /&gt;
** {{t|J}} remplace {{ta|T}} (&#039;&#039;jusqu&#039;à&#039;&#039;)&lt;br /&gt;
** {{t|K}} remplace {{ta|S}} (&#039;&#039;substitue&#039;&#039;)&lt;br /&gt;
** {{t|L}} remplace {{ta|C}} (&#039;modification de texte&#039;&#039;), juste à coté de {{t|D}} (&#039;&#039;couper&#039;&#039;)&lt;br /&gt;
* {{t|É}} remplace {{ta|W}} (&#039;&#039;mot suivant&#039;&#039;), le {{t|W}} étant beaucoup trop loin en bépo ;&lt;br /&gt;
* {{t|W}} est utilisé comme {{tt|Ctrl|W}} pour faciliter les manipulations de fenêtre.&lt;br /&gt;
&lt;br /&gt;
C&#039;est la solution la plus simple pour utiliser Vim confortablement en bépo.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vimrc ===&lt;br /&gt;
Créer un fichier {{C|~/.vimrc.bepo}} avec le contenu suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; {W} -&amp;gt; [É]&lt;br /&gt;
&amp;quot; ——————————&lt;br /&gt;
&amp;quot; On remappe W sur É :&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap É W&lt;br /&gt;
&amp;quot; Corollaire, pour effacer/remplacer un mot quand on n’est pas au début (daé / laé).&lt;br /&gt;
&amp;quot; (attention, cela diminue la réactivité du {A}…)&lt;br /&gt;
noremap aé aw&lt;br /&gt;
noremap aÉ aW&lt;br /&gt;
&amp;quot; Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W :&lt;br /&gt;
noremap w &amp;lt;C-w&amp;gt;&lt;br /&gt;
noremap W &amp;lt;C-w&amp;gt;&amp;lt;C-w&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; [HJKL] -&amp;gt; {CTSR}&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {cr} = « gauche / droite »&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap r l&lt;br /&gt;
&amp;quot; {ts} = « haut / bas »&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
&amp;quot; {CR} = « haut / bas de l&#039;écran »&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap R L&lt;br /&gt;
&amp;quot; {TS} = « joindre / aide »&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
&amp;quot; Corollaire : repli suivant / précédent&lt;br /&gt;
noremap zs zj&lt;br /&gt;
noremap zt zk&lt;br /&gt;
&lt;br /&gt;
&amp;quot; {HJKL} &amp;lt;- [CTSR]&lt;br /&gt;
&amp;quot; ————————————————&lt;br /&gt;
&amp;quot; {J} = « Jusqu&#039;à »            (j = suivant, J = précédant)&lt;br /&gt;
noremap j t&lt;br /&gt;
noremap J T&lt;br /&gt;
&amp;quot; {L} = « Change »             (l = attend un mvt, L = jusqu&#039;à la fin de ligne)&lt;br /&gt;
noremap l c&lt;br /&gt;
noremap L C&lt;br /&gt;
&amp;quot; {H} = « Remplace »           (h = un caractère slt, H = reste en « Remplace »)&lt;br /&gt;
noremap h r&lt;br /&gt;
noremap H R&lt;br /&gt;
&amp;quot; {K} = « Substitue »          (k = caractère, K = ligne)&lt;br /&gt;
noremap k s&lt;br /&gt;
noremap K S&lt;br /&gt;
&amp;quot; Corollaire : correction orthographique&lt;br /&gt;
noremap ]k ]s&lt;br /&gt;
noremap [k [s&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Désambiguation de {g}&lt;br /&gt;
&amp;quot; —————————————————————&lt;br /&gt;
&amp;quot; ligne écran précédente / suivante (à l&#039;intérieur d&#039;une phrase)&lt;br /&gt;
noremap gs gk&lt;br /&gt;
noremap gt gj&lt;br /&gt;
&amp;quot; onglet précédant / suivant&lt;br /&gt;
noremap gb gT&lt;br /&gt;
noremap gé gt&lt;br /&gt;
&amp;quot; optionnel : {gB} / {gÉ} pour aller au premier / dernier onglet&lt;br /&gt;
noremap gB :exe &amp;quot;silent! tabfirst&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
noremap gÉ :exe &amp;quot;silent! tablast&amp;quot;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; optionnel : {g&amp;quot;} pour aller au début de la ligne écran&lt;br /&gt;
noremap g&amp;quot; g0&lt;br /&gt;
&lt;br /&gt;
&amp;quot; &amp;lt;&amp;gt; en direct&lt;br /&gt;
&amp;quot; ————————————&lt;br /&gt;
noremap « &amp;lt;&lt;br /&gt;
noremap » &amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez avoir les chiffres en accès direct en mode normal, remplacez la section « &amp;lt;&amp;gt; en direct » par les lignes suivantes :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Chiffres en accès direct&lt;br /&gt;
&amp;quot; ————————————————————————&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap 1 &amp;quot;&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap 2 &amp;lt;&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap 3 &amp;gt;&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap 4 (&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap 5 )&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap 6 @&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap 7 +&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap 8 -&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap 9 /&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap 0 *&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis ajoutez la ligne suivante dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
source ~/.vimrc.bepo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Nota&#039;&#039; : les utilisateurs de [[Vimperator]] peuvent ajouter la même ligne dans le fichier {{C|~/.vimperatorrc}}.&lt;br /&gt;
&lt;br /&gt;
=== ~/.vim/after/ftplugin/netrw.vim ===&lt;br /&gt;
&lt;br /&gt;
Ex est le &#039;&#039;plugin&#039;&#039; d&#039;exploration de fichiers de Vim. On le lance avec « :Ex », « :Sex », « :Vex », « :Tex », ou même « :e . ».&lt;br /&gt;
&lt;br /&gt;
Malheureusement, {{t|t}} et {{t|s}} ne fonctionnent pas comme « bas/haut » avec cet explorateur, car les &#039;&#039;mappings&#039;&#039; d&#039;Ex ne sont pas définis dans {{C|~/.vimrc}}. Deux solutions :&lt;br /&gt;
* utiliser les flèches plutôt que {{t|C}} {{t|T}} {{t|S}} {{t|R}} avec Ex — voire, au pire, utiliser la souris (sacrilège !)&lt;br /&gt;
* redéfinir les commandes d&#039;Ex dans le fichier {{C|~/.vim/after/ftplugin/netrw.vim}} comme suit :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; t&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; s&lt;br /&gt;
nunmap &amp;lt;buffer&amp;gt; k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; t j&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; s k&lt;br /&gt;
nnoremap &amp;lt;buffer&amp;gt; k s&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Avec ce fichier, {{t|T}} et {{t|S}} fonctionnent désormais comme bas/haut et {{t|K}} permet de changer le type de tri (par nom, par date, etc.). Attention, l&#039;aide affichée par Ex ne correspond plus à la réalité !&lt;br /&gt;
&lt;br /&gt;
=== Remarques ===&lt;br /&gt;
&lt;br /&gt;
Les touches {{t|Ê}} {{t|È}} {{t|À}} {{t|Ç}} sont inutilisées par Vim et peuvent donc être affectées librement. Par exemple, on peut faire de {{t|È}} une touche « début de ligne » :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap è ^&lt;br /&gt;
noremap È 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le guillemet-apostrophe (&#039;&#039;rsqm&#039;&#039;) en direct ne peut pas être réaffecté en une apostrophe droite (probablement parce que le &#039;&#039;rqsm&#039;&#039; n&#039;est pas disponible en Latin-1). Par contre, les adeptes du guillemet-apostrophe en [[accès direct]] peuvent utiliser la touche {{t|ç}} à cet effet :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap ç &#039;&lt;br /&gt;
noremap Ç `&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
À faire pour la prochaine version (0.6.7) :&lt;br /&gt;
* inverser {{t|j}} et {{t|h}} pour regrouper les fonctions de recherche de caractères sur une même ligne ;&lt;br /&gt;
* penser à mettre à jour le label de {;/:} ;&lt;br /&gt;
* remplacer &amp;lt;&amp;gt; par «» sur les touches {{t|2}} {{t|3}} ?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Par ailleurs, on pourrait échanger {{t|s}} et {{t|g}} de façon à avoir {{t|g}} sous la main gauche et pour une meilleure cohérence des raccourcis de Vim : les commandes correspondant à « s » et « r », respectivement {{t|g}} et {{t|h}}, se trouveraient alors sous les touches {{t|S}} et {{t|R}}.&amp;lt;/del&amp;gt; &#039;&#039;problématique pour les raccourcis en {{t|g}}, nécessite une série de remappages supplémentaires, et conflit avec l&#039;inversion {{t|j}}/{{t|h}}.&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration à la demande ==&lt;br /&gt;
&lt;br /&gt;
Mettre le script suivant dans {{c|~/.vim/plugin/dvorak-toggle}}. Avec un minimum d&#039;adaptation, il est possible gérer n&#039;importe quelle disposition.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Quick Dvorak-layout toggle. &lt;br /&gt;
&amp;quot; when toggled, you can use ctsr to move &lt;br /&gt;
&amp;quot; when untoggled, ctsr will behave as expected by vim &lt;br /&gt;
&amp;quot; &lt;br /&gt;
&amp;quot; This code is under BSD licence, and the author doesn&#039;t even bother tell his identity.&lt;br /&gt;
&lt;br /&gt;
let s:DvorakToggleState = 0&lt;br /&gt;
let s:DvorakToggleOldMap = 0&lt;br /&gt;
&lt;br /&gt;
function! g:DvorakToggle () &lt;br /&gt;
  if s:DvorakToggleState &lt;br /&gt;
    :set langmap=s:DvorakToggleOldMap &lt;br /&gt;
    let s:DvorakToggleState = 0 &lt;br /&gt;
  else  &lt;br /&gt;
    let g:DvorakToggleOldMap = &amp;amp;langmap &lt;br /&gt;
    :set langmap=ctsrCTSRhjklHJKL;hjklHJKLctsrCTSR &lt;br /&gt;
    let s:DvorakToggleState = 1 &lt;br /&gt;
  endif &lt;br /&gt;
endfunction &lt;br /&gt;
&lt;br /&gt;
&amp;quot; use à or whatever you want. Make it easy to access though. &lt;br /&gt;
nmap à :call g:DvorakToggle()&amp;lt;CR&amp;gt; &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration conditionnelle ==&lt;br /&gt;
&lt;br /&gt;
Il est parfois possible détecter depuis Vim si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement).&lt;br /&gt;
&lt;br /&gt;
=== Sous X ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if !empty(system(&amp;quot;setxkbmap -print|grep bepo&amp;quot;))&lt;br /&gt;
    source ~/.vimrc.bepo&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration totale des touches ==&lt;br /&gt;
&lt;br /&gt;
Une option &#039;&#039;radicale&#039;&#039; consisterait à reconfigurer toutes les touches en mode normal afin qu&#039;elles correspondent aux labels du clavier [[Azerty]]. On pourrait même envisager de générer automatiquement un tel fichier avec les outils du projet bépo, si suffisamment d&#039;utilisateurs étaient intéressés…&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Qwerty ===&lt;br /&gt;
[[Image:Vim bépo.png|thumb|450px|right|Aide-mémoire Vim/bépo avec mapping du clavier bépo -&amp;gt; qwerty en mode normal]]&lt;br /&gt;
C&#039;est à priori la meilleure solution du point de vue de l&#039;ergonomie. On peut reprendre les &#039;&#039;cheat sheets&#039;&#039; (anti-sèches) classiques en l&#039;état !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&amp;quot;&amp;quot; mapping du clavier bépo-&amp;gt;qwerty en mode normal&lt;br /&gt;
&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des lettres&lt;br /&gt;
&lt;br /&gt;
noremap b q&lt;br /&gt;
noremap é w&lt;br /&gt;
noremap p e&lt;br /&gt;
noremap o r&lt;br /&gt;
noremap è t&lt;br /&gt;
noremap ^ y&lt;br /&gt;
noremap v u&lt;br /&gt;
noremap d i&lt;br /&gt;
noremap l o&lt;br /&gt;
noremap j p&lt;br /&gt;
noremap z [&lt;br /&gt;
noremap w ]&lt;br /&gt;
noremap a a&lt;br /&gt;
noremap u s&lt;br /&gt;
noremap i d&lt;br /&gt;
noremap e f&lt;br /&gt;
noremap \ \&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap c h&lt;br /&gt;
noremap t j&lt;br /&gt;
noremap s k&lt;br /&gt;
noremap r l&lt;br /&gt;
noremap n ;&lt;br /&gt;
noremap m &#039;&lt;br /&gt;
noremap ê &amp;lt;&lt;br /&gt;
noremap à z&lt;br /&gt;
noremap àà zz&lt;br /&gt;
noremap y x&lt;br /&gt;
noremap x c&lt;br /&gt;
noremap . v&lt;br /&gt;
noremap k b&lt;br /&gt;
noremap &#039; n&lt;br /&gt;
noremap q m&lt;br /&gt;
noremap g ,&lt;br /&gt;
noremap , g&lt;br /&gt;
noremap ,, gg&lt;br /&gt;
noremap h .&lt;br /&gt;
noremap f /&lt;br /&gt;
noremap B Q&lt;br /&gt;
noremap É W&lt;br /&gt;
noremap P E&lt;br /&gt;
noremap O R&lt;br /&gt;
noremap È T&lt;br /&gt;
noremap ! Y&lt;br /&gt;
noremap V U&lt;br /&gt;
noremap D I&lt;br /&gt;
noremap L O&lt;br /&gt;
noremap J P&lt;br /&gt;
noremap Z {&lt;br /&gt;
noremap W }&lt;br /&gt;
noremap A A&lt;br /&gt;
noremap U S&lt;br /&gt;
noremap I D&lt;br /&gt;
noremap E F&lt;br /&gt;
noremap ; G&lt;br /&gt;
noremap C H&lt;br /&gt;
noremap T J&lt;br /&gt;
noremap S K&lt;br /&gt;
noremap R L&lt;br /&gt;
noremap N :&lt;br /&gt;
noremap M &amp;quot;&lt;br /&gt;
noremap Ç \|&lt;br /&gt;
noremap Ê &amp;gt;&lt;br /&gt;
noremap À Z&lt;br /&gt;
noremap ÀÀ ZZ&lt;br /&gt;
noremap Y X&lt;br /&gt;
noremap X C&lt;br /&gt;
noremap : V&lt;br /&gt;
noremap K B&lt;br /&gt;
noremap ? N&lt;br /&gt;
noremap Q M&lt;br /&gt;
noremap G &amp;lt;&lt;br /&gt;
noremap H &amp;gt;&lt;br /&gt;
noremap F ?&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration du copié sur le ç car y est sur la touche composé ^&lt;br /&gt;
&lt;br /&gt;
noremap ç y&lt;br /&gt;
&lt;br /&gt;
&amp;quot; configuration des nombres&lt;br /&gt;
&lt;br /&gt;
noremap $ `&lt;br /&gt;
noremap &amp;quot; 1&lt;br /&gt;
noremap « 2&lt;br /&gt;
noremap » 3&lt;br /&gt;
noremap ( 4&lt;br /&gt;
noremap ) 5&lt;br /&gt;
noremap @ 6&lt;br /&gt;
noremap + 7&lt;br /&gt;
noremap - 8&lt;br /&gt;
noremap / 9&lt;br /&gt;
noremap * 0&lt;br /&gt;
noremap = -&lt;br /&gt;
noremap % =&lt;br /&gt;
noremap # ~&lt;br /&gt;
noremap 1 !&lt;br /&gt;
noremap 2 @&lt;br /&gt;
noremap 3 #&lt;br /&gt;
noremap 4 $&lt;br /&gt;
noremap 5 %&lt;br /&gt;
noremap 6 ^&lt;br /&gt;
noremap 7 &amp;amp;&lt;br /&gt;
noremap 8 *&lt;br /&gt;
noremap 9 (&lt;br /&gt;
noremap 0 )&lt;br /&gt;
noremap ° _&lt;br /&gt;
noremap ` +&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Bépo/Azerty ===&lt;br /&gt;
&lt;br /&gt;
Cette variante permet de se référer aux labels des touches du clavier [[Azerty]] pour les commandes Vim.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set langmap=ba,éz,pe,or,èt,çy,vu,di,lo,fp,j^,z$,aq,us,id,ef,\,g,ch,tj,sk,nl,rm,mù,^*,ê&amp;lt;,àw,hx,yc,.v,kb,&#039;n,q\,,g;;,x:,w!,BA,ÉZ,PE,OR,ÈT,ÇY,VU,DI,LO,FP,J¨,Z£,AQ,US,ID,EF,?G,CH,TJ,SK,NL,RM,M%,!*,Ê&amp;gt;,ÀW,HX,YC,:V,KB,\\;N,QG,G.,X/,W§,@œ,_&amp;amp;,&amp;quot;é,«&amp;quot;,»&#039;,((,)-,+è,-_,*ç,/à,=),%=,$Œ,^°,µ+,#“,{´,}~,&amp;lt;#,&amp;gt;{,[[,]|,±`,¬\,×^,÷@,¯],%}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autres options utiles ==&lt;br /&gt;
&lt;br /&gt;
Quelques petites astuces. À ajouter dans le fichier {{C|~/.vimrc}}.&lt;br /&gt;
&lt;br /&gt;
=== Appliquer automatiquement les modifications de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
La première chose à faire pour jouer avec {{C|~/.vimrc}} !&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
if has(&amp;quot;autocmd&amp;quot;)&lt;br /&gt;
  autocmd! bufwritepost .vimrc source ~/.vimrc&lt;br /&gt;
endif&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : cette astuce semble ne pas fonctionner pour certains. Si vous constatez des problèmes, passez-vous en et relancez Vim après chaque modification de {{c|~/.vimrc}} que vous voulez tester…&lt;br /&gt;
&lt;br /&gt;
=== Espaces insécables ===&lt;br /&gt;
&lt;br /&gt;
Les espaces insécables du Bépo peuvent poser problème, notamment dans des fichiers de code brut ([[ASCII]]) où ils génèrent des erreurs. On a deux façons simples de s’en prémunir :&lt;br /&gt;
&lt;br /&gt;
; Colorier les espaces insécables pour mieux les repérer :&lt;br /&gt;
Ajouter les lignes suivantes &#039;&#039;après la ligne « syntax on »&#039;&#039; le cas échéant. Bien entendu, on peut changer la couleur.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; colorise les nbsp&lt;br /&gt;
highlight NbSp ctermbg=lightgray guibg=lightred&lt;br /&gt;
match NbSp /\%xa0/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
; Faire apparaître les insécable avec un autre caractère&lt;br /&gt;
Ils apparaitront avec le caractère choisi au bout de la première ligne. Ici le « · »&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:·&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Autre exemple trouvé sur [http://blog.gnusquad.org/2009/07/24/afficher-les-caracteres-speciaux-dans-vim/ Gnusquad] avec plus de caractères « invisibles » affichés :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
set listchars=nbsp:¤,tab:&amp;gt;-,trail:¤,extends:&amp;gt;,precedes:&amp;lt;&lt;br /&gt;
set list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Mapper l’espace insécable en « Escape » :&lt;br /&gt;
à éviter pour rédiger du texte mais très pratique pour taper du code !&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; interdit les nbsp en mode insertion&lt;br /&gt;
inoremap &amp;lt;S-Space&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Esc] plus accessible ===&lt;br /&gt;
&lt;br /&gt;
Vim fait un grand usage de la touche {{ta|Escape}} qui se trouve loin (&#039;&#039;a priori&#039;&#039; en haut à gauche). On peut modifier le comportement de {{t|Tab}} pour qu’il serve de touche {{t|Esc}}. On garde un {{t|Tab}} en {{tt|Maj|Tab}}. Attention, &#039;&#039;à ne pas utiliser dans Vimperator&#039;&#039;, on y a besoin du Tab direct…&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note&#039;&#039; : {{tt|Ctrl|C}} est un alias standard de {{t|Esc}}, plus central, mais c&#039;est un raccourci à deux touches. À vous de voir si cette combinaison est agréable ou pas sur votre clavier physique.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; Tab fait un Esc, Maj+Tab fait un Tab&lt;br /&gt;
inoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
inoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Même chose, mais en mode visuel&lt;br /&gt;
vnoremap &amp;lt;Tab&amp;gt; &amp;lt;Esc&amp;gt;&lt;br /&gt;
vnoremap &amp;amp;lt;S-Tab&amp;gt; &amp;lt;Tab&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Les possesseurs de clavier TypeMatrix peuvent aussi remapper la touche « desktop » en Esc en suivant les explications présentées sur [[TypeMatrix#Trucs_et_astuces|la page dédiée au TypeMatrix]].&lt;br /&gt;
&lt;br /&gt;
=== [PgUp] / [PgDn] plus accessibles ===&lt;br /&gt;
&lt;br /&gt;
Vim utilise par défaut {{tta|Ctrl|B}} et {{tta|Ctrl|F}} pour aller à la page précédente ou suivante. Ce n&#039;est déjà pas la panacée en Qwerty, mais en Bépo, c&#039;est l&#039;horreur, car ces deux touches sont à l&#039;exact opposé l&#039;une de l&#039;autre ! Pour y remédier, on peut par exemple utiliser les touches {{t|BackSpace}} et {{t|Espace}}, c&#039;est bien plus confortable :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;PageUp&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;PageDown&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternativement, si on préfère défiler des demi-pages, on peut utiliser les &#039;&#039;mappings&#039;&#039; suivants :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
noremap &amp;lt;BS&amp;gt; &amp;lt;C-U&amp;gt;&lt;br /&gt;
noremap &amp;lt;Space&amp;gt; &amp;lt;C-D&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tant qu&#039;on y est, on peut aussi utiliser {{t|Entrée}} pour centrer la page sur le curseur (ne fonctionne pas avec [[Vimperator]]) :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 noremap &amp;lt;Return&amp;gt; zz&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Fixer l’encodage des fichiers en utf-8 ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
 set encoding=utf-8&lt;br /&gt;
 set fileencoding=utf-8&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plus de détails [http://ubunteros.tuxfamily.org/spip.php?article182 ici].&lt;br /&gt;
&lt;br /&gt;
=== Lancer un navigateur web depuis Vim ===&lt;br /&gt;
&lt;br /&gt;
Hors sujet, mais vraiment belle astuce.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » et « v,s » lancent firefox et une recherche (définition ou synonyme) dans le tlfi sur le mot courant&lt;br /&gt;
vmap ,d :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
vmap ,s :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » comme ci-dessus mais pour google&lt;br /&gt;
vmap ,g :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;cword&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot;« v,w » comme ci-dessus mais pour wikipedia&lt;br /&gt;
vmap ,w :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » comme ci-dessus mais pour le conjugueur&lt;br /&gt;
vmap ,c :&amp;lt;C-U&amp;gt;!firefox &amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;cword&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,o » ouvre l’url sur laquelle on se trouve dans firefox&lt;br /&gt;
vmap ,o :&amp;lt;C-U&amp;gt;!firefox &amp;quot;&amp;lt;cfile&amp;gt;&amp;quot; &amp;gt;&amp;amp; /dev/null&amp;lt;CR&amp;gt;&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut que Firefox soit dans le {{c|$PATH}}, sinon, il faut indiquer le chemin complet de l’exécutable. Les raccourcis proposés sont tous en « ,x » pour qu’il n’y ait pas d’interaction malencontreuse avec d’autres commandes, mais on peut changer cette partie.&lt;br /&gt;
&lt;br /&gt;
Variante qui tue, en utilisant un navigateur texte à l&#039;intérieur de Vim :&lt;br /&gt;
* enregistrer [http://www.vim.org/scripts/script.php?script_id=2227 browser.vim] dans le dossier {{C|~/.vim/plugin/}}&lt;br /&gt;
* facultatif : remplacer « lynx » par « w3m » partout dans le fichier {{C|browser.vim}} (w3m supporte l&#039;utf-8, contrairement à lynx)&lt;br /&gt;
* ajouter les lignes suivantes dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot; « v,d » cherche la définition du mot courant dans le TLFI&lt;br /&gt;
vmap ,d :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/lexicographie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,s » cherche les synonymes du mot courant dans le TLFI&lt;br /&gt;
vmap ,s :call OpenWebBrowser(&amp;quot;http://www.cnrtl.fr/synonymie/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,g » cherche le mot courant dans Google&lt;br /&gt;
vmap ,g :call OpenWebBrowser(&amp;quot;http://www.google.fr/search?hl=fr&amp;amp;q=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;amp;btnG=Recherche+Google&amp;amp;meta=&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,c » cherche le mot courant dans le conjugueur&lt;br /&gt;
vmap ,c :call OpenWebBrowser(&amp;quot;http://www.leconjugueur.com/php5/index.php?v=&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; « v,w » cherche le mot courant Wikipedia&lt;br /&gt;
vmap ,w :call OpenWebBrowser(&amp;quot;http://fr.wikipedia.org/wiki/&amp;lt;C-R&amp;gt;&amp;lt;C-W&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;quot; ouvre l’URL sur laquelle on se trouve&lt;br /&gt;
vmap ,o :call OpenWebBrowser(&amp;quot;&amp;lt;C-R&amp;gt;&amp;lt;C-A&amp;gt;&amp;quot;)&amp;lt;CR&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Les URLs proposées ici correspondent à un usage de Vim en traitement de texte ; les développeurs auront tôt fait de remplacer ces URLs par des documentations d&#039;API en ligne.&lt;br /&gt;
&lt;br /&gt;
=== Exemples de ~/.vimrc ===&lt;br /&gt;
&lt;br /&gt;
* celui de [[Utilisateur:Kaze|Kazé]] est [[Utilisateur:Kaze/vimrc|ici]]&lt;br /&gt;
* celui de [[Utilisateur:Nemolivier|NémOlivier]] est [[Utilisateur:Nemolivier/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Jd|jd]] est [[Utilisateur:Jd/vimrc|là]]&lt;br /&gt;
* celui de [[Utilisateur:Carnifex|Carnifex]] est [[Utilisateur:Carnifex/.vimrc|ici]], et le .vimrc.bepo [[Utilisateur:Carnifex/.vimrc.bepo|là]]&lt;br /&gt;
&lt;br /&gt;
== « Bépo-Vimification » du poste de travail ==&lt;br /&gt;
&lt;br /&gt;
Bon nombre d&#039;applications courantes utilisent les touches de déplacement de Vim, sans toutefois utiliser le fichier ~/.vimrc pour la configuration de ces touches. Moyennant un effort de configuration, on peut donc disposer d&#039;un mode Vim, avec les touches de déplacement en {CTSR}, sur l&#039;ensemble de son poste de travail.&lt;br /&gt;
&lt;br /&gt;
=== Navigateurs web ===&lt;br /&gt;
&lt;br /&gt;
;Uzbl&lt;br /&gt;
[http://www.uzbl.org/ Uzbl] (prononcez &amp;quot;usable&amp;quot;) est un navigateur web qui se pilote entièrement au clavier avec les raccourcis clavier de vim. Fondé sur webkit, uzbl est beaucoup plus léger que vimperator.  &lt;br /&gt;
&lt;br /&gt;
;Firefox&lt;br /&gt;
[http://vimperator.mozdev.org/ Vimperator] est une extension Firefox permettant de piloter confortablement Firefox au clavier, et même d&#039;utiliser Vim comme éditeur pour les champs texte. Elle peut partager une partie de son fichier de configuration avec Vim (v. plus haut), il suffit d&#039;ajouter cette ligne au fichier {{C|~/.vimperatorrc}} :&lt;br /&gt;
 source ~/.vimrc.bepo&lt;br /&gt;
&lt;br /&gt;
Une aide sur l&#039;utilisation bépo de vimperator est disponnible [[vimperator|sur cette page]].&lt;br /&gt;
&lt;br /&gt;
À noter : Vimperator est conçu pour fonctionner avec les chiffres en accès direct, ce qui est gênant (mais pas insurmontable) pour sélectionner des liens via le mécanismes de &#039;&#039;quick hints&#039;&#039; ({{t|f}} et {{t|F}}). Le mapping proposé pour avoir les chiffres en accès direct dans Vim ne fonctionne pas avec Vimperator.&lt;br /&gt;
&lt;br /&gt;
Voir [http://vimperator.cutup.org/index.php?title=Configuration le wiki de Vimperator] pour plus d&#039;informations sur la configuration.&lt;br /&gt;
&lt;br /&gt;
Voir également [http://code.google.com/p/gvimail/ GViMail] pour utiliser Vimperator avec Gmail.&lt;br /&gt;
&lt;br /&gt;
;Chrome / Chromium&lt;br /&gt;
Il existe plusieurs extensions visant à émuler les commandes Vim sous Chrome. On peut citer [https://chrome.google.com/extensions/detail/cdkefpgghindmmclchkbcdgikbpnbiaj YakShave], [https://chrome.google.com/extensions/detail/godjoomfiimiddapohpmfklhgmbfffjj Vrome] et [https://chrome.google.com/extensions/detail/dbepggeogbaibhgnhhndojpepiihcmeb Vimium]. Les deux premières sont assez complexes mais extensivement configurables via un serveur à lancer en tâche de fond — indépendamment de Chrome. La dernière a le mérite de rester simple et de remplir assez bien son office. Voici de quoi lui apprendre à se comporter un peu mieux en bépo (lignes à copier dans la section « Adanced options &amp;gt;&amp;gt; Key mappings » des réglages de l’extension):&lt;br /&gt;
&amp;lt;source lang=&amp;quot;vim&amp;quot;&amp;gt;&lt;br /&gt;
map t scrollDown&lt;br /&gt;
map s scrollUp&lt;br /&gt;
map c scrollLeft&lt;br /&gt;
map r scrollRight&lt;br /&gt;
map j createTab&lt;br /&gt;
map gé nextTab&lt;br /&gt;
map gb previousTab&lt;br /&gt;
map h reload&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Thunderbird ===&lt;br /&gt;
&lt;br /&gt;
[http://muttator.mozdev.org/ Muttator] est l&#039;équivalent de Vimperator pour Thunderbird. Le projet est encore en début de développement, mais serait d&#039;ores et déjà utilisable (non testé).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;À compléter.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== IDEs ===&lt;br /&gt;
Vim n&#039;est qu&#039;un éditeur texte, pas un IDE. Cependant, la plupart des IDEs disposent d&#039;un mode Vi, nativement ou non.&lt;br /&gt;
&lt;br /&gt;
;Emacs&lt;br /&gt;
Emacs dispose nativement d&#039;un mode Vi qui &amp;lt;del&amp;gt;le rend utilisable&amp;lt;/del&amp;gt; permet de déplacer le curseur sans bouger les mains (pas testé ;-)).&lt;br /&gt;
&lt;br /&gt;
;Komodo&lt;br /&gt;
Komodo et OpenKomodo disposent nativement d&#039;un mode Vi.&lt;br /&gt;
&lt;br /&gt;
;Eclipse&lt;br /&gt;
il y a un [http://vimplugin.org/ plugin Vim] pour Eclipse ; il y a aussi le projet [http://eclim.sourceforge.net/ Eclim], qui permet d&#039;utiliser Vim comme éditeur de texte dans Eclipse.&lt;br /&gt;
&lt;br /&gt;
;Visual Studio™&lt;br /&gt;
[http://www.viemu.com/ ViEmu] propose un plugin Vim (non-libre) pour Visual Studio, ainsi que pour Word™ et Outlook™.&lt;br /&gt;
&lt;br /&gt;
;Pida&lt;br /&gt;
[http://pida.co.uk/ Pida] utilise nativement vim ou bien Emacs.&lt;br /&gt;
&lt;br /&gt;
=== Outils du shell ===&lt;br /&gt;
De nombreux outils courants du shell utilisent nativement les raccourcis Vim :&lt;br /&gt;
* [[wp:Less|less]] : le &#039;&#039;pager&#039;&#039; le plus courant de nos jours, qui succède avantageusement à &#039;&#039;more&#039;&#039; ; c&#039;est lui qui met en forme les pages man, notamment. Il est configurable via [http://unixhelp.ed.ac.uk/CGI/man-cgi?lesskey lesskey].&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Aptitude_(logiciel) aptitude] : le gestionnaire de paquets Debian est [http://algebraicthunk.net/~dburrows/projects/aptitude/doc/en/ch02s04s02.html configurable] lui aussi.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/W3m w3m] : navigateur web, moins connu que Lynx, mais qui a néanmoins l&#039;avantage d&#039;être compatible utf-8, entre autres. On peut [http://w3m.sourceforge.net/MANUAL#Key:custom redéfinir les raccourcis clavier] dans le fichier {{C|~/.w3m/config}}.&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Mutt mutt] : client mail. On peut utiliser ses propres mappings ([http://www103.pair.com/parv/comp/unix/cf/mail/mutt-keys-hooks.cf exemple]).&lt;br /&gt;
* [http://fr.wikipedia.org/wiki/Muttng muttng] : fork de mutt, qui inclut un certain nombre de patches et qui serait plus [http://mutt-ng.berlios.de/manual/manual.html#id2525213 configurable] ([http://lists.berlios.de/pipermail/mutt-ng-users/2006-May/000196.html exemple]).&lt;br /&gt;
&lt;br /&gt;
Les plus gravement atteints peuvent utiliser des raccourcis Vi dans le terminal :&lt;br /&gt;
* en modifiant le fichier [http://vim.wikia.com/wiki/Use_vi_shortcuts_in_terminal ~/.inputrc]&lt;br /&gt;
* en utilisant [http://fr.wikipedia.org/wiki/Zsh zsh], qui possède un mode vi ; il suffit d&#039;ajouter les lignes suivantes au fichier {{C|~/.zshrc}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 # Mode vim&lt;br /&gt;
 bindkey -v&lt;br /&gt;
 &lt;br /&gt;
 # On remappe pour le bépo&lt;br /&gt;
 bindkey -a c vi-backward-char&lt;br /&gt;
 bindkey -a r vi-forward-char&lt;br /&gt;
 bindkey -a t vi-down-line-or-history&lt;br /&gt;
 bindkey -a s vi-up-line-or-history&lt;br /&gt;
 bindkey -a $ vi-end-of-line&lt;br /&gt;
 bindkey -a 0 vi-digit-or-beginning-of-line &lt;br /&gt;
 bindkey -a h vi-change&lt;br /&gt;
 bindkey -a H vi-change-eol&lt;br /&gt;
 bindkey -a dd vi-change-whole-line&lt;br /&gt;
 bindkey -a l vi-replace-chars&lt;br /&gt;
 bindkey -a L vi-replace&lt;br /&gt;
 bindkey -a k vi-substitute  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sous X, il est parfois possible détecter si votre disposition préférée est en place (pour ceux qui ne peuvent ou ne veulent s’en servir systématiquement). Il suffit d’enfermer les {{C|bindkey}} dans un bloc {{C|if}} :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
if [[ $DISPLAY != &#039;&#039; &amp;amp;&amp;amp; `setxkbmap -print|grep bepo` != &#039;&#039; ]]; then&lt;br /&gt;
    ...&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
D&#039;autres applications utilisent les raccourcis Vi mais ne sont pas remappables. Vous pouvez toujours contacter leurs auteurs pour leur demander d&#039;inclure un mécanisme de &#039;&#039;mapping&#039;&#039;, ou recompiler ces outils avec des &#039;&#039;mappings&#039;&#039; bépo.&lt;br /&gt;
* [http://vifm.sourceforge.net/ vifm] : très bon explorateur de fichiers, en pleine phase de développement.&lt;br /&gt;
* [http://cmus.sourceforge.net/ cmus] : lecteur audio. Le site officiel précise qu&#039;il supporte des &#039;&#039;dynamic keybindings&#039;&#039;, reste à savoir comment ça se configure.&lt;br /&gt;
* [http://www.brain-dump.org/projects/dvtm/ dvtm] : permet de scinder n’importe quel émulateur de terminal à la manière d’un gestionnaire de fenêtres en mosaïque. Tout simplement génial, notamment en conjonction avec Vim, mais il faut le recompiler pour changer les raccourcis clavier.&lt;br /&gt;
&lt;br /&gt;
=== Gestionnaires de fenêtres en mosaïque ===&lt;br /&gt;
&lt;br /&gt;
Ces gestionnaires de fenêtres sont des alternatives intéressantes pour ceux qui cherchent à se passer complètement de la souris. Ils sont conçus exclusivement pour la productivité : pas de décorations de fenêtre, les fenêtres sont placées automatiquement par le gestionnaire pour occuper tout l&#039;espace disponible : typiquement, une fenêtre « maître » qui occupe une large colonne de l&#039;écran, et toutes les autres fenêtres « auxiliaires » qui se partagent l&#039;espace restant. Le lancement des applications et les manipulations de fenêtres (sélection, déplacement, passage d&#039;une fenêtre auxiliaire en maître) se font entièrement au clavier.&lt;br /&gt;
&lt;br /&gt;
On peut citer [http://fr.wikipedia.org/wiki/Ion_(logiciel) Ion] (le plus connu) et [http://fr.wikipedia.org/wiki/Ratpoison Ratpoison]/[http://www.nongnu.org/stumpwm/ StumpWM] (le second est une ré-écriture en CommonLisp du premier, par le même auteur), mais ces gestionnaires de fenêtres sont un peu hors-sujet dans la mesure où ils utilisent une logique de raccourcis clavier de type Emacs. À l&#039;inverse, d&#039;autres gestionnaires de fenêtres utilisent nativement des raccourcis Vim de type [Mod]+[HJKL] pour les manipulations de fenêtres, et s&#039;intègrent très bien dans un environnement « vimiste ».&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Wmii wmii]&lt;br /&gt;
wmii est le plus facile à prendre en main. C&#039;est le seul de ces gestionnaires de fenêtres en mosaïque à conserver des décorations de fenêtres (très minimalistes, sans icone), ce qui permet de déplacer et redimensionner les fenêtres uniquement à la souris, et, plus prosaïquement, de repérer très facilement la fenêtre active. C&#039;est aussi le seul à ne pas utiliser le concept de zones maître/auxiliaire : il est possible de créer autant de colonnes que souhaité, par contre leur redimensionnement requiert la souris. Ainsi, l&#039;utilisation de logiciels comportant de nombreuses fenêtres (ex : GIMP) ne pose aucun problème, même en mode mosaïque. Il intègre un excellent lanceur d&#039;applications, [http://en.wikipedia.org/wiki/Dmenu dmenu] (activé avec Alt+P).&lt;br /&gt;
&lt;br /&gt;
Il est aisément configurable via le fichier {{C|wmiirc}}.&lt;br /&gt;
&lt;br /&gt;
; [http://dwm.suckless.org/ dwm]&lt;br /&gt;
dwm est le petit frère de wmii : les deux projets sont développés en parallèle par le même auteur. dwm partage certains outils avec wmii, dont dmenu. Toutefois, les deux projets sont assez différents, dwm étant encore plus minimaliste : aucune décoration de fenêtre, la mise en page est limitée à deux colonnes (une zone « maître » et une zone auxiliaire), aucun langage de script, aucun fichier de configuration. Le code source est ainsi encore plus robuste et compact (limité à 2 000 lignes, contre 10 000 pour wmii).&lt;br /&gt;
 &lt;br /&gt;
dwm doit être recompilé pour toute modification de configuration, tous les paramètres étant dans le fichier {{C|config.h}} — voir [http://www.xsnake.net/howto/dwm/dwm-eng.php ce tutoriel].&lt;br /&gt;
&lt;br /&gt;
; [http://fr.wikipedia.org/wiki/Awesome_(logiciel) Awesome]&lt;br /&gt;
Awesome est un fork de dwm, et lui reste très proche dans l&#039;esprit : même système de vues, même mise en page sur deux colonnes maître / auxiliaire. Il est plus complet que dwm, scriptable en Lua et configurable via un fichier externe. Il ne dispose pas encore d&#039;un équivalent de dmenu (c&#039;est prévu pour la version 3) : pour l&#039;instant (version 2.3.1), il faut se [http://awesome.naquadah.org/wiki/Awesome-menu_2.x/fr créer un menu d&#039;applications] soi-même, et lancer les autres applications depuis un terminal.&lt;br /&gt;
&lt;br /&gt;
Awesome est [http://awesome.naquadah.org/wiki/Awesomerc_2.x/fr configurable] via le fichier {{C|~/.awesomerc}}. Contrairement à wmii et dwm, Awesome est prévu pour fonctionner avec des dispositions de clavier ayant les chiffres en accès direct (sélection / changement de vue), il faut donc reconfigurer les touches [1234567890] pour le bépo.&lt;br /&gt;
&lt;br /&gt;
[[Awesome|Plus de détails pour la version 3.x]]&lt;br /&gt;
&lt;br /&gt;
; [http://xmonad.org/ Xmonad]&lt;br /&gt;
Xmonad utilise dmenu et reprend le principe des deux zones maître / auxiliaire de dwm, mais il est beaucoup plus complet : les manipulations de fenêtres ne sont pas limitées à un système de colonnes, et on peut même libérer une partie de l&#039;écran pour inclure un &#039;&#039;panel&#039;&#039; type KDE, Gnome ou Xfce4. De plus, Xmonad est très modulaire et dispose déjà de nombreuses extensions. C&#039;est un projet relativement récent (première &#039;&#039;release&#039;&#039; en avril 2007), écrit dans le langage fonctionnel Haskell. Voir [http://bepo.pastebin.com/m4e84f50e cet extrait] de la configuration de Gaëtan &#039;&#039;(à peaufiner)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Catégorie:Aide]]&lt;/div&gt;</summary>
		<author><name>Bpierre</name></author>
	</entry>
</feed>