Удаление входа назад к последней наклонной черте вправо

Я буду очень часто мелькать между несколькими файлами на сервере. Я выполню следующие команды в качестве примера в последовательности:

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

Пойти от одного nano управляйте к следующему, я в настоящее время нажимаю Up и Backspace для замены последнего сегмента пути. Проблема с этим, я действительно, действительно ленив.

Есть ли сочетание клавиш (или Bashism), который может также:

  • Будьте заменены последним используемым путем (с дополнительным битом на конце)
  • Удалите в текущей строке (например, после нажатия Up) назад к последнему /
15
задан 20 October 2014 в 19:19

3 ответа

Я думаю, что Вы ищете Высокий звук + Клавиша Backspace ярлык.

После нажатия это должен удалить назад к предыдущему / или space символ.

20
ответ дан 16 November 2019 в 13:24

Другое сочетание клавиш:

Высокий звук + B тогда Ctrl + высокий звук K

Alt + B     Move cursor backward one word on the current line    
Ctrl + K    Clear the line after the cursor

+ B тогда Высокий звук + D

Это удаляет последнее слово, не удаляя специальный символ между словами.

0
ответ дан 16 November 2019 в 13:24

Для обнаружения привязки readline, которые уничтожают слово назад, как Вы желаете, можно использовать следующую команду в терминале:

bind -p | awk '/kill/ && /word/ && /backward/'

В установке Ubuntu по умолчанию вывод мог быть:

"\e\C-h": backward-kill-word
# shell-backward-kill-word (not bound)

Вторая строка кажется без важности в этой точке, поэтому давайте попытаемся видеть то, что означает первую строку. Из того, что я понимаю, backward-kill-word функция readline, которые на самом деле удаляют все символы недо предыдущего специального символа (/, ;, , и т.д.), связывается с \e\C-h сочетание клавиш. Теперь, в этой последовательности \e представляет клавишу Esc, \C - клавиша Ctrl, и \C-h обозначает Ctrl+h, который эквивалентен в этом случае с клавишей Backspace.

Так, Вы ищете сочетание клавиш Esc+Ctrl+h, которое эквивалентно с Esc+Backspace и которое, из-за поведения xterm, которые делают клавишу Alt для действия как метасимвол и метасимволы, преобразовываются в две последовательности символов с символом, которому самим предшествует Esc (см. man xterm), эквивалентно с Alt+Backspace.

Теперь, если Вам не нравится он, и Вы продолжаете забывать это, можно использовать следующую команду, чтобы создать новый ярлык, позволить, говорят что Esc+w, для цели:

bind '"\ew": backward-kill-word'

Для создания этого нового ярлыка персистентным все время для всех команд, который использует readline добавьте следующую строку строки к Вашему ~/.inputrc файл:

"\ew": backward-kill-word

Посмотрите help -m bind | sensible-pager для большего количества информации.

9
ответ дан 16 November 2019 в 13:24

Другие вопросы по тегам:

Похожие вопросы: