当emacs处于shell脚本模式时,只要我输入<<
并且它不是行的开头,引用或转义,它就会自动将匹配的EOF标记添加到我的缓冲区。
我认为这是heredocs的捷径,但是对于bash herestrings使用三角括号是很痛苦的,就像在bc <<< "some_command"
中一样(它是一个bash运算符,具有与通过echo管道相同的效果)例如,echo "some_command" | bc
))
在emacs中,当我尝试输入上面一行时,只要我将其设为bc <<
,emacs会自动插入EOF,将我的缓冲区更改为
bc <<EOF
EOF
有没有办法禁用此行为?
答案 0 :(得分:2)
这里的回答是:emacs.stackexchange.com/questions/5336。也就是说,它是由sh-electric-here-document-mode
引起的,您可以使用这样的钩子禁用它:
(add-hook 'sh-mode-hook (lambda () (sh-electric-here-document-mode -1)))