From: tren.bbs@kulu.twbbs.org (我就是在下)
最近突發奇想, 不曉得有沒有提供英文單字tab 自動補全的編輯器, 這樣應該
很方便吧? ~~
From: rabit.bbs@bbs.sayya.org (愛看故事的小孩)
vim可以做到, 你可以作以下設定:
set complete +=k
set dictionary += ~/.vim/dict/words.txt
並將你想要補齊的單字列入words.txt, 每個單字以空白隔開.
此時按下CTRL_P或CTRL_N就可以補齊單字.
vim的complete功能預設是根據幾個檔案中的單字來作補齊的動作:
1.目前編輯的檔案
2.其他正在編輯的檔案
3.dictionary選項指定的檔案
如果你想要使用Tab鍵來補齊單字, 可以加入下列func:
function! CleverTab()
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\<Tab>"
else
return "\<C-N>"
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>
如此當你按下Tab鍵時, 若遊標前一個位置若是空白, 則送出的是真正的Tab,
若有字元則依據complete功能補齊單字.
ps:
1.vim的complete功能可以參考其說明檔, :help ins-completion
2.emacs也有相關功能, 這一期的凌客志(linux jounral國際中文版)有介紹.
From: 佚名
哇, 超棒的 ^_^
那有沒有辦法可以做到typo hightlight呢?
From: tren.bbs@bbs.sayya.org (我就是在下)
如果你的系統有sed+awk+aspell的話, 這裡有一個 tab auto-complete+typo
highlight的.vimrc:
http://tren.phys.ntu.edu.tw/~tren/.vimrc
這是我根據:
1) rabit.bbs@bbs.sayya.org (愛看故事的小孩)所提供的tab auto-complete
2) Claudio Fleiner的網頁介紹的typo highlight
http://www.fleiner.com/vim/spell.html
所修改綜合而成的. 因為C.F.的版本比較復雜, 且功能鍵為<F6>及類似的組合
, 不適合telnet+vim使用.
如果你需要比較復雜或是使用ispell的版本, 可以去2)查詢.
這個版本的按鍵就只有4個:
<tab> : 單字自動補全
<esc>1: 拼字錯誤標示
<esc>2: 正確拼法提示
<esc>3: 取消拼字錯誤標示
還不錯用啦, 如果你也愛偷懶的話 :]