{"id":142,"date":"2005-09-20T10:24:28","date_gmt":"2005-09-20T10:24:28","guid":{"rendered":"http:\/\/www.lucas-nussbaum.net\/blog\/?p=142"},"modified":"2005-09-20T10:24:28","modified_gmt":"2005-09-20T10:24:28","slug":"faux-espaces-avec-ubuntu","status":"publish","type":"post","link":"https:\/\/www.lucas-nussbaum.net\/blog\/?p=142","title":{"rendered":"&quot;Faux&quot; espaces avec Ubuntu"},"content":{"rendered":"<p>Depuis que j&#8217;utilise Ubuntu, j&#8217;ai un probl\u00e8me assez emb\u00eatant. De temps en temps, je tape un espace, et \u00e7a fait des choses comme \u00e7a :<\/p>\n<pre>***lucas@blop:~$ ls | grep a bash:  grep: command not found<\/pre>\n<p>Plut\u00f4t \u00e9trange, non ? Apr\u00e8s des mois o\u00f9 j&#8217;ai simplement accept\u00e9 ce petit d\u00e9sagr\u00e9ment, j&#8217;ai pris le taureau par les cornes et j&#8217;ai essay\u00e9 de comprendre.<\/p>\n<p>Le caract\u00e8re qui s&#8217;affiche n&#8217;est pas un espace (code ascii 0x20) mais un espace ins\u00e9cable (code ascii 0xc2a0). Oui, mais pourquoi s&#8217;affiche-t-il sous Ubuntu, et pas sous Debian, par exemple ? En fait, le clavier &#8220;fran\u00e7ais&#8221; par d\u00e9faut sous Ubuntu est <i>fr-latin9<\/i>, alors que sous Debian, on utilise g\u00e9n\u00e9ralement <i>fr<\/i>. Et si on regarde <i>\/etc\/X11\/xkb\/symbols\/fr<\/i>, on comprend vite le probl\u00e8me : <i>fr-latin9<\/i> compl\u00e8te <i>fr<\/i> en rajoutant plein de caract\u00e8res accessibles via la touche ALTGR. Par exemple, \u00cb s&#8217;obtient avec ALTGR + Maj + d. Le comportement de la barre d&#8217;espace change \u00e9galement, avec l&#8217;envoi d&#8217;un Nobreakspace lorsqu&#8217;on fait ALTGR + espace.<\/p>\n<p>En tapant &#8220;ls | grep a&#8221; je rel\u00e2che parfois ALTGR apr\u00e8s avoir appuy\u00e9 sur espace, d&#8217;o\u00f9 l&#8217;apparition de ce caract\u00e8re.<\/p>\n<p>Solutions : il y en a plusieurs.<\/p>\n<ul>\n<li>Utiliser <i>fr<\/i> \u00e0 la place de <i>fr-latin9<\/i> en supprimant <i> Option          &#8220;XkbVariant&#8221;    &#8220;latin9&#8221;<\/i> dans <i>\/etc\/X11\/xorg.conf<\/i> (ne pas oublier de red\u00e9marrer X ensuite, \u00e9vidememment).<\/li>\n<li>Utiliser <i>xmodmap<\/i> pour modifier le comportement de la barre d&#8217;espace avec la commande <i>xmodmap -e &#8220;keycode  65 = space space space NoSymbol space&#8221;<\/i> ou simplement <i>xmodmap -e &#8220;keycode 65 = space&#8221;<\/i>. Pour que le changement soit durable, on peut ajouter <i>keycode 65 = space<\/i> \u00e0 son fichier .xmodmap.<\/li>\n<li>Apprendre \u00e0 taper : oui, mais c&#8217;est dur, car on ne voit pas la diff\u00e9rence entre un espace ins\u00e9cable et un espace. Certains \u00e9diteurs permettent d&#8217;utiliser des <i>mappings<\/i> pour remplacer certains caract\u00e8res. Dans vim, par exemple, on peut utiliser <i>imap &lt;espace ins\u00e9cable ici&gt; X<\/i>. Ainsi, les espaces ins\u00e9cables sont remplac\u00e9s par des &#8220;X&#8221;, et plus facilement d\u00e9tect\u00e9s.<\/li>\n<\/ul>\n<p>La liste des combinaisons de touches disponibles est visible dans le fichier <i>\/etc\/X11\/xkb\/symbols\/fr<\/i>. Je la recopie ici :<\/p>\n<pre>\/\/  ____                                     _________ _____________ _______ \/\/ | S A| S = Shift,  A = AltGr + Shift     | Imprime | Arr\u00eat d\u00e9fil | Pause | \/\/ | s a| s = normal, a = AltGr             |  Exec   |             | Halte | \/\/  \u00af\u00af\u00af\u00af                                     \u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af \u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af\u00af \u00af\u00af\u00af\u00af\u00af\u00af\u00af \/\/  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ \/\/ | \u00bd \"| 1 \u00b7| 2 \u00c9| 3 ,| 4 '| 5 \"| 6 || 7 \u00c8| 8 \u00af| 9 \u00c7| 0 \u00c0| \u00b0 \u00ff| + \u00b0| | | a \u00e2| z \u00e5| e \u00a4| r \u00e7| t \u00fe| y \u00fd| u \u00fb| i \u00ee| o \u00f4| p \u00b6| ^ ~| \u00a3 \u00ea|   | W  | X  | C  | V  | B  | N  | ?  | .  | \/  | \u00a7  |     ^     | \/\/ | |   | <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Depuis que j&#8217;utilise Ubuntu, j&#8217;ai un probl\u00e8me assez emb\u00eatant. De temps en temps, je tape un espace, et \u00e7a fait des choses comme \u00e7a : ***lucas@blop:~$ ls | grep a bash: grep: command not found Plut\u00f4t \u00e9trange, non ? Apr\u00e8s des mois o\u00f9 j&#8217;ai simplement accept\u00e9 ce petit d\u00e9sagr\u00e9ment, j&#8217;ai pris le taureau par les [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"0","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-142","post","type-post","status-publish","format-standard","hentry","category-debianubuntu"],"_links":{"self":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=142"}],"version-history":[{"count":0,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/142\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lucas-nussbaum.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}