В оболочке tcsh, как я нахожу конкретное слово в командной строке?

На Солярисе 11 и более поздние выпуски, энергия является теперь версией по умолчанию vi.

0
13.04.2017, 15:36
1 ответ

Meta-x tcsh средства, которые это ожидает ESC Символ ASCII (иначе ^[ или \e) сопровождаемый x. Можно всегда делать это путем нажатия Escape и x быстро в последовательности, или некоторые терминалы делают это путем нажатия Alt-x.

Некоторые другие терминалы отправляют символ x с 8-м набором битов при нажатии Alt-x. С xterm, можно изменить это путем добавления:

XTerm*metaSendsEscape: true

к файлу ресурсов X11.

Теперь, для поиска в tcsh, если Вы хотите эмулировать emacs/zsh Ctrl-R или Ctrl-S в emacs режим, необходимо будет связать i-search-back и i-search-fwd виджеты:

bindkey '^R' i-search-back
bindkey '^S' i-search-fwd

Однако обратите внимание что обычно для терминального драйвера, ^S stop символ, который приостанавливает терминальный ввод и вывод (возобновленный с ^Q). Так, если Вы хотите связать ^S, необходимо будет отключить это любой путем отключения управления потоком:

stty -ixon

Или свяжите stop к некоторому другому символу:

stty stop '^T'
2
28.01.2020, 02:37
  • 1
    Но CTRL+R также перерывает команду истории. Я нахожу это довольно полезным и хотел бы сохранить то поведение. В том сценарии, если я делаю bindkey '^R' i-search-back, будет, поведение по умолчанию не добраться переопределяется? –  Geek 07.08.2013, 10:16
  • 2
    Также, как я могу заставить эту привязку сохраниться между сессиями? –  Geek 07.08.2013, 10:17
  • 3
    @Geek, i-search-back должен перерыть историю (запускающийся с текущей строки). В tcsh реализация у меня есть доступ к, ^R связывается с redisplay. Включите их ~/.tcshrc сделать персистентным. Когда-либо мысль о выполнении man tcsh? –  Stéphane Chazelas 07.08.2013, 10:37
  • 4
    Где я могу найти список доступных виджетов? Я попробовал man bash но нет никакого раздела для bindkey. Также я искал онлайн и нашел этот веб-сайт: ibm.com/support/knowledgecenter/en/SSLTBW_2.3.0 / …, но нет никакого упоминания о i-search-back . –  sergio 12.04.2018, 03:47
  • 5
    @Sergio, в tcsh, использовать bindkey -l. В bash, использовать bind -l –  Stéphane Chazelas 15.04.2018, 16:45

Теги

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