Действительно ли возможно настроить ctrl-w (удалите слово)?

Система>> Мышь и включает "Щелчок через сенсорную панель"

42
21.12.2015, 13:45
5 ответов

Необходимо смочь использовать Esc, затем возвратиться для удаления слов, разграниченных наклонными чертами.

Можно изменить это путем помещения этого в Вас .bashrc:

bind '\C-f:unix-filename-rubout'

Теперь используйте Ctrl+f сделать то, что Вы хотите.

25
27.01.2020, 19:35
  • 1
    благодарит, это - команда, которая работает. существует ли способ перезаписать команду C-w? Если я изменяю его на C-w:..., поведение по умолчанию удаления к следующему пространству все еще умирает. На другом ключе (как F), если хорошо работает. –  SkaveRat 17.01.2012, 01:37
  • 2
    , я не думаю, что ctrl-w управляет одна только оболочка. Этим может управлять tty также. Чем Ваши tty устанавливают показанный stty -a? у Вас есть управление-w как символ по умолчанию для werase? Если Вы удаляете это сходящее tty с аферистом stty werase undef, действительно затем колотит работы как ожидалось? –  eppesuig 14.12.2012, 15:19

С ударом можно получить желаемый эффект, поместив следующее в ~/.bashrc файл:

bind '"\C-w":backward-kill-word'

Хит CTRL+V и Ваше сочетание клавиш для наблюдения то, на что это похоже для эмулятора терминала. Например, CTRL+bksp может быть интерпретирован отличающийся на различных терминалах, например. ^H или ^?. ^ символ совпадает с CTRL.

7
27.01.2020, 19:35
  • 1
    , я думаю, что не был достаточно конкретен со своим вопросом. Я хотел иметь / как дополнительный стоповый символ, не способ связать delete-word-command на другом ключе. Я отредактировал свой вопрос –  SkaveRat 30.12.2011, 15:28
  • 2
    Используя backward-kill-word, связанный с \C-w, это сотрется назад к последней данной наклонной черте вправо, если существующий, одним словом, и он сотрет слова, разграниченные пробелом. Это не то, что Вы хотели? –   30.12.2011, 17:34
  • 3
    Мое системное использование ^F - но использование "\^F" в сценарии выше не работает –  SkaveRat 16.01.2012, 20:53
  • 4
    Ctrl символ записан \C в сценарии и нет \^. –   17.01.2012, 01:41

Что работало на меня, должны были добавить следующие строки к моему .bashrc

stty werase undef
bind '\C-w:unix-filename-rubout'

Вам нужна undef строка, иначе колотят, игнорирует Вашу новую привязку для C-w

30
27.01.2020, 19:35
  • 1
    Это должно быть отмечено это stty werase undef будет мешать Вам использовать C-w в любой программе (свяжите, позволит Вам использовать в readline) –  0fnt 13.07.2015, 19:58
[117336] Для этого конкретного вопроса можно также использовать: Alt[117613] + [117614]Backspace
  • Хорошая ссылка: [117616]Приключения со словом bash erase
  • 26
    27.01.2020, 19:35

    Я не уверен, относится ли это к Mac OS, но я ничего не мог сделать с C -w без установки этой опции строки чтения:

    set bind-tty-special-chars Off
    

    Я добавил это в свой ~/.inputrc вместе с:

    C-w: backward-kill-word
    

    Теперь я могу удалять по одному слову за раз.

    Источник:https://shallowsky.com/blog/linux/bash-word-erase.html

    2
    18.08.2020, 21:32

    Теги

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