<?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=Pankkake</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=Pankkake"/>
	<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/Sp%C3%A9cial:Contributions/Pankkake"/>
	<updated>2026-05-08T20:16:51Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Console_GNU/Linux&amp;diff=15935</id>
		<title>Console GNU/Linux</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Console_GNU/Linux&amp;diff=15935"/>
		<updated>2009-12-08T10:02:10Z</updated>

		<summary type="html">&lt;p&gt;Pankkake : /* Avec keymaps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Installation dans la console de Linux}}&lt;br /&gt;
[[Catégorie:Installation]]&lt;br /&gt;
{{navigation|icone=Tux.png|Installation|{{PAGENAME}}}}&lt;br /&gt;
&lt;br /&gt;
L&#039;installation de la disposition fr-dvorak-bépo dans la console peut se faire de deux façons différentes.&lt;br /&gt;
&lt;br /&gt;
== Avec keymaps ==&lt;br /&gt;
&lt;br /&gt;
La configuration de clavier pour la console linux est disponible dans {{version actuelle/Linux|cette archive}}.&lt;br /&gt;
&lt;br /&gt;
En tant que &#039;&#039;root&#039;&#039; (administrateur), la commande&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loadkeys fr-dvorak-bepo.kmap&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
bascule le clavier en disposition fr-dvorak-bépo. &lt;br /&gt;
&lt;br /&gt;
Pour que la disposition soit accessible de n&#039;importe quel répertoire et pour n&#039;importe quel utilisateur, vous pouvez copier le fichier fr-dvorak-bepo.kmap dans l&#039;un des répertoires suivants :&lt;br /&gt;
&lt;br /&gt;
* {{C|/usr/lib/kbd/keymaps/i386/dvorak/}}&lt;br /&gt;
* {{C|/usr/share/keymaps}} sur debian&lt;br /&gt;
* {{C|/usr/share/kbd/keymaps/i386/dvorak}} sur archlinux&amp;lt;ref&amp;gt;Il existe un paquet nommé bepo-keymaps dans le dépôt [archlinuxfr]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* {{C|/usr/share/keymaps/i386/dvorak/}} sous Gentoo&lt;br /&gt;
&lt;br /&gt;
Tout utilisateur pourra alors basculer en BÉPO avec la commande&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loadkeys fr-dvorak-bepo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et revenir à un clavier AZERTY avec la commande&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loadkeys fr&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour avoir le clavier fr-dvorak-bepo dès le démarrage, il faut faire comme suit :&lt;br /&gt;
&lt;br /&gt;
* pour la majorité des distributions GNU/Linux, modifier la ligne contenant {{C|KEYTABLE{{=}}}} dans {{C|/etc/sysconfig/keyboard}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
KEYTABLE=fr-dvorak-bepo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* pour ArchLinux, modifier la ligne contenant {{C|KEYMAP{{=}}}} dans {{C|/etc/rc.conf}} :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
KEYMAP=fr-dvorak-bepo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* pour Gentoo, c’est pareil que pour ArchLinux, sauf que c’est le fichier {{C|/etc/conf.d/keymaps}} qu’il faut modifier.&lt;br /&gt;
&lt;br /&gt;
=== Limitations et problèmes connus ===&lt;br /&gt;
&lt;br /&gt;
Avec le fichier {{C|fr-dvorak-bepo.map}} seuls les caractères iso-8859-15 de la disposition sont disponibles.&lt;br /&gt;
&lt;br /&gt;
Seules les touches mortes &amp;quot;grave&amp;quot;, &amp;quot;acute&amp;quot;, &amp;quot;circumflex&amp;quot;, &amp;quot;tilde&amp;quot;, &amp;quot;diaeresis&amp;quot;, &amp;quot;cedilla&amp;quot;, &amp;quot;ogonek&amp;quot;, &amp;quot;caron&amp;quot;, &amp;quot;breve&amp;quot; et &amp;quot;doubleacute&amp;quot; sont disponibles. De plus, le comportement des touches mortes étant défini en dehors des pilotes, leur comportement peut-être incomplet ou partiellement différent des spécifications officielles de la disposition.&lt;br /&gt;
&lt;br /&gt;
== Avec xkb et console-setup ==&lt;br /&gt;
&lt;br /&gt;
{{note|type=note|Cette solution ne s’applique que pour les distributions Ubuntu et Debian.}}&lt;br /&gt;
&lt;br /&gt;
Le logiciel &#039;&#039;console-setup&#039;&#039; permet d’utiliser les fichiers de xkb pour la console. Le fichier de configuration reprend les noms du fichier de configuration de Xorg (&amp;lt;strike&amp;gt;voir [[X.Org : configuration#Avoir_le_b.C3.A9po_d.C3.A8s_la_connexion_.28dans_Gdm.2C_Kdm.2C_Xdm.E2.80.A6.29|Avoir le bépo dès la connexion (dans Gdm, Kdm, Xdm…)]]&amp;lt;/strike&amp;gt;) et les seules variables qui nous intéressent sont :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
XKBMODEL=&amp;quot;pc105&amp;quot;&lt;br /&gt;
XKBLAYOUT=&amp;quot;fr&amp;quot;&lt;br /&gt;
XKBVARIANT=&amp;quot;bepo&amp;quot;&lt;br /&gt;
XKBOPTIONS=&amp;quot;lv3:ralt_switch&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(Le fichier le configuration est {{c|/etc/default/console-setup}} pour le&lt;br /&gt;
système et {{c|~/.console-setup}} pour un utilisateur seul).&lt;br /&gt;
&lt;br /&gt;
Pour activer le clavier temporairement :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
setupcon -k&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour un usage permanent, voyez la documentation pour votre distribution. Par exemple, {{c|/usr/share/doc/console-setup/README.Debian}} indique, pour modifier&lt;br /&gt;
la configuration facilement et durablement, d’utiliser :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dpkg-reconfigure console-setup&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
mais la liste des dispositions proposées n’est pas dynamique : elle est codée dans {{c|/var/lib/dpkg/info/console-setup.config}}. Le plus simple est donc de s’en servir pour les autres fonctionnalités de console-setup et d’éditer soi-même {{c|/etc/default/console-setup}} pour renseigner les quatre variables citées plus haut.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Pankkake</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Awesome&amp;diff=15897</id>
		<title>Awesome</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Awesome&amp;diff=15897"/>
		<updated>2009-11-14T10:08:23Z</updated>

		<summary type="html">&lt;p&gt;Pankkake : /* Liens */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{nav|Installation}}&lt;br /&gt;
