2017-08-16 1 views
1

Lorsque emacs est en mode script shell, il ajoute automatiquement des balises EOF correspondantes à mon tampon chaque fois que je tape << et que ce n'est pas le début de la ligne, entre guillemets, ou échappé.Est-il possible d'empêcher Emacs d'utiliser l'insertion automatique EOF lors de la saisie de chevrons?

Je suppose que cela est un raccourci pour heredocs, mais il en fait une douleur à utiliser l'équerre triple pour herestrings bash, comme dans bc <<< "some_command" (c'est un opérateur bash qui a le même effet que la tuyauterie par écho (par exemple, echo "some_command" | bc))

Dans emacs, lorsque je tente de taper la ligne ci-dessus, dès que je le fais à bc <<, emacs insère automatiquement EOF, changer mon tampon à

bc <<EOF 

EOF 

Est-il possible de désactiver cette comportement?

Répondre

1

La réponse est: emacs.stackexchange.com/questions/5336. A savoir, il est causé par sh-electric-here-document-mode, que vous pouvez désactiver avec un crochet comme ça:

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