使用emacs编辑bash shell脚本(#!/ bin / sh)时,无论何时我尝试在第三个括号中输入"<<<&#;" ; EOF'直接在括号后面,并在该行的末尾放置两个回车符,并写入“EOF”字样。再次,如下:
resiline=$(grep -w -n "$searchstring" input/*)
resifile=$(cut -d \: -f 1 <<<EOF $resiline)
EOF
为什么会这样做?如何防止它这样做?
答案 0 :(得分:2)
这样做是因为sh-electric-here-document-mode
已启用。要以交互方式禁用它,只需执行 M-x sh-electric-here-document-mode
。
在Emacs 24中,默认情况下sh-mode
启用了此次要模式,但您可以使用sh-mode-hook
再次禁用它。
在Emacs 25 sh-mode-hook
默认包含sh-electric-here-document-mode
(而不是sh-mode
直接调用它),因此您可以通过以下方式删除它:
M-x customize-option
RET sh-mode-hook
RET