&#039;&#039;&#039;awesome&#039;&#039;&#039; est « un [http://fr.wikipedia.org/wiki/Gestionnaire_de_fen%C3%AAtres gestionnaire de fenêtres] libre fonctionnant au dessus de X Window System, sur les machines de type UNIX. Son objectif est de rester très léger et de proposer plusieurs dispositions des fenêtres (maximisation, flottante, placées automatiquement comme dans Ion). » Pour plus de détails, consultez l&#039;[http://fr.wikipedia.org/wiki/Awesome_%28logiciel%29 article de wikipédia].&lt;br /&gt;
&lt;br /&gt;
== Adaptation d&#039;awesome au bépo ==&lt;br /&gt;
&lt;br /&gt;
awesome utilise les touches {{t|H}}, {{t|J}}, {{t|K}}, {{t|L}} pour le déplacement et la modification de la taille des fenêtres. Sur un clavier [[*erty]], ces touches correspondent à une demi-rangée et leur position doit être retranscrite sur un clavier bépo ({{|C}}, {{|T}}, {{|S}}, {{|R}}), d&#039;où un changement [http://fr.wikipedia.org/wiki/Bijection bijectif] des touches :&lt;br /&gt;
* H -&amp;gt; C&lt;br /&gt;
* J -&amp;gt; T &lt;br /&gt;
* K -&amp;gt; S&lt;br /&gt;
* L -&amp;gt; R&lt;br /&gt;
&lt;br /&gt;
Malheureusement, {{t|C}}, {{t|T}}, {{t|R}} sont déjà utilisées pour faire d&#039;autres choses sur awesome, on va donc les réassigner à des emplacements libres :&lt;br /&gt;
* C -&amp;gt; X (pour avoir la même place physique et pouvoir fermer une fenêtre à une seule main)&lt;br /&gt;
* T -&amp;gt; J (c&#039;est le même changement que dans [[vim]] et [[vimperator]])&lt;br /&gt;
* R -&amp;gt; H (pas vraiment de logique…)&lt;br /&gt;
&lt;br /&gt;
awesome utilise aussi les chiffres pour changer de bureau. C&#039;est très pratique en *erty, mais nous n&#039;avons pas les chiffres en accès direct sur la disposition bépo ! La FAQ française donne une solution pour contourner le problème.&lt;br /&gt;
&lt;br /&gt;
== Configuration pour awesome 3.1 ==&lt;br /&gt;
&lt;br /&gt;
Sous archlinux, le fichier de configuration est {{c|~/.config/awesome/rc.lua}}. C&#039;est un emplacement relativement standard, mais si vous ne trouvez pas le fichier, faites un :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
locate rc.lua&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans le script proposé, vous trouverez &#039;&#039;&#039;en gras&#039;&#039;&#039; nos modifications par rapport à une version standard de ce fichier de configuration pour la partie &#039;&#039;Key bindings&#039;&#039;. &#039;&#039;&#039;Attention&#039;&#039;&#039; : ce qui suit n&#039;est pas le fichier de configuration complet, mais juste la partie &#039;&#039;Key bindings&#039;&#039; à remplacer !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lua&amp;quot;&amp;gt;&lt;br /&gt;
-- {{{ Key bindings&lt;br /&gt;
 &lt;br /&gt;
-- Bind keyboard digits&lt;br /&gt;
-- Compute the maximum number of digit we need, limited to 9 keynumber = 0&lt;br /&gt;
for s = 1, screen.count() do&lt;br /&gt;
 keynumber = math.min(9, math.max(#tags[s], keynumber));&lt;br /&gt;
end&lt;br /&gt;
  &lt;br /&gt;
&#039;&#039;&#039;local bepo_numkeys = {&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039;&#039;[0]=&amp;quot;asterisk&amp;quot;, &amp;quot;quotedbl&amp;quot;, &amp;quot;guillemotleft&amp;quot;, &amp;quot;guillemotright&amp;quot;, &amp;quot;parenleft&amp;quot;, &amp;quot;parenright&amp;quot;, &amp;quot;at&amp;quot;, &amp;quot;plus&amp;quot;, &amp;quot;minus&amp;quot;, &amp;quot;slash&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;}&#039;&#039;&#039;    &lt;br /&gt;
   &lt;br /&gt;
for i = 1, keynumber do&lt;br /&gt;
   keybinding({ modkey }, &#039;&#039;&#039;bepo_numkeys[i]&#039;&#039;&#039;,&lt;br /&gt;
                  function ()&lt;br /&gt;
                      local screen = mouse.screen&lt;br /&gt;
                      if tags[screen][i] then&lt;br /&gt;
                          awful.tag.viewonly(tags[screen][i])&lt;br /&gt;
                      end&lt;br /&gt;
                  end):add()&lt;br /&gt;
   keybinding({ modkey, &amp;quot;Control&amp;quot; }, &#039;&#039;&#039;bepo_numkeys[i]&#039;&#039;&#039;,&lt;br /&gt;
                  function ()&lt;br /&gt;
                      local screen = mouse.screen&lt;br /&gt;
                      if tags[screen][i] then&lt;br /&gt;
                          tags[screen][i].selected = not tags[screen][i].selected&lt;br /&gt;
                      end&lt;br /&gt;
                  end):add()&lt;br /&gt;
   keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;bepo_numkeys[i]&#039;&#039;&#039;,&lt;br /&gt;
                  function ()&lt;br /&gt;
                      if client.focus then&lt;br /&gt;
                          if tags[client.focus.screen][i] then&lt;br /&gt;
                              awful.client.movetotag(tags[client.focus.screen][i])&lt;br /&gt;
                          end&lt;br /&gt;
                      end&lt;br /&gt;
                  end):add()&lt;br /&gt;
   keybinding({ modkey, &amp;quot;Control&amp;quot;, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;bepo_numkeys[i]&#039;&#039;&#039;,&lt;br /&gt;
                  function ()&lt;br /&gt;
                      if client.focus then&lt;br /&gt;
                          if tags[client.focus.screen][i] then&lt;br /&gt;
                              awful.client.toggletag(tags[client.focus.screen][i])&lt;br /&gt;
                          end&lt;br /&gt;
                      end&lt;br /&gt;
                  end):add()&lt;br /&gt;
end&lt;br /&gt;
   &lt;br /&gt;
keybinding({ modkey }, &amp;quot;Left&amp;quot;, awful.tag.viewprev):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;Right&amp;quot;, awful.tag.viewnext):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;Escape&amp;quot;, awful.tag.history.restore):add()&lt;br /&gt;
     &lt;br /&gt;
-- Standard program&lt;br /&gt;
keybinding({ modkey }, &amp;quot;Return&amp;quot;, function () awful.util.spawn(terminal) end):add()&lt;br /&gt;
   &lt;br /&gt;
keybinding({ modkey, &amp;quot;Control&amp;quot; }, &amp;quot;&#039;&#039;&#039;h&#039;&#039;&#039;&amp;quot;, function ()&lt;br /&gt;
                                          mypromptbox[mouse.screen].text =&lt;br /&gt;
                                              awful.util.escape(awful.util.restart())&lt;br /&gt;
                                       end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &amp;quot;q&amp;quot;, awesome.quit):add()&lt;br /&gt;
    &lt;br /&gt;
-- Client manipulation&lt;br /&gt;
keybinding({ modkey }, &amp;quot;m&amp;quot;, awful.client.maximize):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;f&amp;quot;, function () if client.focus then client.focus.fullscreen = not client.focus.fullscreen end end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;&amp;quot;x&amp;quot;&#039;&#039;&#039;, function () if client.focus then client.focus:kill() end end):add()&lt;br /&gt;
keybinding({ modkey }, &#039;&#039;&#039;&amp;quot;t&amp;quot;&#039;&#039;&#039;, function () awful.client.focus.byidx(1); if client.focus then client.focus:raise() end end):add()&lt;br /&gt;
keybinding({ modkey }, &#039;&#039;&#039;&amp;quot;s&amp;quot;&#039;&#039;&#039;, function () awful.client.focus.byidx(-1);  if client.focus then client.focus:raise() end end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;&amp;quot;t&amp;quot;&#039;&#039;&#039;, function () awful.client.swap.byidx(1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;&amp;quot;s&amp;quot;&#039;&#039;&#039;, function () awful.client.swap.byidx(-1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Control&amp;quot; }, &#039;&#039;&#039;&amp;quot;t&amp;quot;&#039;&#039;&#039;, function () awful.screen.focus(1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Control&amp;quot; }, &#039;&#039;&#039;&amp;quot;s&amp;quot;&#039;&#039;&#039;, function () awful.screen.focus(-1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Control&amp;quot; }, &amp;quot;space&amp;quot;, awful.client.togglefloating):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Control&amp;quot; }, &amp;quot;Return&amp;quot;, function () if client.focus then client.focus:swap(awful.client.getmaster()) end end):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;o&amp;quot;, awful.client.movetoscreen):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;Tab&amp;quot;, awful.client.focus.history.previous):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;u&amp;quot;, awful.client.urgent.jumpto):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;&amp;quot;h&amp;quot;&#039;&#039;&#039;, function () if client.focus then client.focus:redraw() end end):add()&lt;br /&gt;
    &lt;br /&gt;
-- Layout manipulation&lt;br /&gt;
keybinding({ modkey }, &#039;&#039;&#039;&amp;quot;r&amp;quot;&#039;&#039;&#039;, function () awful.tag.incmwfact(0.05) end):add()&lt;br /&gt;
keybinding({ modkey }, &#039;&#039;&#039;&amp;quot;c&amp;quot;&#039;&#039;&#039;, function () awful.tag.incmwfact(-0.05) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;&amp;quot;c&amp;quot;&#039;&#039;&#039;, function () awful.tag.incnmaster(1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &#039;&#039;&#039;&amp;quot;r&amp;quot;&#039;&#039;&#039;, function () awful.tag.incnmaster(-1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Control&amp;quot; }, &#039;&#039;&#039;&amp;quot;c&amp;quot;&#039;&#039;&#039;, function () awful.tag.incncol(1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Control&amp;quot; }, &#039;&#039;&#039;&amp;quot;r&amp;quot;&#039;&#039;&#039;, function () awful.tag.incncol(-1) end):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;space&amp;quot;, function () awful.layout.inc(layouts, 1) end):add()&lt;br /&gt;
keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &amp;quot;space&amp;quot;, function () awful.layout.inc(layouts, -1) end):add()&lt;br /&gt;
   &lt;br /&gt;
-- Prompt&lt;br /&gt;
keybinding({ modkey }, &amp;quot;F1&amp;quot;, function ()&lt;br /&gt;
                                awful.prompt.run({ prompt = &amp;quot;Run: &amp;quot; }, mypromptbox[mouse.screen], awful.util.spawn, awful.completion.bash,&lt;br /&gt;
                                                 awful.util.getdir(&amp;quot;cache&amp;quot;) .. &amp;quot;/history&amp;quot;)&lt;br /&gt;
                            end):add()&lt;br /&gt;
keybinding({ modkey }, &amp;quot;F4&amp;quot;, function ()&lt;br /&gt;
                                awful.prompt.run({ prompt = &amp;quot;Run Lua code: &amp;quot; }, mypromptbox[mouse.screen], awful.util.eval, awful.prompt.bash,&lt;br /&gt;
                                                 awful.util.getdir(&amp;quot;cache&amp;quot;) .. &amp;quot;/history_eval&amp;quot;)&lt;br /&gt;
                            end):add()&lt;br /&gt;
  &lt;br /&gt;
keybinding({ modkey, &amp;quot;Ctrl&amp;quot; }, &amp;quot;i&amp;quot;, function ()&lt;br /&gt;
                                       local s = mouse.screen&lt;br /&gt;
                                       if mypromptbox[s].text then&lt;br /&gt;
                                           mypromptbox[s].text = nil&lt;br /&gt;
                                       elseif client.focus then&lt;br /&gt;
                                           mypromptbox[s].text = nil&lt;br /&gt;
                                           if client.focus.class then&lt;br /&gt;
                                               mypromptbox[s].text = &amp;quot;Class: &amp;quot; .. client.focus.class .. &amp;quot; &amp;quot;&lt;br /&gt;
                                           end&lt;br /&gt;
                                           if client.focus.instance then&lt;br /&gt;
                                               mypromptbox[s].text = mypromptbox[s].text .. &amp;quot;Instance: &amp;quot;.. client.focus.instance .. &amp;quot; &amp;quot;&lt;br /&gt;
                                           end&lt;br /&gt;
                                           if client.focus.role then&lt;br /&gt;
                                               mypromptbox[s].text = mypromptbox[s].text .. &amp;quot;Role: &amp;quot;.. client.focus.role&lt;br /&gt;
                                           end&lt;br /&gt;
                                       end&lt;br /&gt;
                                   end):add()&lt;br /&gt;
  &lt;br /&gt;
-- Client awful tagging: this is useful to tag some clients and then do stuff like move to tag on them&lt;br /&gt;
keybinding({ modkey }, &#039;&#039;&#039;&amp;quot;j&amp;quot;&#039;&#039;&#039;, awful.client.togglemarked):add() &lt;br /&gt;
  &lt;br /&gt;
for i = 1, keynumber do&lt;br /&gt;
   keybinding({ modkey, &amp;quot;Shift&amp;quot; }, &amp;quot;F&amp;quot; .. i,&lt;br /&gt;
                  function ()&lt;br /&gt;
                      local screen = mouse.screen&lt;br /&gt;
                      if tags[screen][i] then&lt;br /&gt;
                          for k, c in pairs(awful.client.getmarked()) do&lt;br /&gt;
                              awful.client.movetotag(tags[screen][i], c)&lt;br /&gt;
                          end&lt;br /&gt;
                      end&lt;br /&gt;
                  end):add()&lt;br /&gt;
end&lt;br /&gt;
-- }}}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Liens ==&lt;br /&gt;
&lt;br /&gt;
* [http://awesome.naquadah.org/wiki/Main_Page Le wiki officiel d&#039;awesome]&lt;br /&gt;
* [http://awesome.naquadah.org/wiki/FAQ/fr La FAQ française]&lt;/div&gt;</summary>
		<author><name>Pankkake</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Vimperator&amp;diff=14671</id>
		<title>Vimperator</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Vimperator&amp;diff=14671"/>
		<updated>2009-07-11T22:50:03Z</updated>

		<summary type="html">&lt;p&gt;Pankkake : /* Démarrage rapide */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutoriel ==&lt;br /&gt;
&lt;br /&gt;
traduction du tutoriel disponible lors du démarrage de Vimperator. Ce tutoriel est fait pour le clavier fr-dvorak-bépo avec cette [[Utilisateur:tiot/vimperatorrc|cette configuration]]. Entre [] j&#039;ai mis les raccourcis par défaut de vimperator qui marcheront parfaitement sur un clavier Azerty.&lt;br /&gt;
&lt;br /&gt;
=== Démarrage rapide ===&lt;br /&gt;
&lt;br /&gt;
Si vous avez commencé à utiliser Vimperator nu (c&#039;est à dire sans aucune configuration), vous devez voir cette page d&#039;aide, en anglais dans une fenêtre relativement dépouillée. La barre de menu, la barre de navigation et la barre de marques pages sont cachées. Dans le cas où vous avez manqué l&#039;astuce sur la page d&#039;introduction, vous pouvez les retrouvez en tapant la commande :&lt;br /&gt;
&lt;br /&gt;
:set go+=mTb&amp;lt;cr&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Où cr représente la touche &amp;lt;Entrée&amp;gt; ou &amp;lt;retour&amp;gt;. Si vous êtes un utilisateur vétéran de vim, cela devrait vous dire quelque chose.&lt;br /&gt;
&lt;br /&gt;
Cependant, selon l&#039;opinion de l&#039;auteur, le meilleur moyen pour se familiariser avec Vimperator est de laisser les barres désactivées. (L&#039;action ci-dessus peut-être inversée avec :set go=&amp;lt;cr&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===L&#039;interface modale de Vimperator===&lt;br /&gt;
&lt;br /&gt;
La puissance de Vimperator, comme Vim, vient de son interface modale. Les touches ont des sens différents qui dépendent du mode du navigateur. Vimperator a plusieurs modes, mais les 2 plus importants sont le mode « normal » et le mode « ligne de commande ».&lt;br /&gt;
&lt;br /&gt;
Quand Vimperator démarre, il est en mode normal par défaut. C&#039;est probablement le mode où vous serez la plupart du temps.&lt;br /&gt;
&lt;br /&gt;
L&#039;autre mode central de Vimperator, est le mode ligne de commande, il peut être activé depuis le mode normal en tapant un « : » (deux points). Vous verrez souvent des commandes de Vimperator commençant avec un « : », il indique que ce qui suit est une commande.&lt;br /&gt;
&lt;br /&gt;
Pour retourner en mode normal depuis le mode ligne de commande, tapez « Échap ». Presser « Échap » permet de retourner en mode normal depuis les autres modes de Vimperator.&lt;br /&gt;
&lt;br /&gt;
=== Obtenir de l&#039;aide ===&lt;br /&gt;
	&lt;br /&gt;
Vim est un superbe éditeur mais ce n&#039;est pas un navigateur web. Donc même les utilisateurs chevronnés de Vim devront probablement regarder la documentation de Vimperator tôt ou tard. La plupart de la documentation des fonctionnalités de Vimérator sont facilement trouvable en utilisant la commande {{b|:help command}}. Par exemple, vous pouvez trouvez l&#039;aide de la commande aide en tapant :&lt;br /&gt;
&lt;br /&gt;
{{b|:help :help&amp;lt;cr&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
De la même façon, l&#039;aide des options de configuration sont disponibles sur {{b|:help &#039;{option_name}&#039;}}. (Remarquez les apostrophes autour du nom de l&#039;option comme dans Vim). La liste de toutes les options disponibles est accessible en tapant {{b|:help options}}&lt;br /&gt;
&lt;br /&gt;
Et vous pouvez trouvez l&#039;aide sur les raccourcis {{b|gb}} [gt] et {{b|gé}} [gT] avec :&lt;br /&gt;
&lt;br /&gt;
{{b|:help gt&amp;lt;cr&amp;gt;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{b|:hepl gT&amp;lt;cr&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Enfin, en plus du système d&#039;aide lui-même, {{b|:exusage}} et {{b|:viusage}} sont des références des commandes.&lt;br /&gt;
&lt;br /&gt;
=== Sans la souris ! ===&lt;br /&gt;
— ou comment j&#039;ai appris à stopper les soucis et aimer le truc à plus de 80 boutons que j&#039;ai déjà. &lt;br /&gt;
&lt;br /&gt;
L&#039;efficacité de Vimperator, comme le légendaire éditeur auquel il est inspiré, mise sur la capacité de l&#039;utilisateur à garder leurs doigts sur le clavier où ils peuvent faire le meilleur[++]. Bien qu&#039;il y ait quelques domaines où la souris est clairement meilleur, comme des interfaces graphiques ou des jeux vidéos, Vimperator part de l&#039;hypothèse que le navigateur web ne doit pas être de ceux là.&lt;br /&gt;
&lt;br /&gt;
[The efficiency of Vimperator, as [with the legendary editor it was inspired by, relies on the user being able to keep his fingers on the keyboard where they can do the most good.]&lt;br /&gt;
&lt;br /&gt;
Voici quelques exemples où la souris est typiquement considérée comme indispensable, et comment Vimperator défie cette opinion préconçue.&lt;br /&gt;
&lt;br /&gt;
=== défilement ===&lt;br /&gt;
&lt;br /&gt;
Le défilement de la fenêtre du navigateur se fait avec des simples touches : &lt;br /&gt;
&lt;br /&gt;
* {{b|t/s}} [j/k] : défile  la fenêtre en bas/haut ligne par ligne ; &lt;br /&gt;
* {{b|c/r}} [h/l] : défile la fenêtre à gauche/droite ;&lt;br /&gt;
* {{b|&amp;lt;Espace&amp;gt;/&amp;lt;C-b&amp;gt;}} : défile en bas/haut par page ;&lt;br /&gt;
* {{b|T/S}} et {{b|&amp;lt;C-d&amp;gt;/&amp;lt;C-u&amp;gt;}} : défile en bas/haut par ½ page ;&lt;br /&gt;
&lt;br /&gt;
Les touches standards (&amp;lt;up&amp;gt;/&amp;lt;down&amp;gt;/&amp;lt;PgUp&amp;gt;/&amp;lt;PgDn&amp;gt;) fonctionnent aussi.&lt;br /&gt;
&lt;br /&gt;
=== Historique et onglets ===&lt;br /&gt;
&lt;br /&gt;
La navigation de l&#039;historique (par exemple : « précédent », « suivant ») se fait de la même façon que le défilement.&lt;br /&gt;
&lt;br /&gt;
* {{b|C/R}} [H/R] ou {{b|&amp;lt;C-o&amp;gt;/&amp;lt;C-i&amp;gt;}} : va au précédent/suivant dans l&#039;historique de la fenêtre/onglet.&lt;br /&gt;
&lt;br /&gt;
Se déplacer entre les onglets utilise les touches qui sont familiers aux utilisateurs des onglets de vim.&lt;br /&gt;
&lt;br /&gt;
* {{b|i/&amp;lt;C-n&amp;gt;}} [gt] : va à l&#039;onglet suivant&lt;br /&gt;
* {{b|e/&amp;lt;C-p&amp;gt;}} [gT] : va à l&#039;onglet précédent&lt;br /&gt;
* {{b|g0/g$}} : va au premier/dernier onglet&lt;br /&gt;
* {{b|d}} : ferme l&#039;onglet actif (efface le tampon)&lt;br /&gt;
* {{b|u}} : réouvre le(s) dernier(s) onglet(s) fermé(s)&lt;br /&gt;
&lt;br /&gt;
Pour ouvrir une page web sur un nouvel onglet, utilisez le {{b|:tabopen {url}}}. Pour ouvrir une URL dans l&#039;onglet courant, utilisez :open. En mode normal les touches {{b|t}} et {{b|o}}, sont respectivement des raccourcis de ces commandes, donc les paires de séquence suivante sont équivalentes :&lt;br /&gt;
&lt;br /&gt;
{{b|:open mon.site.com&amp;lt;cr&amp;gt;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{b|omon.site.com&amp;lt;cr&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
{{b|:tabopen vimperator.mozdev.org&amp;lt;cr&amp;gt;}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{b|tvimperator.mozdev.org&amp;lt;cr&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Les version majuscules (respectivement {{b|T}} [J] et {{b|O}}) font de même mais en recopiant l’url de l’onglet courant.&lt;br /&gt;
&lt;br /&gt;
===Les hints pour surfer===&lt;br /&gt;
&lt;br /&gt;
Donc, maintenant vous pouvez naviguer avec Vimperator. Mais attendez… comment ouvrir une page ou un onglet liée à une page web ? Comment faire pour « cliquer » dans tous ces liens sans votre amie à queue ?&lt;br /&gt;
&lt;br /&gt;
La réponse est « hints ». Activer hints affiche un nombre sur tous les liens que Vimperator peut trouver. Pour suivre le lien, il suffit simplement de taper le nombre correspondant au hint, par défaut c&#039;est un nombre blanc à l&#039;intérieur d&#039;un carré rouge.&lt;br /&gt;
&lt;br /&gt;
Pour les liens textuels, il y a un raccourcis additionnel ; vous pouvez taper un peu de texte contenu dans le lien et Vimperator cherchera tous les liens qu&#039;il peut trouver et seulement les hints contenant votre texte. Si le texte que vous tapez identifie un unique lien, Vimperator suivra ce lien immédiatement sans aucune autre action de l&#039;utilisateur.&lt;br /&gt;
&lt;br /&gt;
Quelque soit la façon choisi pour indiquer le liens cible, une fois que Vimperator a illuminé le lien voulu en vert, tapez simplement &amp;lt;Entrée&amp;gt; pour l&#039;ouvrir.&lt;br /&gt;
&lt;br /&gt;
Le plus courant de mode hint est appelé mode QuickHint. Pour activer le mode QuickHnt, pressez {{b|f}} ou {{b|F}}. Le {{b|f}} ouvrira le lien dans l&#039;onglet actuel, tandis que le {{b|F}} l&#039;ouvrira dans un nouvel onglet.&lt;br /&gt;
&lt;br /&gt;
===Copier-coller avec son clavier===&lt;br /&gt;
&lt;br /&gt;
L&#039;astuce :&lt;br /&gt;
*Passez en mode caret avec I [i] : vous pouvez à présent naviguer dans la page web avec un petit (trop petit ?) curseur.&lt;br /&gt;
*Placez-vous au début du texte que vous souhaitez copier puis passez en mode visuel v [v].&lt;br /&gt;
*Déplacez le curseur jusqu&#039;à la fin de votre sélection.&lt;br /&gt;
*y [y] pour copier !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sauvegarder pour la prospérité===&lt;br /&gt;
&lt;br /&gt;
Une fois que vous avez configuré Vimperator avec vos option, raccourcis et commandes, vous allez probablement vouloir les rendre accessible au prochain démarrage de Vimperator. Comme pour les thèmes de vim, ceci est fait dans le fichier vimperatorrc.&lt;br /&gt;
&lt;br /&gt;
Pour sauver votre configuration actuel et autoriser qu&#039;il soit automatiquement chargé au prochain démarrage de Vimpérator, tapez la commande :mkv.&lt;br /&gt;
&lt;br /&gt;
Cela va créer le fichier $HOME/.vimperatorrc qui contient votre configuration. C&#039;est un simple fichier texte, comme le fichier vimrc et il peut être facilement éditable pour l&#039;adapter à vos préférences.&lt;br /&gt;
&lt;br /&gt;
===Trouvez la plus proche sortie===&lt;br /&gt;
&lt;br /&gt;
Vimperator contient tous les méthodes classiques de Vim pour sortir.&lt;br /&gt;
&lt;br /&gt;
* {{b|:xall}} : commande pour quitter et sauver la session en cour pour la prochaine fois ; action par défaut.&lt;br /&gt;
* {{b|:qall}} : commande pour quitter sans sauvegarder la session.&lt;br /&gt;
* {{b|ZZ}} : raccourcis en mode normal équivalant à {{b|:xall}}.&lt;br /&gt;
* {{b|ZQ}} : raccourcis en mode normal équivalant à {{b|:qall}}.&lt;br /&gt;
  &lt;br /&gt;
=== Ou est passé firefox ? ===&lt;br /&gt;
&lt;br /&gt;
Peut-être vous vous sentez un peu désorienté. Ne vous inquiétez pas. C&#039;est toujours votre navigateur Firefox. Il y a des façons de réveiller votre firefox. Allez voir l&#039;aide (:help) pour ces commandes et raccourcis :&lt;br /&gt;
&lt;br /&gt;
* {{b|:dialog}} : pour accéder aux fenêtres de firefox. Voir {{b|:help :dialog}}&lt;br /&gt;
* {{b|:bmarks}} : Vimpérator fournit une nouvelle interface pour les marques pages, mais il y a toujours les marques pages standards de Firefox. {{b|:bmark}} ajoute une nouvelle marque page, tandis que {{b|:bmarks}} liste les marques pages.&lt;br /&gt;
* {{b|:history}} : cette commande affiche l&#039;historique des pages visitées ({{b|:jumps}} n’affiche que l’historique de l’onglet courant)&lt;br /&gt;
* {{b|:preferences}} : affiche le panneau des préférences de firefox&lt;br /&gt;
&lt;br /&gt;
=== Sortez moi de là ===&lt;br /&gt;
&lt;br /&gt;
La désinstallation de vimperation se fait avec la commande {{b|:addons}}. Cela amène la fenêtre de Firefox de gestion des add-ons. Il suffit alors de sélectionner Vimperator et de cliquer sur Désinstaller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Je suis intéressé mais perdu ===	&lt;br /&gt;
&lt;br /&gt;
Vimperateur a une base d&#039;utilisateur énergique et en augmentation. Si vous avez un problème qui vous semble solvable par Vimperator, ou si vous pensez avoir trouvé un bogue, faite le nous savoir ! Il y a un support disponible sur le wiki, ou sur le salon IRC #vimperator sur freenode.&lt;br /&gt;
&lt;br /&gt;
Si vous avez des demandes de fonctionnalité ou si vous voulez nous offrir votre aide. Les développeurs travaillent sur Vimperator le plus possible, mais nous sommes ni infini ni omnipotent. Si vous ne pouvez pas attendre, restez assuré que les patches sont bienvenues ! Allez voir la page des développeurs pour plus d&#039;information.&lt;br /&gt;
&lt;br /&gt;
== Fichiers de configuration ==&lt;br /&gt;
=== À partager avec vim ===&lt;br /&gt;
&lt;br /&gt;
Pour ce tutoriel j&#039;ai utilisé la configuraton de tiot.&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;
&lt;br /&gt;
=== Pour vimperator seulement ===&lt;br /&gt;
&lt;br /&gt;
* celui de [[Utilisateur:Tiot|Tiot]] est [[Utilisateur:tiot/vimperatorrc|ici]]&lt;br /&gt;
* celui de [[Utilisateur:Nemolivier|Nemolivier]] est [[Utilisateur:Nemolivier/vimperatorrc|là]]&lt;br /&gt;
&lt;br /&gt;
== Pense-bête ==&lt;br /&gt;
=== Raccourcis utiles au quotidien ===&lt;br /&gt;
&lt;br /&gt;
* t/s : bas/haut ligne par ligne&lt;br /&gt;
* c/r : gauche/droite&lt;br /&gt;
* C/R ou C-o/C-i : précédent/suivant dans l&#039;historique&lt;br /&gt;
* o : ouvre une URL dans l&#039;onglet courant&lt;br /&gt;
* j : ouvre une URL dans un nouvel onglet&lt;br /&gt;
* f/F : active le mode hint. Des caractères peuvent être tapés pour sélectionner des liens. f ouvre le lien dans l&#039;onglet courant et F dans un nouveau.&lt;br /&gt;
* i/e : onglet précédent/onglet suivant&lt;br /&gt;
* gh/gH : va à la page d&#039;accueil dans l&#039;onglet courant/nouvel onglet&lt;br /&gt;
* gu/gU : va dans le répertoire courant/aller à la racine du site&lt;br /&gt;
* gg/G : va en haut/bas de la page&lt;br /&gt;
* p/P : ouvre l&#039;URL du presse papier dans l&#039;onglet courant/nouvel onglet&lt;br /&gt;
* c-c : arrête le chargement de la page&lt;br /&gt;
* y : met l&#039;URL courante dans le presse papier&lt;br /&gt;
* Y : copie la sélection dans le presse papier&lt;br /&gt;
* gf : voir les sources de la page&lt;br /&gt;
* d : ferme un onglet&lt;br /&gt;
* D : ferme l&#039;onglet à gauche de l&#039;onglet actif&lt;br /&gt;
* u : annule la fermeture de l&#039;onglet&lt;br /&gt;
&lt;br /&gt;
=== Recherche dans le document ===&lt;br /&gt;
&lt;br /&gt;
* / : pour effectuer une recherche en avant / arrière&lt;br /&gt;
* n : aller au prochain mot trouvé&lt;br /&gt;
* N : aller au mot trouvé précédent&lt;/div&gt;</summary>
		<author><name>Pankkake</name></author>
	</entry>
	<entry>
		<id>https://bepo.fr/wiki/index.php?title=Vim&amp;diff=14616</id>
		<title>Vim</title>
		<link rel="alternate" type="text/html" href="https://bepo.fr/wiki/index.php?title=Vim&amp;diff=14616"/>
		<updated>2009-06-30T10:44:49Z</updated>

		<summary type="html">&lt;p&gt;Pankkake : /* Gestionnaires de fenêtres en mosaïque */ correction des liens&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[wp:Vim|Vim]] est un éditeur de texte ergonomique, libre et muliplate-formes. Cette page regroupe les informations relatives à son utilisation avec la disposition fr-dvorak-bépo.&lt;br /&gt;
[[Image:Vim-bepo-066.png|thumb|450px|right|Aide-mémoire Vim / fr-dvorak-bépo — [http://download.tuxfamily.org/dvorak/images/vim-0.6.6.pdf version PDF]]]&lt;br /&gt;
&lt;br /&gt;
== Ergonomie ==&lt;br /&gt;
&lt;br /&gt;
=== Pourquoi Vim ? ===&lt;br /&gt;
Vim a été optimisé pour la prévention des TMS :&lt;br /&gt;
* il n&#039;utilise que très peu d&#039;« accords » en Ctrl+{} : plutôt que de recourir à des touches modificatrices comme Ctrl, Alt ou Meta, il utilise plusieurs modes de fonctionnement (normal, insertion, visualisation, commande), 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, comme si on tapait du texte ;&lt;br /&gt;
* les déplacements du curseur peuvent (doivent) se faire sans les flèches : [HJKL] déplacent le curseur case à case, [WEB] déplacent le curseur mot à mot (équivalent de Ctrl+flèche) ; les mains restent ainsi en position dactylo pour toutes les manipulations de texte.&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 « accords » contraignants, tout en diminuant les mouvements de main et le nombre de frappes effectué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. Quand 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.&lt;br /&gt;
&lt;br /&gt;
Là où le bât blesse, c&#039;est que Vim est conçu pour un clavier Qwerty :&lt;br /&gt;
* le fait que les touches [HJKL] correspondent à {CTRS} complique singulièrement l&#039;utilisation de Vim aux Bépoïstes, même pour les Vimistes convaincus ;&lt;br /&gt;
* Vim n&#039;est pas utilisable en l&#039;état avec le Bépo, contrairement à l&#039;Azerty ou même le Dvorak-US, essentiellement parce que les touches {J} et {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;
* http://www.docmirror.net/fr/linux/howto/programming/Vim-HOWTO&lt;br /&gt;
* http://www.commentcamarche.net/faq/sujet-7961-petit-tuto-sur-vi-vim Un tutoriel pas à pas en français&lt;br /&gt;
* http://202.60.162.120:81/hasp/index.php une double page remplie de rappels.&lt;br /&gt;
* http://nemolivier.free.fr/vimqrc-fr-bepo.html version de [http://tnerual.eriogerg.free.fr/vimqrc.html vimqrc] adaptée au raccourcis bépo.&lt;br /&gt;
* [http://www.rayninfo.co.uk/vimtips.html la page qui fait peur]&lt;br /&gt;
* (en) [http://vim.wikia.com/wiki/Main_Page &#039;&#039;Vim Wiki Tips&#039;&#039;]&lt;br /&gt;
* http://pages-perso.esil.univmed.fr/~lafirme/website/article.php3?id_article=70 Des astuces très pratiques, dont celle qui ouvre Firefox sur Google, Wikipédia ou autre avec comme recherche le mot sur lequel on se trouve.&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 [HJKL] 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 / fr-dvorak-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;
* {CTSR} remplace [HJKL] pour les touches de direction ;&lt;br /&gt;
&lt;br /&gt;
* réciproquement :&lt;br /&gt;
** {H} remplace [R] (remplacer)&lt;br /&gt;
** {J} remplace [T] (jusqu&#039;à)&lt;br /&gt;
** {K} remplace [S] (substitue)&lt;br /&gt;
** {L} remplace [C] (modification de texte), juste à coté de {D} (couper)&lt;br /&gt;
&lt;br /&gt;
* {É} remplace [W] (mot suivant), le {W} étant beaucoup trop loin en Bépo ;&lt;br /&gt;
&lt;br /&gt;
* {W} est utilisé comme 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;pre class=&amp;quot;xkb&amp;quot;&amp;gt;&amp;lt;nowiki&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 »             (h = bloc, H = 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 »           (l = caractère, L = texte)&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;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remplacer la section « &amp;lt;&amp;gt; en direct » par les lignes suivantes pour avoir les chiffres en accès direct en mode normal :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre class=&amp;quot;xkb&amp;quot;&amp;gt;&amp;lt;nowiki&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;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Puis, inclure ce fichier dans la configuration de Vim en ajoutant la ligne suivante dans le fichier {{C|~/.vimrc}} :&lt;br /&gt;
 source ~/.vimrc.bepo&lt;br /&gt;
&lt;br /&gt;
Nota : les utilisateurs de Vimperator peuvent ajouter la même ligne dans le fichier {{C|~/.vimperatorrc}}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ~/.vim/after/ftplugin/netrw.vim ===&lt;br /&gt;
&lt;br /&gt;
Ex est le plugin 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} et {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 {CTSR} 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;
 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;
Avec ce fichier, {t}{s} fonctionnent désormais comme bas/haut et {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 {Ê}{È}{À}{Ç} sont inutilisées par Vim, et peuvent donc être affectées librement. Par exemple, on peut faire de {È} une touche « début de ligne » :&lt;br /&gt;
 noremap è ^&lt;br /&gt;
 noremap È 0&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 rqsm n&#039;est pas disponible en Latin-1) ; par contre, les adeptes du guillemet-apostrophe en direct peuvent utiliser la touche {ç} à cet effet :&lt;br /&gt;
 noremap ç &#039;&lt;br /&gt;
 noremap Ç `&lt;br /&gt;
&lt;br /&gt;
À faire pour la prochaine version (0.6.7) :&lt;br /&gt;
* inverser {j} et {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 {2}{3} ?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;del&amp;gt;Par ailleurs, on pourrait échanger {s} et {g} de façon à avoir {g} sous la main gauche et pour une meilleure cohérence des raccourcis de Vim : les commandes correspondant à « s » et « r », respectivement {g} et {h}, se trouveraient alors sous les touches {S} et {R}.&amp;lt;/del&amp;gt; &#039;&#039;problématique pour les raccourcis en {g}, nécessite une série de remappages supplémentaires, et conflit avec l&#039;inversion {j}/{h}.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration à la demande ==&lt;br /&gt;
Mettre le script suivant dans $VIM/plugin/dvorak-toggle.&lt;br /&gt;
Avec un minimum d&#039;adaptation, il est possible gérer n&#039;importe quelle disposition.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;xkb&amp;quot;&amp;gt;&amp;lt;nowiki&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;
 &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;
&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Reconfiguration totale des touches ==&lt;br /&gt;
&lt;br /&gt;
Une option radicale consisterait à reconfigurer toutes les touches en mode normal, afin qu&#039;elles correspondent aux labels du clavier Azerty. On pourrait même générer un tel fichier automatiquement 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;
&lt;br /&gt;
[[Image:Vim bépo.png|thumb|450px|right|Aide-mémoire Vim / fr-dvorak-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; classiques en l&#039;état.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;&amp;quot;&lt;br /&gt;
 &amp;quot; mapping du clavier bépo-&amp;gt;qwerty&lt;br /&gt;
 &amp;quot; en mode normal&lt;br /&gt;
 &amp;quot;&amp;quot;&lt;br /&gt;
 &amp;quot;configuration des lettres&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;
 &amp;quot;configuration du copié sur le ç car y est sur la touche composé ^&lt;br /&gt;
 noremap ç y&lt;br /&gt;
 &amp;quot;configuration des nombres&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;
&lt;br /&gt;
=== Bépo/Azerty ===&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;
 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;
&lt;br /&gt;
== Autres options utiles ==&lt;br /&gt;
À ajouter dans le fichier {{C|~/.vimrc}}.&lt;br /&gt;
&lt;br /&gt;
=== Appliquer automatiquement les modifications de ~/.vimrc ===&lt;br /&gt;
La première chose à faire pour jouer avec {{C|~/.vimrc}} !&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;
&lt;br /&gt;
=== Espaces insécables ===&lt;br /&gt;
Les espaces insécables du Bépo peuvent poser problème, notamment dans des fichiers de code où ils génèrent des erreurs. On a deux façons simples de s’en prémunir :&lt;br /&gt;
&lt;br /&gt;
; Coloriser les espaces insécables :&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;quot; colorise les nbsp&lt;br /&gt;
 highlight NbSp ctermbg=lightgray guibg=lightred&lt;br /&gt;
 match NbSp /\%xa0/&lt;br /&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;quot;set listchars=nbsp:·&lt;br /&gt;
 &amp;quot;set list&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;pre&amp;gt;&amp;lt;nowiki&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;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [Esc] plus accessible ===&lt;br /&gt;
Vim fait un grand usage de la touche Escape qui se trouve loin. On peut modifier le comportement de Tab pour qu’il serves de touche [Esc]. On garde un Tab en Maj+Tab. Attention, à ne pas utiliser dans Vimperator, on y a besoin du Tab…&lt;br /&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;
 &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;
&lt;br /&gt;
=== [PgUp] / [PgDn] plus accessibles ===&lt;br /&gt;
Vim utilise par défaut Ctrl+[B] et Ctrl+[F] pour aller à la page précédente / suivante. Ce n&#039;est déjà pas la panacée en Qwerty mais en Bépo c&#039;est l&#039;horreur, ces deux touches étant à l&#039;exact opposé l&#039;une de l&#039;autre. Pour y remédier, on peut utiliser les touches [BackSpace] et [Espace], c&#039;est bien plus confortable :&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;
Alternativement, si on préfère défiler des demi-pages, on peut utiliser les &#039;&#039;mappings&#039;&#039; suivants :&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;
Tant qu&#039;on y est, on peut aussi utiliser [Entrée] pour centrer la page sur le curseur (ne fonctionne pas avec Vimperator) :&lt;br /&gt;
 noremap &amp;lt;Return&amp;gt; zz&lt;br /&gt;
&lt;br /&gt;
=== Fixer l’encodage des fichiers en utf-8 ===&lt;br /&gt;
 set encoding=utf-8&lt;br /&gt;
 set fileencoding=utf-8&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;
Hors sujet, mais vraiment belle astuce.&lt;br /&gt;
&amp;lt;pre class=&amp;quot;xkb&amp;quot;&amp;gt;&amp;lt;nowiki&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;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
Il faut que Firefox soit dans le $PATH, sinon, indiquer le chemin complet de l’exécutable.&lt;br /&gt;
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;pre class=&amp;quot;xkb&amp;quot;&amp;gt;&amp;lt;nowiki&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;/nowiki&amp;gt;&amp;lt;/pre&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;
*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;
&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;
=== Firefox ===&lt;br /&gt;
&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;
=== 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;
=== 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;
* [[wp: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;
* [[wp: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;
* [[wp: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;
* [[wp: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 [[wp:Zsh|zsh]], qui possède un mode vi ; il suffit d&#039;ajouter les lignes suivantes au fichier {{C|~/.zshrc}} :&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;
&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 [[wp:Ion_(logiciel)|Ion]] (le plus connu) et [[wp: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;
; [[wp: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;
; [[wp: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 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 très récent (première &#039;&#039;release&#039;&#039; en avril 2007) et il n&#039;est pas encore aussi stable que ses concurrents, mais étant activement développé, les bugs de jeunesse devraient être rapidement corrigés.&lt;br /&gt;
&lt;br /&gt;
Xmonad est écrit et configurable en 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>Pankkake</name></author>
	</entry>
</feed>