Question Comment naviguer plus rapidement dans les longues commandes?


Y a-t-il un moyen d'accélérer la navigation Linux CLI lorsque je dois entrer de longues commandes? J'utilise simplement des flèches en ce moment, et - si j'ai une longue commande, il faut un certain temps pour passer du début de la commande au milieu.

Y at-il un moyen par exemple de sauter au milieu de la commande sans utiliser les flèches?


121
2018-05-27 15:17


origine




Réponses:


Quelques raccourcis clavier d'édition de ligne utiles fournis par le Readline bibliothèque:

  • Ctrl-A: aller au début de la ligne
  • Ctrl-E: aller au bout de la ligne
  • Alt-B: sauter un mot en arrière
  • Alt-F: sauter un mot avant
  • Ctrl-U: supprimer au début de la ligne
  • Ctrl-K: supprimer à la fin de la ligne
  • Alt-D: supprimer à la fin du mot

153
2018-05-27 17:49



+1 car cela fonctionne même si, pour certaines raisons, les flèches Ctrl ne fonctionnent pas. À noter, pour screen utilisateurs, Ctrl-A devient Ctrl-A A. - enzotib
Pour annuler une suppression (ou déplacer du texte en le supprimant), utilisez Ctrl + Y. - Lekensteyn
Ctrl + flèche droite, Ctrl + flèche gauche à mentionner. - mac
Sur Ubuntu en utilisant Gnome et GnomeTerminal Alt-A ouvre le menu au lieu de déplacer le curseur. Comment utilisez-vous Alt-A avec Gnome? Je veux dire, Gnome est la valeur par défaut, donc il est probable que tous ceux qui liraient ceci utiliseraient un terminal dans Gnome. - Jason
Si vous vous connectez à Ubuntu de OS X sur SSH, vous devrez peut-être utiliser "Esc" au lieu de Ctrl, par exemple, Esc-A, Esc-E et ainsi de suite. Cela est vrai pour iTerm et Terminal. - Fred Clausen


Quelques raccourcis de plus ici

Ctrl + a – go to the start of the command line
Ctrl + e – go to the end of the command line
Ctrl + k – delete from cursor to the end of the command line
Ctrl + u – delete from cursor to the start of the command line
Ctrl + w – delete from cursor to start of word (i.e. delete backwards one word)
Ctrl + y – paste word or text that was cut using one of the deletion shortcuts (such as the one above) after the cursor
Ctrl + xx – move between start of command line and current cursor position (and back again)
Alt + b – move backward one word (or go to start of word the cursor is currently on)
Alt + f – move forward one word (or go to end of word the cursor is currently on)
Alt + d – delete to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + c – capitalize to end of word starting at cursor (whole word if cursor is at the beginning of word)
Alt + u – make uppercase from cursor to end of word
Alt + l – make lowercase from cursor to end of word
Alt + t – swap current word with previous
Ctrl + f – move forward one character
Ctrl + b – move backward one character
Ctrl + d – delete character under the cursor
Ctrl + h – delete character before the cursor
Ctrl + t – swap character under cursor with the previous one

64
2018-06-08 22:43



Merci pour cette liste simple, sans bavardage. - neverMind9


Si vous êtes un utilisateur vi [m] et bash, vous pouvez trouver utile d’utiliser readline (utilisé par bash) pour éditer le style vi en ajoutant set editing-mode vi à ton ~/.inputrc ou /etc/inputrc des dossiers. Ou, vous pourriez simplement faire bash utiliser l'édition de style vi en exécutant la commande bash set -o vi. Ajoutez la commande à votre ~/.bashrc fichier pour rendre le comportement persistant.

Si vous êtes un utilisateur zsh, ajoutez bindkey -v à ton .zshrc fichier pour l'édition de style vi.


14
2017-10-14 12:58





Je ne connais pas de moyen de sauter spécifiquement au centre sans utiliser les touches du curseur. Cependant, je peux recommander d'utiliser CTRL + touche de curseur pour passer d'un blanc à un autre (par exemple, passer d'un mot à un autre).


8
2018-05-27 15:26





Source l'extrait de code ci-dessous dans votre .bashrc. Ctrl-a saute au début et en appuyant sur Ctrl-a saute au milieu.

jump_mid() {
    if [ "$READLINE_POINT" -eq "0" ]; then
        LEN=${#READLINE_LINE}
        POS=$(($LEN / 2))
        READLINE_POINT=$POS
    else
        READLINE_POINT=0
    fi
}
bind -x '"\C-a" : jump_mid'

Ou si vous voulez utiliser Ctrl-Something pour sauter directement au centre, changez le code pour:

jump_mid() {
    LEN=${#READLINE_LINE}
    POS=$(($LEN / 2))
    READLINE_POINT=$POS
}

Et le lier à quelque chose de différent de Ctrl-a.


0
2017-10-05 12:00