필자는 TeX 관련 모드에서 점이 무엇이든 (특히 선 끝)에 평소처럼 삽입 할 물결표 키를 원하지만 점이 공간 상에 있으면 물결표를 덮어 쓰고 싶습니다. 그것. (이것은 텍 소스 파일에 뭔가를 붙여 넣은 후 아주 유용한 기능이 될 것입니다.) 나는이 같은 해킹 : 물결표를 사용하여 Emacs에서 공간을 덮어 쓰려면 어떻게합니까?
(defun electric-tie()
"Inserts a tilde at point unless the point is at a space
character, in which case it deletes the space first."
(interactive)
(while (equal (char-after) 32) (delete-char 1))
(while (equal (char-before) 32) (delete-char -1))
(insert "~"))
(add-hook 'TeX-mode-hook (lambda() (local-set-key "~" 'electric-tie)))
내 질문
은 간단하다 : 그것은 (작동하는 것 같다) 정확하고 더 나은 수행 할 수 있습니다 ? (나는 첫 번째 질문에 대한 대답이 긍정적 인 경우, 후자는 스타일의 문제라고 가정합니다.)
제대로 작동하면 좋습니다. 정말. Emacs 사용자의 신조입니다. 새로운 범용 패키지를 작성하지 않는 한. – pmr
고마워요.하지만 저는 그걸 작동시켜야 할뿐만 아니라 뭔가를 배우고 싶습니다. 어쩌면 더 좋은 방법이 있을까요? 어쩌면 저수준을 사용해야 할 때 높은 수준의'(interactive)'함수를 사용하고 있을지도 모릅니다. 아니면 그 반대일까요? 어쩌면 나는'equal'을 사용하고 있을지 모르지만 비슷한 맥락에서'eq'를 사용하는 것이 일반적입니다. 어쩌면'(insert "~") 대신'(self-insert)'해야합니까? – mbork
HAH! 그 신조는 왜 이맥스에 관한 많은 질문들이 여기에 총상을 입혔는지에 대한 이유입니다. @mbork는 정식 솔루션을 이해하려고 시도 할 때 추천해야합니다. –