Je pense que cette fonctionnalité que OP recherche est appelée dabbrev-expand dans le monde Emacs:
Développez le mot dans le tampon avant le point comme une abréviation dynamique, en recherchant dans le tampon les mots commençant par cette abréviation (v-expand).
xterm
a également des dabbrev-expand
fonctionnalités, mais il est un peu moins intelligent que son homologue Emacs, mais il est très utile pour moi et l'une des raisons pour lesquelles je suis passé xterm
. Dans la xterm
fenêtre, on peut utiliser une liaison de touches personnalisée spécifiée dans ~/.Xresources
pour invoquer dabbrev-expand
une chaîne donnée. Par exemple, j'ai l'entrée suivante dans mon ~/.Xresources
(j'utilise uxterm
, une version Unicode de xterm):
UXTerm*VT100.Translations: #override \n\
Meta <Key>/:dabbrev-expand() \n\
Dans la xterm
fenêtre intérieure , je peux utiliser M-/
( ALT + /
) pour invoquer dabbrev-expand
. xterm
recherchera toutes les chaînes visibles à l'écran qui commencent par les lettres que j'ai tapées. Exemple:
$ echo a_very_long_string bye by
$ a_v
Si je pressais M-/
maintenant xterm
élargirait a_v
à a_very_long_string
. Malheureusement, comme je l'ai dit, ce xterm
n'est pas si intelligent et sa dabbrev-expand
fonctionnalité ne fonctionnera que sur des chaînes complètes. Donc, dans votre cas, is
serait étendu à issue540
et non issue547314
parce qu'il issue547314
fait partie de origin/issue547314
(pensez-y comme \b
dans les expressions régulières, c'est un peu similaire, bien que la plupart des moteurs d'expressions régulières capturent les deux occurrences de issue
chaînes \bissue.+\b
). Mais , vous pouvez taper or
puis pressez M-/
. xterm
va d'abord s'étendre or
à origin/v2.1
, ce n'est pas ce que nous voulons, alors appuyez à M-/
nouveau et xterm
développez-le origin/issue547314
. Maintenant, si vous utilisez Bash, vous pouvez le faire M-b
,C-w
et C-e
pour retirer une origin/
partie. Pour résumer, l' dabbrev-expand
intérieur xterm
n'est pas aussi bon que dans Emacs (et Vim je suppose) mais c'est toujours plus rapide que de réécrire de longues cordes à la main et moins sujette aux fautes de frappe. Et dans la plupart des cas, il s'étendra directement à la chaîne souhaitée sans avoir à supprimer les parties redondantes. Vous avez juste besoin de vous y habituer - regardez la chaîne que vous voulez avoir au curseur et voyez si elle n'est pas précédée par quelque chose d'autre, et si c'est tapez une partie précédente et supprimez-la après l'expansion.
Notez que ce xterm
n'est pas compilé avec la dabbrev-expand
fonctionnalité par défaut et vous devez l'activer explicitement. Cependant, la version de xterm
dans les référentiels Ubuntu est compilée avec dabbrev-expand
et vous pouvez l'utiliser immédiatement.