Когда вы редактируете файл bash-скрипта с помощью emacs и пытаетесь войти <<<
, во второй части <
emacs вставьте шаблон для документа here, как в следующем примере:
<<EOF
EOF
Это не желаемый вывод, потому что я бы ввел литерал <<<
.
На данный момент я прибегаю к вводу < < <
, а затем удаляю пробелы, но предпочитаю, чтобы мне было разрешено ввести его напрямую.
bash
emacs
autocomplete
enzotib
источник
источник
Ответы:
На самом деле нет необходимости в том, чтобы пользовательская
my-disable-here-document
функция Тома связывала клавиши. Эта функция может быть включена и отключена с помощьюsh-electric-here-document-mode
:(Он также может быть переключен для активного буфера через
M-x sh-electric-here-document-mode
.)источник
sh-mode-hook
не работал для меня, ноsh-set-shell-hook
сделал.Привязать
<
кself-insert-command
в режиме bash, а затем он будет вставлять только символ.По умолчанию он привязан к
sh-maybe-here-document
режиму bash, и эта функция выполняет автоматическую вставку.Вот способ отскока ключа:
источник
<
оно связаноself-insert-command
по умолчанию.Если единственная причина, по которой вы хотите отключить поведение here-doc, заключается в том, что он не позволяет вставлять здесь строку <<<, тогда будет работать привязка
C-<
к функции, которая содержит(insert "<<<")
эту функцию , и по-прежнему разрешать автоматический шаблон here-doc.источник
Я вхожу
<<<
как M-3<в режиме оболочки.источник
Тип < C-q < <
источник
Взглянув на: http://web.mit.edu/dosathena/sandbox/emacs-19.28/lisp/sh-script.el, я пришел к такому решению:
источник