맞춤법 검사 선택 창에서 직접 교정 내용을 입력 할 수있게하려면 어떻게해야합니까?


14

맞춤법 검사를 수행 할 때 keying z=은 다음과 같이 선택 목록을 표시합니다.

올바른 선택

당신이 올바른 철자를 볼 수 있듯이; "ie"는 옵션으로 표시되지 않습니다. 대신 "ie"를 입력하고 Enter 키를 눌러 교체 할 수 있도록이 메뉴를 향상시키고 싶습니다.

동일한 단계의 일부로 제시된 옵션 중 하나의 이름을 입력하기 시작하고 탭과 경쟁 할 수 있다면 그것은 좋을 것입니다. 내 마음은 숫자를 입력하는 대신 단어를 입력하여 단어를 대체하는 데 더 좋습니다.

플러그인 으로이 작업을 수행해야한다고 생각하지만 구성 옵션만이 확실하지는 않습니다.

답변:


5

spell_suggest()기능을 보는 spell.c것은 불가능합니다 z=. 가능한 모든 제안을 받고 표시 한 후에는 다음을 수행합니다.

/* Ask for choice. */
selected = prompt_for_number(&mouse_used);

prompt_for_number()에 살고 misc1.c, 예상 한대로 정확하게 수행합니다. 숫자를 입력하라는 메시지가 표시됩니다 ( get_number()동일한 파일 참조 ). 매핑 또는 다른 입력은 허용되지 않습니다.


두 번째 옵션은 삽입 모드에서 Ctrl x+ s또는 Ctrl x+ Ctrl s1 을 통해 Vim의 철자 "완료"를 사용하는 것입니다. 이것은 대략 원하는 것입니다. Ctrl nCtrl p또는 화살표 키로 완료를 선택 하거나 고유 한 개선을 입력 할 수 있습니다.

supertab 플러그인을 사용하여 Tab키로 이를 수행 할 수 있습니다 . :help ins-completion또한 CleverTab()이것에 적응할 수 있는 기능이 있습니다.

자세한 내용은 다음을 참조하십시오. :help ins-completion, :help i_CTRL-X_s


마지막으로, Vim은 spellsuggest()맞춤법 제안 목록을 반환하는 함수를 가지고 있습니다.

:echo spellsuggest('hellz')
['hells', 'hello', 'hell', 'help', 'halls', 'heals', 'heels', 'hills', 'hulls', 'hell''s',
 'hellos', 'hell’s', 'held', 'helm', 'tell', 'well', 'bells', 'cells', 'dells', 'fells',
 'helot', 'helve', 'hertz', 'hilly', 'holly']

이 기능을 사용하여 자신 만의 철자 제안 화면을 구성 할 수 있습니다.


각주

1 : Ctrl s문서에서 언급했듯이 사용 이 작동하지 않을 수 있습니다.

참고 : CTRL-S는 많은 Unix 터미널에서 표시를 중단합니다. 대신 's'를 사용하십시오. CTRL-Q를 입력하여 표시를 재개하십시오.

gVim을 사용하는 경우 사용 Ctrl s이 작동합니다. 또는로 터미널에서이 기능을 비활성화 할 수 stty -ixon있습니다.


3

@ quincy-bowers 답변을 확장 / 통합하려고합니다.

  1. 맞춤법 추천 화면에서 나만의 제안을 입력 할 수 없습니다.
  2. VIM에서는 맞춤법 추천 화면에서 자신의 제안을 입력하는 것이 이치에 맞지 않습니다.

VIM은 텍스트 편집기입니다. 그것이 최선의 방법이기 때문에 편집 자체에 남겨 둡니다. 다시 말해 맞춤법이 틀린 단어를 자신의 맞춤 제안으로 바꾸는 대답은을 눌러 enter제안 목록을 닫은 다음 단어를 올바른 철자로 수동으로 변경하면됩니다. ( ciw완벽하게 작동합니다).

그런 다음 (@ quincy-bowers가 제안한 것처럼) zg커서가 단어 위에 있고 맞춤법 사전에 추가 될 때 맞춤 제안 맞춤법이 후속 제안 목록 유형에 표시되도록하려면 ( :help zg자세한 내용 참조).

그러나, 그것은 (피부에 제한 방법 그들이 말하는 고양이) 대안을 찾지 VIM을 사용하는 영리한 사람들을 중지하지 않은 당신은 예를 들어 다른 플러그인을 시도 할 수 있도록 모든 것을 말 이후 단결 - 마법 - 제안한다 .


현재 작업 과정을 설명하는 것이 답보다 더 많은 설명입니다. 잘 설명하지만.
Lyndon White


예, 그것은 내가 찾고있는 것과 훨씬 비슷합니다.
Lyndon White

2

플러그인을 추가하지 않아도 스펠 파일에 알려진 단어를 추가 할 수 있습니다. z=철자 제안을 불러오는 대신 철자 파일에 추가 할 텍스트를 시각적으로 선택하고을 누르십시오 zg.

또한 맞춤법 제안 창 내에서 마우스를 NORMAL 모드로 활성화 한 경우 마우스를 사용하여 원하는 것을 선택할 수 있습니다. 내가 한 set mouse=a내가 빔 또는 GVIM에서 오전 여부를 모든 모드에서 마우스를 할 수 있습니다 예를 들어 내 .vimrc 파일, 설정.

플러그인이나 Vim 자체를 변경하지 않고 원하는 다른 것을 수행 할 수 있다고 생각하지 않습니다.


1
이것들은 모두 유용한 팁이지만 질문에 어떻게 대답하는지 모르겠습니다.
Martin Tournoij

@ Carpetsmoker 나는 당신의 대답에 대해 똑같이 말할 수 있습니다. 나는 불가능하다고 말했고 가능한 해결 방법으로 워크 플로우 변경을 제안했습니다. 당신이 한 것처럼.
퀸시 바우어

1
이 대답은 실제로 문제에 대한 해결책 제공 @MartinTournoij : 요구하는 새로운 단어를 포함을 > zg 등의 포함을 실행합니다 .
nilon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.