Как я могу удалить косую черту или слово в zsh?

Поведение Bash

Я только что перешел из bash в zsh . В bash меня была следующая строка в ~/.inputrc .

 "\e\C-?": unix-filename-rubout 

Следовательно, Alt + Backspace удалит предыдущую косую черту, что было бы полезно для изменения введенных путей.

Кроме того, bash умолчанию приводит к удалению Ctrl + w в предыдущее пространство, что полезно для удаления целых аргументов (предполагая, что у них нет пробелов).

Поведение Zsh

В zsh оба Alt + Backspace и Ctrl + w делают то же самое. Они оба удаляют предыдущее слово, но они слишком либеральны с тем, что составляет слово-перерыв, удаляя предыдущее - или _ . Есть ли способ заставить zsh вести себя так же, как bash ? Если это важно, у меня установлен oh-my-zsh .

  • Что делает `zstyle`?
  • Почему модификаторы zsh precommand перестают принимать аргументы при цитировании?
  • Как я могу использовать bindkey для запуска скрипта?
  • Определение слова в ZLE (zsh)
  • Есть ли встроенный (или, по крайней мере, простой) способ проверить наличие функции, доступной через $ FPATH?
  • Как сделать HOME, END работать на терминале без X
  • stty: недопустимый целочисленный аргумент: «CCPP»
  • Изменение поведения имени хоста ZSH?
  • 2 Solutions collect form web for “Как я могу удалить косую черту или слово в zsh?”

    Изменить: следующий результат Google после того, как ваш вопрос был таким, с одним и тем же решением: zsh: сделать ALT + BACKSPACE остановкой без буквенно-цифровых символов

    Этот ответ был предоставлен /nick FoH из #zsh на freenode.

     backward-kill-dir () { local WORDCHARS=${WORDCHARS/\/} zle backward-kill-word } zle -N backward-kill-dir bindkey '^[^?' backward-kill-dir 

    Таким образом, вы можете использовать ctrl+w для удаления Word (в vim lingo) и alt+bkspc чтобы удалить слово

    Здесь был задан аналогичный вопрос: zsh: остановить обратное-kill-word на разделителе каталога

    и выполнимое решение: добавьте эти настройки в свой zshrc:

     autoload -U select-word-style select-word-style bash 
    Linux и Unix - лучшая ОС в мире.