'iskeyword'
的文件沒有提到這一點。我認爲這是可能的,因爲'isfname'
允許包括一個空間(儘管不推薦)。是否允許在Vim的'iskeyword'選項中包含空格?
但是,在set [email protected],48-57,_,32
之後,空間仍然不被識別爲關鍵字字符。我想念什麼?
'iskeyword'
的文件沒有提到這一點。我認爲這是可能的,因爲'isfname'
允許包括一個空間(儘管不推薦)。是否允許在Vim的'iskeyword'選項中包含空格?
但是,在set [email protected],48-57,_,32
之後,空間仍然不被識別爲關鍵字字符。我想念什麼?
是的,這是可能的(但你只應該暫時做這個,例如詞庫查找,因爲這樣的設置是意想不到的,並且必然會破壞Vim中的許多插件和其他東西)。
我能夠通過
:set iskeyword+=32
導致[email protected],48-57,_,192-255,32
包括一個空間。我得到正確的hlsearch突出顯示和matchstr(..., '\k\+')
匹配。
注意,它仍然是相當難以得到詞庫完成(i_CTRL-X_CTRL-T
)得到多個單詞,因爲完成基礎現在還包括光標之前的所有(修改)的關鍵字,那現在可以多話,太!
我認爲選項'iskeyword'可以從敘詞表文件的'modeline'中設置。但改變當前緩衝區的'iskeyword'選項肯定是不合適的。另外,像'w' /'b'這樣的動作從不會將空間看作關鍵字。所以我只是放棄,很高興。 – Bohr
只有在加載同義詞庫文件以進行正常編輯時纔會考慮該模式行。如果您想將其用於同義詞庫完成,則需要通過不同的代碼路徑;它不會作爲Vim緩衝區加載,甚至不會隱藏在後臺。 –
我實際上已經實現了多詞詞典完成,但它充滿了黑客,我沒有考慮發佈它。相反,我很想看到這個功能在覈心Vim中實現(當前的開發情況不太可能)。 –
我不能說是否可能,但這樣做會破壞很多文本對象和動作的功能,聽起來很愚蠢。 – romainl
我同意romainl,你能告訴我們爲什麼你可能想這樣做嗎? –
我試圖爲同義詞庫文件設置「iskeyword」選項,該文件可能包含我希望它成爲關鍵字的短語。否則,我只會在其中包含文字。 – Bohr