Pod Bashem pewne zachowanie Alt+ ddoprowadza mnie do szaleństwa od lat i doszedłem do wniosku, że może to naprawić za pomocą ustawienia.
Jeśli jestem w terminalu i wydaję takie polecenie:
...$ cat >> ~/notesSuperLongFilename.txt
a następnie, jeśli chcę, powiedzmy, wydać:
...$ scp ~/notesSuperLongFilename.txt
Chciałbym odzyskać „cat >> ~ / notesSuperLongFilename.txt” za pomocą Ctrl + p (poprzednia linia), a następnie zrobić Ctrl+, aa następnie Alt+ di Alt+ dponownie, aby mieć:
...$ ~/notesSuperLongFilename.txt
i wtedy będę mógł po prostu wpisać „scp”, a następnie zrobić znak Ctrl+ m(lub nacisnąć Enter / Return).
Jednak to nie działa, ponieważ po pierwszym Alt+ dotrzymuję:
...$ >> ~/notesSuperLongFilename.txt
(na razie w porządku)
ale po drugim Alt+ ddostaję:
...$ .txt
Z jakiegoś powodu Alt+ dusuwa jednocześnie „>> ~ / notesSuperLongFilename” zamiast po prostu „>>” .
To musi być największa strata czasu, która doprowadza mnie do szaleństwa w Linuksie / Bash od dosłownie lat.
Jak więc naprawić to (prawdopodobnie zepsute) zachowanie Alt+ d?
PS: Nie wiem, kto jest „odpowiedzialny” za to Alt+ dzachowanie: nie wiem, czy to terminal, czy powłoka (w moim przypadku Bash).
źródło
Odpowiedzi:
Jest to
bash
w szczególności domyślna konfiguracja edycji wiersza poleceń. Oto ładna strona na temat tego, jakie komendy można powiązać i jak zmienić domyślne powiązania.Domyślnym powiązaniem
Alt-d
jest to,kill-word
które powinno działać jak polecenie o tej samej nazwie w Emacsie. Jednak, jak zauważyłeś, tak nie jest - Emacs uznałby, że odstęp między>>
tyldą w twoim przykładzie jest łamaniem wyrazów. Takbash
nie jest, rozważałbym błąd. Brakuje źródłabash
, zmiany i ponownej kompilacji, nie wiem, co możesz zrobić.źródło