Vraag Hoe langere commando's sneller navigeren?


Is er een manier om Linux CLI-navigatie te versnellen wanneer ik lange opdrachten moet invoeren? Ik gebruik nu gewoon pijlen en - als ik een lange opdracht heb, kost het enige tijd om van het begin van het commando naar het midden ervan te gaan.

Is er een manier om bijvoorbeeld naar het midden van de opdracht te springen zonder pijlen te gebruiken?


121
2018-05-27 15:17


oorsprong




antwoorden:


Enkele bruikbare regelsets voor het bewerken van regels die door de Lees regel bibliotheek:

  • Ctrl-A: ga naar het begin van de regel
  • Ctrl-E: ga naar het einde van de regel
  • Alt-B: sla één woord achteruit
  • Alt-F: sla één woord naar voren
  • Ctrl-U: verwijder naar het begin van de regel
  • Ctrl-K: verwijder naar het einde van de regel
  • Alt-D: verwijder tot het einde van het woord

153
2018-05-27 17:49



+1 omdat dit werkt, zelfs als ctrl-pijlen om wat voor redenen dan ook niet werken. De moeite waard om op te merken, voor screen gebruikers, Ctrl-A wordt Ctrl-A A. - enzotib
Om een ​​verwijdering ongedaan te maken (of tekst te verplaatsen door het te verwijderen), gebruikt u Ctrl + Y. - Lekensteyn
Ctrl + Pijl naar rechts, Ctrl + Pijl naar links vermelden waard. - mac
Op Ubuntu met Gnome en GnomeTerminal Alt-A opent het menu in plaats van de cursor te verplaatsen. Hoe gebruik je Alt-A met Gnome? Ik bedoel, Gnome is de standaard, dus waarschijnlijk is iedereen die dit leest een terminal in Gnome aan het runnen. - Jason
Als je verbinding maakt met Ubuntu van OS X via SSH mogelijk moet u "Esc" gebruiken in plaats van Ctrl, bijvoorbeeld Esc-A, Esc-E enzovoort. Dit geldt voor iTerm en Terminal. - Fred Clausen


Nog meer snelkoppelingen van hier

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



Bedankt voor deze eenvoudige lijst met chatten zonder chat. - neverMind9


Als je een vi [m] en bash-gebruiker bent, zou je het handig kunnen vinden om readline te maken (gebruikt door bash) vi-style bewerken te gebruiken door toe te voegen set editing-mode vi aan jouw ~/.inputrc of /etc/inputrc bestanden. Of u kunt bash gewoon gebruiken om vi-stijl te bewerken door de bash-opdracht uit te voeren set -o vi. Voeg het commando toe aan uw ~/.bashrc bestand om het gedrag persistent te maken.

Als je een zsh-gebruiker bent, voeg je toe bindkey -v aan jouw .zshrc bestand voor bewerking in vi-stijl.


14
2017-10-14 12:58





Ik ken geen manier om specifiek naar het midden te springen zonder de cursortoetsen te gebruiken. Ik kan u echter aanraden CTRL + cursortoets te gebruiken om van leeg naar leeg te gaan (dat wil zeggen van het ene naar het andere woord te springen).


8
2018-05-27 15:26





Bron het onderstaande codefragment in uw .bashrc. Ctrl-a springt naar het begin en drukt op Ctrl-a springt opnieuw naar het midden.

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'

Of als u Ctrl-Something wilt gebruiken om direct naar het midden te springen, wijzigt u de code in:

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

En bind het aan iets anders dan Ctrl-a.


0
2017-10-05 12:00