Paramètres .inputrc: les liens delete-char et [] ne fonctionnent pas

0

J'utilise mingw sous windows. Lorsque j'utilise ruby ​​(irb), mes caractères spéciaux, tels que [] {} et \ ne fonctionnent pas. C'est à cause de mon clavier allemand, où ces touches sont utilisées avec AltGr (Alt + Ctrl). J'ai trouvé une solution pour cela ici ou ici .

Maintenant, quand j'ajoute la ligne

"\M-[": "["

dans mon fichier .inputrc, la touche de suppression ne fonctionne plus. Il est défini comme d'habitude:

"\e[3~": delete-char

En appuyant sur delete [3, vous retournez simplement , alors que Ctrl + v, delete revient ^[[3~comme prévu.

D'une manière ou d'une autre, ces deux définitions dans .inputrc ne fonctionnent pas ensemble. Des idées?

EDIT:
Seule la touche Suppr ne fonctionne pas, mes autres liaisons fonctionnent toutes, comme:

"\e[1~": beginning-of-line              # home (ok)
"\e[2~": paste-from-clipboard           # insert (ok)
"\e[3~": delete-char                    # delete (PROBLEM)
"\e[4~": end-of-line                    # end (ok)
"\e[5~": history-search-backward        # pageup (ok)
"\e[6~": history-search-forward         # pagedown (ok)
tanascius
la source

Réponses:

1

DEL: delete-char

Devrait travailler pour vous.

gordy
la source
0

\ M- [signifie META- [ce qui peut être fait avec ALT- [ou ESC, [\ e [signifie ESC, [mais cela vient d'être redéfini

Mircea Vutcovici
la source
Mais tout ce qui se trouve à côté de la touche Suppr fonctionne toujours - de même que la touche Insertion, qui est"\e[2~": ...
tanascius
0

La solution consistait à introduire une construction init conditionnelle :

$if ruby
  "\M-[": "["
  "\M-]": "]"
  "\M-{": "{"
  "\M-}": "}"
  "\M-\\": "\\"
  "\M-|": "|"
  "\M-@": "@"
  "\M-~": "~"
$else
  "\e[1~": beginning-of-line              # home
  "\e[2~": paste-from-clipboard           # insert
  "\e[3~": delete-char                    # delete
  "\e[4~": end-of-line                    # end
  "\e[5~": history-search-backward        # pageup
  "\e[6~": history-search-forward         # pagedown
$endif

Mais la question initiale: ce qui se passe ici existe toujours :)

tanascius
la source