emacs에서 철자 검사를 수행하기위한 옵션은 무엇입니까


19

현재 이맥스에서 프로그래밍이 아닌 많은 작업을하고 있기 때문에 철자 검사는 다시 한 번 주요 관심사 중 하나가되었습니다.

Emacs의 맞춤법 검사 옵션과 관련하여 아직 의문의 여지가 없다는 것을 알았습니다.

Emacs에서 맞춤법 검사를 수행하는 옵션은 무엇입니까?

구체적으로 특별히,

  • 일반적인 맞춤법 검사, 즉 오타에 대한 현명한 제안, 단어의 맞춤법 교정
  • 선택적 맞춤법 검사 용, 예. 범용 맞춤법 검사- 주석
  • 내가 잊었거나 알지 못했지만 생각할 수있는 모든 것에 대해 (맞춤법 검사 관련, ...)

편집 : 별도의 질문에서 "기타"항목을 포크 , emacs에서 더 나은 텍스트를 작성하기위한 옵션은 무엇입니까?


1
이 페이지를 추천합니다 : Emacs의 맞춤법
Luke

1
이 질문은 너무 광범위하다 . 두 번째 글 머리 기호 (맞춤법 검사 선택)로 제한하고 문법에 대해 별도로 문의하는 것이 좋습니다.
Gilles 'SO- 악마 그만해

처음 두 항목 만 맞춤법 검사에 관한 것입니다. 문법과 언어는 철자 검사가 아니며, 마지막 세 항목은 완전히 다른 질문을합니다.
Malabarba

1
원래 질문이 너무 광범위하거나 크게 다른 두 질문으로 구성되어 있음에 동의하지 않지만 두 번째 부분은 포크했습니다. 이 질문은 지금 에만 맞춤법 검사, 문법 검사 및 더 나은 텍스트를 작성하는 방법에 대한 다른 하나에 대해.
elemakil

답변:


10
  • 범용 맞춤법 검사에는 널리 사용되는 몇 가지 대안이 있습니다.
    1. ispell친구 : emacs에 내장되어 있으며 일반적으로로 호출됩니다 ispell-buffer. 요청시에만 맞춤법을 검사합니다.
    2. flyspell-mode: 내장되어 있으며 즉시 맞춤법 검사 기능을 제공하며 실수를 강조합니다.
    3. speck-mode: MELPA에서 사용 가능하며 입력 후 일시 중지하면 단어의 철자를 검사합니다. 또한 동일한 버퍼에서 여러 사전을 사용할 수있는 것과 같은 플라이 스펠 모드와 구별되는 몇 가지 특징이 있습니다. (면책 조항 : 나는이 모드를 오랫동안 오랫동안 사용했습니다)

모든 상기와 같은 전용 맞춤법 검사 프로그램이 필요합니다 aspell또는 hunspell적절한 사전 및. 이 모드는 명령 행 프로그램에 편리한 emacs 인터페이스 만 제공합니다.

  • 선택적인 맞춤법 검사를 위해 검사 해야 할 단어를 선택하는 기능을 연결 flyspell-mode하여 변수 flyspell-generic-check-word-predicate로 사용자 정의 할 수 있습니다 . 나열된 예제는 쉽습니다 flyspell-prog-mode. 코드 버퍼에서 주석 만 확인 하는 것을 사용하십시오 .

1
먼저 답변을 주셔서 감사합니다. Gilles와 Malabarba의 의견에 따라 질문을 두 부분으로 나눕니다. 따라서 weasel-word새 질문에 대한 답변으로 답변의 두 번째 부분 (에 대한 내용 ) 을 게시하는 것이 좋습니다 . 내 원래 질문에서 링크를 찾을 수 있습니다.
elemakil

wcheck목록에 추가 하십시오. flyspell요즘 너무 좋아 져서 wcheck더 이상 사용하지 않기 때문에 매우 좋습니다 .
rasmus

OSX의 경우 Aquamacs라고하는 고도로 사용자 정의 된 Emacs 버전은 기본 OSX 맞춤법 검사기 (사용자가 추가 한 OSX 사용자 사전 단어 포함)를 기본적으로 지원합니다. 다른 Emacs 버전에서는 제공 할 수없는 전문 품목입니다.
법률 목록

6

@Vamsi의 답변은 이미 범용 및 맞춤법 검사를 다룹니다. 그러나 개인화 된 자동 수정은 어떻습니까? @Malabarba는 자신의 블로그 에이 주제에 관한 멋진 게시물을 가지고 있습니다. 기본 아이디어는 철자가 틀린 단어와 적절한 수정 사항을 Abbrevs저장하는 것 입니다. 이 작업을 쉽게 수행 할 수있는 코드는 약간 수정 된 버전입니다.

(defun ispell-word-then-abbrev (p)
  "Call `ispell-word'. Then create an abbrev for the correction made.
With prefix P, create local abbrev. Otherwise it will be global."
  (interactive "P")
  (let ((before (downcase (or (thing-at-point 'word) "")))
        after)
    (call-interactively 'ispell-word)
    (setq after (downcase (or (thing-at-point 'word) "")))
    (unless (string= after before)
      (define-abbrev
        (if p local-abbrev-table global-abbrev-table) before after))
      (message "\"%s\" now expands to \"%s\" %sally."
               before after (if p "loc" "glob"))))

(define-key ctl-x-map (kbd "C-i") 'ispell-word-then-abbrev)
(setq save-abbrevs t)
(setq-default abbrev-mode t)

이것으로, 당신은 간단하게 할 수 있습니다

  1. C-x C-i철자가 틀린 단어를 쳤다
  2. 수정을 선택하고
  3. 다시는 걱정 하지마

지금부터 Emacs는 철자가 틀린 버전의 단어를 수정으로 자동 대체하기 때문입니다. 이것이 얼마나 유용한 지 말로 표현하기는 어렵습니다!


Emacs의 새로운 자동 수정 기능을 과급하려면 여기 에 정의 된 abbrevs 를 abbrev_defs파일에 추가하면 됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.