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

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

  • Альтернативный псевдоним суффикса Zsh в bash
  • Выберите текст в терминале urxvt с помощью Shift + Arrow или Ctrl + Shift + Arrow
  • Локальные `set -e` для функций
  • изменить цвет подсказки в зависимости от пользователя или root в zsh
  • Возможно ли возобновить источник .bashrc и .zshrc И удалить функции один раз внутри них без перезапуска?
  • Какие файлы были получены, zsh
  • Как изменить ключ для автозаполнения в ZSH?
  • Запись zsh и вывод на другую команду
  • 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 - лучшая ОС в мире.