有什么方法可以在输入尖括号时停止自动输入EOF的emacs?

时间:2017-08-16 18:41:14

标签: bash emacs

当emacs处于shell脚本模式时,只要我输入<<并且它不是行的开头,引用或转义,它就会自动将匹配的EOF标记添加到我的缓冲区。

我认为这是heredocs的捷径,但是对于bash herestrings使用三角括号是很痛苦的,就像在bc <<< "some_command"中一样(它是一个bash运算符,具有与通过echo管道相同的效果)例如,echo "some_command" | bc))

在emacs中,当我尝试输入上面一行时,只要我将其设为bc <<,emacs会自动插入EOF,将我的缓冲区更改为

bc <<EOF

EOF

有没有办法禁用此行为?

1 个答案:

答案 0 :(得分:2)

这里的回答是:emacs.stackexchange.com/questions/5336。也就是说,它是由sh-electric-here-document-mode引起的,您可以使用这样的钩子禁用它:

(add-hook 'sh-mode-hook (lambda () (sh-electric-here-document-mode -1)))