현재 Vim은 "네이티브"메커니즘을 제공하지 않지만 좋은 생각이라고 생각합니다. 내가 생각할 수있는 유일한 방법은 있습니다 :autocmd
다음 파일에 특별 섹션을 검색하여이 섹션의 단어 및 트리거에 커서를 이동하는 함수를 호출 그 zG
와 :normal
명령을. 이것은 지저분 할 것이고 나는 그것을 귀찮게하는 것을 꺼려 할 것입니다.
편집 : 물론, 나는:spellgood!
그것이 당신의 질문에 있음에도 불구하고의 존재를 간과했습니다. 이것은 일을 훨씬 더 실현 가능하게 만듭니다. 나는 당신이 당신의 요구에 맞게 조정할 수있는 기본 구현을 생각해 냈습니다.
function! AutoSpellGoodWords()
let l:goodwords_start = search('\C-\*-SpellGoodWordsStart-\*-', 'wcn')
let l:goodwords_end = search('\C-\*-SpellGoodWordsEnd-\*-', 'wcn')
if l:goodwords_start == 0 || l:goodwords_end == 0
return
endif
let l:lines = getline(l:goodwords_start + 1, l:goodwords_end - 1)
let l:words = []
call map(l:lines, "extend(l:words, split(v:val, '\\W\\+'))")
for l:word in l:words
silent execute ':spellgood! ' . l:word
endfor
endfunction
autocmd BufReadPost * call AutoSpellGoodWords()
이렇게하면 다음과 같은 블록이 검색됩니다.
-*-SpellGoodWordsStart-*-
word1 word2 word3
word4 word5 ...
-*-SpellGoodWordsEnd-*-
그리고 각 단어는 그것이 발견 -이 경우, word1
, word2
, word3
, word4
, 및 word5
블록 --within는 임시 좋은 단어 목록에 추가됩니다.
스트레스 테스트를하지 않았다는 점에 유의하십시오.