Как удалить часть пути в интерактивной оболочке?

Есть ли ярлык в bash и zsh для удаления одного компонента пути? Например, если я ls ~/local/color/ , а курсор находится в конце строки, есть ли ярлык для удаления color/ в конце? В идеале я хочу решения в режимах vi-mode и emacs

  • Могу ли я предотвратить замедление zsh с большой историей?
  • Каков предполагаемый прецедент для COMPLETE_ALIASES в zsh?
  • Как я могу получить постоянный dirstack с уникальными записями в zsh?
  • Все файлы в каталоге, которые не заканчиваются в определенной строке?
  • ZSH: путь удаления, имя файла и расширение из списка файлов для соединения команды
  • Использование шаблонов OR в шаблонах оболочки
  • Отображение стандартного вывода фонового процесса в определенном месте терминала
  • Задание zsh для ssh сбивает имена хостов с локальными файлами
  • 3 Solutions collect form web for “Как удалить часть пути в интерактивной оболочке?”

    Наиболее часто используемые команды в режиме bash emacs по умолчанию для наиболее часто используемых клавиатур:

    движение

    • Ctrl- p или Вверх : предыдущая команда
    • Ctrl- n или Down : следующая команда
    • Ctrl- b или Left : предыдущий символ
    • Ctrlf , или справа : следующий символ
    • Altb : предыдущее слово
    • Altf : следующее слово
    • Ctrl- a или Home : начало команды
    • Ctrle , или End : конец команды

    редактирование

    • BkSpc : удалить предыдущий символ
    • Ctrl- d или Del : удалить текущий символ
    • AltBkSpc : удалить слово влево
    • Altd : удалить слово вправо
    • Ctrlu : удалить, чтобы начать команду
    • Ctrlk : удалить до конца команды
    • Ctrly : вставить последний разрез

    Разное

    • Cltr/ : отменить
    • Cltrr : инкрементный поиск назад назад

    Существует также unix-filename-rubout для Readline !

     # in ~/.inputrc # press ctrl-b to delete unix filename parts # see: man bash | less -p 'unix-filename-rubout' and # http://www.calmar.ws/vim/vi-bash.html set editing-mode vi set keymap vi "\Cb": unix-filename-rubout 

    По умолчанию bash (и я предполагаю, zsh) будет в emacs-режиме. Вы можете попробовать что-то вроде этого:

    Esc + b вернет курсор на одно слово. Ctrl + k будет удаляться до конца строки.

    Большинство современных оболочек (например, bash) будут реализовывать расширенные функции редактирования командной строки. Эти команды либо близки к редактированию emacs (Ctrl + A для начала строки, Ctrl + E для конца строки, …).

    Если вы знакомы с vi-подобными редакторами, вы можете попытаться разрешить vi-режим.

    set -o vi

    Он дает ваши режимы в виде оболочки (режим командной строки / вставки), и вы получаете доступ к стандартным командам (d для удаления, r для замены, …)

    В режиме Vi, вот как вы будете делать то, что вы описали:

     Esc (command mode); d; b. 
    Linux и Unix - лучшая ОС в мире.