2013-09-21 34 views
0

我有一批我想要拼寫檢查的文件。當我遍歷文件並打開每一個與此命令:如果沒有拼寫錯誤,Vim退出

vi -c 'set spell' -c 'normal ]s' $file 

如果文件沒有任何拼寫錯誤,然後我聽到蜂鳴聲,我按shift+z+z關閉該文件並移動到下一個。如果文件確實有拼寫錯誤,那麼我必須決定是否要更正拼寫錯誤或將該單詞添加到.spl文件。我不介意做這個任務的一部分,我寧願做這部分,而不是自動將每個拼寫錯誤的單詞添加到.spl文件等。

但我想更好地自動執行此操作,所以在沒有拼寫錯誤的情況下,文件自動關閉並移至下一個文件。這樣,如果在所有批處理文件中都沒有拼寫錯誤,則for循環可以在沒有任何用戶交互的情況下運行到完成。

所以爲了做到這一點,我需要一種方法來確定文件中是否有拼寫錯誤。我怎樣才能做到這一點? Vim顯然知道如何做到這一點,因爲當沒有任何拼寫錯誤時它會發出嗶嗶聲。甚至更好的是,我可以用什麼來代替我上面使用的單線程,當文件中沒有拼寫錯誤時,它會自動退出vim(否則允許用戶參加拼寫錯誤)然後手動關閉文件)?

SOLUTION:

@Ingo Karkat的SpellCheck插件完美工作了這項任務。如果沒有拼寫錯誤,則命令:XitOrSpellCheck退出vim,否則不退出並突出顯示第一個拼寫錯誤的單詞。所以這個插件和這一個命令完全解決了這個問題。

所以在安裝拼寫檢查插件後,修復上面的一行代碼是:

vi -c 'XitOrSpellCheck' 

回答

1

SpellCheck plugin有命令,像:BDeleteUnlessSpellError:WriteUnlessSpellError:WriteDeleteUnlessSpellError,你可以輕鬆地建立自己這樣的命令。

相關問題