Bardzo często będę flirtował między kilkoma plikami na serwerze. Uruchomię następujące przykładowe polecenia po kolei:
nano /web/site/path/to/file
/web/site/script.py
nano /web/site/path/to/anotherFile
nano /web/site/path/to/yetAnotherFile
/web/site/script.py
nano /web/site/path/to/etc
Aby przejść z jednego nano
polecenia do drugiego, aktualnie naciskam Upi Backspacezastępuję ostatni segment ścieżki. Problem w tym, że jestem naprawdę, bardzo leniwy.
Czy istnieje skrót klawiaturowy (lub Bashism), który może:
- Zastąp ostatnią użytą ścieżką (z dodatkowym bitem na końcu)
- Usuń w bieżącym wierszu (np. Po naciśnięciu Up) z powrotem do ostatniego
/
alt
+.
?Alt + .
służy do czegoś innego .alt
+.
.Odpowiedzi:
Myślę, że szukasz skrótu Alt+ Backspace.
Po naciśnięciu Upnależy usunąć z powrotem do poprzedniego
/
lubspace
znaku.źródło
backspace
.bind -P | grep '^backward-kill-word'
Aby wykryć powiązanie readline, które zabija słowo do tyłu, jak chcesz, możesz użyć następującego polecenia w terminalu:
W domyślnej instalacji Ubuntu dane wyjściowe mogą być:
Druga linia wydaje się w tym momencie bez znaczenia, więc spróbujmy zobaczyć, co oznacza pierwsza linia. Z tego co rozumiem,
backward-kill-word
funkcji readline, który w rzeczywistości usunąć wszystkie znaki aż poprzedni znak specjalny (/
,;
,,
itd) jest związany z\e\C-h
sekwencji klawiszy. Teraz, w tej kolejności\e
przedstawia się Escklucz,\C
- na Ctrlklucz, a\C-h
stoi za Ctrl+ h, który jest równoważny w tym przypadku z Backspacekluczem.Szukamy więc skrótu klawiaturowego Esc+ Ctrl+,h który jest równoważny z Esc+Backspace i który z powodu zachowania xterm sprawia, że Altklucz działa jako znak meta, a znaki meta są konwertowane na sekwencję dwóch znaków, a sam znak poprzedza Esc(patrz
man xterm
) , jest równoważne z Alt+Backspace .Teraz, jeśli ci się nie podoba i nadal go zapominasz, możesz użyć następującego polecenia, aby utworzyć nowy skrót, powiedzmy Esc+ w, do swojego celu:
Aby ten nowy skrót był stały przez cały czas dla wszystkich poleceń korzystających z readline, dodaj do
~/.inputrc
pliku następującą linię :Zobacz
help -m bind | sensible-pager
więcej informacji.źródło
bind '"\ew": backward-kill-word'
, ale to podstępne. A może warto wspomnieć, że można również umieścić"\ew": backward-kill-word
w~/.inputrc
, w którym to przypadku innych poleceń, że użycie readline będzie również, że wiązanie, na przykład jeśli włączysz readline w python interaktywnej powłoki, że wiązanie stosuje się również tam.Inną kluczową kombinacją jest:
Alt+ Bnastępnie Ctrl+K
Alt+ Bnastępnie Alt+D
To usuwa ostatnie słowo bez usuwania specjalnego znaku między słowami.
źródło