12
votes

L'équivalent de Bash de ECSH de TCSH P pour passer à la commande à partir de ce que vous avez saisi jusqu'à présent

J'ai récemment rendu le basculement de TCSH à basculer à Bash. La seule chose qui me manque, c'est que TCSH's ESC + p fonction: Commencez à taper une commande puis appuyez sur ESC + p (j'ai trouvé l'équivalent ctrl- [p plus facile à taper) et il saute à la dernière commande de votre histoire que Commence avec ce que vous avez tapé jusqu'à présent.

Peut-être la meilleure réponse est que la meilleure réponse est de vous habituer à Ctrl de Bash + r mais jusqu'à présent, je n'aime pas ça autant. Je commence souvent à taper une commande, puis cela me survient que je l'ai déjà sorti. Avec la fonctionnalité de TCSH, je pouvais alors faire ESC + p + entrez pour le réinitialiser. Il est tellement rapide que je n'utiliserais jamais de plus de 2 commandes il y a plus de 2 commandes.

Un exemple de là où je l'ai trouvé surtout agréable: Les commandes longues commencent souvent par un point, car ils sont de la forme xxx

dans TCSH, je voudrais émettre une commande comme celle-là, peut-être peut-être, moins, la queue, tout, Et puis pour réémettre la commande longue, 4 clés: point, évasion, p, entrer.

Comment puis-je faire cela à Bash? Ou, pour le faire concrets, quel est le plus petit nombre de frappes de frappe à Bash pour dire "répéter la dernière commande qui a commencé avec un point"? Peut-il correspondre ou battre 4?


3 commentaires

J'avais besoin du contraire de sorte que je puisse faire l'environnement TCSH, je suis bloqué au travail fonctionnel. Maintenant je sais: \ ep. Et je peux utiliser la liaison pour le remettre à la flèche de changement de change comme je suis habituée à. Merci :).


Essayez la solution ici: SuperUserSer.com/Questions/351543/ Bashs - équivalent-de-tcshs-ESC P a travaillé pour moi.


J'ai accès à ESC-P à bash, bien que vous ayez à penser à l'utiliser d'abord ou que vous devez taper les données à nouveau ...


4 Réponses :


2
votes

Eh bien, vous pouvez faire xxx

qui est de trois caractères (y compris l'entrée). Bien sûr, dans le cas général, vous pouvez remplacer le point avec le préfixe d'identification unique de votre choix.


2 commentaires

Oh, wow, bon, merci! Mais je ne l'aime vraiment pas autant que la version de TCSH parce que (a) cela nécessite que la prévoyance de commencer avec le bang au lieu de saisir simplement le début de la commande (ou Ctrl-A! Bien sûr), et (b) il exécute immédiatement. J'aimerais passer à cette commande mais avoir la chance de le modifier ou de vous assurer que c'est celui que je voulais. Vous avez cependant cloué la version concrète de la question! (Notez qu'il s'agit de 3 caractères, pas 2, puisque j'incluais l'entrée finale.)


@Deeveves - Oui, vous avez raison - cela ne gère pas le problème de prévoyance, juste votre béton reprovoir. On dirait que vous avez une bonne réponse de Dennis Williamson pour cela. J'ai ajouté l'entrée pour correspondre à votre description.



10
votes

Ajoutez ceci à votre ~ / .InputRC CODE> Fichier:

"\e[5~": history-search-backward
"\e[6~": history-search-forward


2 commentaires

Comment rechercher une commande avec des arguments dans des citations dans tculsh ? commande 'argument1 argument2 ne fonctionne pas


@Jean: ça marche pour moi. Peut-être devriez-vous poser une nouvelle question et inclure tous les détails.



11
votes

J'étais dans le même bateau que vous avez besoin de passer à BASH de TCSH.

Je viens de créer un nouveau fichier ~ / .InputRC comme suit et que tout fonctionne bien! P>

$ cat ~/.inputrc
"\ep": history-search-backward
"\en": history-search-forward


1 commentaires

Ceci est proche mais pas tout à fait là car TCSH déplace le curseur jusqu'au bout de la ligne, mais bash / readline le laissait en place.



3
votes

Personnellement, je préfère CTRL-R - C'est une recherche interactive par l'histoire - Vérifiez-le, peut-être que vous l'aimerez. Les presses de Ctrl-R suivantes sautent jusqu'au prochain match.


1 commentaires

Je suis certainement prêt à être persuadé sur ce point. Combien de frappes de frappe sont nécessaires pour ma "répétition dernière commande qui a commencé avec un exemple" à l'aide de CTRL-R? (Je pense que depuis que des tonnes de commandes deviendront alors contiennent points que c'est une sorte de non-startère pour Ctrl-R, mais peut-être une astuce que je ne sais pas.)