답변:
에 의해 발생합니다 sh-electric-here-document-mode
. 활성화되면 <<
here 문서 스켈레톤을 삽입합니다.
기본적으로 활성화되어 있습니다. 다음과 같은 후크로 비활성화 할 수 있습니다.
(add-hook 'sh-mode-hook (lambda () (sh-electric-here-document-mode -1)))
sh-mode-hook
나를 위해 일 sh-set-shell-hook
하지 않았지만 그랬습니다.
glucas는 정확하지만 그의 대답을 보충하기 위해 여기에 문서 삽입을 조금 더 똑똑하게 만드는 데 사용했던이 코드가 있습니다.
이 조언은 sh-electric-here-document-mode
enabled 와 함께 사용하여 두 개의 갈매기 형을 입력하면 여기에 자동 문서가 만들어 지지만 입력 한 다음 문자가 다른 갈매기 형이면 되돌리고 <<<로 남겨집니다.
(defadvice sh--maybe-here-document (around be-smart-about-it activate)
"Do normal here doc auto insert, but if you type another chevron, revert and leave just <<<."
(if (and (= (current-column) 1)
(looking-back "^<")
(looking-at "\nEOF")
(save-excursion
(forward-line -1)
(end-of-line 1)
(looking-back "<<EOF")))
(progn (delete-region (search-backward "EOF") (search-forward "EOF" nil t 2))
(insert "<"))
ad-do-it))
물론 이것은 실제로 쉐브론으로 here doc을 시작하려면 그것을 직접 삽입해야한다는 것을 의미합니다 C-q<. 그래서 그것은 당신이 무엇을 더 많이 하느냐에 달려 있습니다. 여기서 문서보다 문자열을 더 많이한다면, 가지고있는 것이 좋을 수도 있습니다. 불편하다
<<<
하는 것C-3 <
입니다.