Rozważ następujący wiersz poleceń bash, gdzie ^ oznacza położenie kursora:
svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
^
Chciałbym zatwierdzić inny plik z tą samą wiadomością. Jak mogę usunąć bieżące słowo, od położenia kursora do następnej spacji? Czy istnieje również skrót do usuwania wstecz, tworząc kursor do pierwszej spacji do tyłu?
Aktualizacja: ctrl + wusuwa do tyłu, ale który skrót usuwa jedno słowo do przodu?
command-line
bash
shortcut-keys
Adam Matan
źródło
źródło
Ctrl u
jest opcją kasowania od położenia kursora do początku ...alt + d
, może to być przydatne, gdy ustawiony jest tryb edycji emacsa.set -o emacs
ją włącza, ale zazwyczaj jest to ustawienie domyślne; jeśli nie, możesz umieścić tę linię w.bashrc
lub.bash_aliases
, a następnie pobrać plik lub ponownie załadować terminal. Jednak skróty, do których możesz być przyzwyczajony w trybie vi, nie będą dostępne, chociaż takie jak ctrl + c, ponieważ nie są skrótami Bash.Odpowiedzi:
Odpowiedziałem na podobne pytanie na unix.stackexchange.com :
Jedyna różnica polega na tym, że musisz użyć polecenia „shell-kill-word”, ponieważ chcesz usunąć do przodu.
Istnieje również polecenie „zabij słowo” za pomocą Meta+ dskrótu (spróbuj Esc+, djeśli nie masz klawisza Meta). Usunie tylko jedną część ścieżki naraz.
źródło
"\ew": shell-kill-word
który spowoduje, że Alt-w przesyła słowo do przodu, podobnie jak CTRL-w wstecz usuwa słowo (i w przeciwieństwie do Alt-d, który przesyła usuwanie, ale zatrzymuje się na np. a / lub - i inne znaki)Testowane zarówno esc+ di alt/ opt+ dna OSX Mavericks i pracują tam również.
źródło
Option + d
daje mi ∂ na OSXcontrol + d
na komputerze Mac Sierra