vim的字典補全(自動完成)

來源:互聯網
上載者:User
vim可以根據使用者字義的字典來進行自動補全 1)字典:VIM使用的字典即為一系列的單詞,在一個文字檔中每行一個即可,如果寫在同一行中,VIM會根據isKeyWord中的分隔字元自動拆分,如果在補全時需要一些特殊的字元,例如輸入pr,希望補全後能出現printf.(,那麼不僅需要在字典中添加printf.(,還需要在isKeyWord中將符號.和符號(加入,方法為在vimrc檔案中加入set iskeyword+=.,(2)使用:字典編寫好後,在vimrc檔案中加入這樣一行代碼(將路徑換成字典檔案的路徑)set dictionary-=$VIM/dic.txt dictionary+=$VIM/dic.txt然後在輸入模式下,輸入單詞的一部分,再按下<Ctrl-X><Ctrl-K>,即可彈出自動補全選項,若有多個選項,可使用Ctrl-N及Ctrl-P上下選擇3)快速鍵:如果覺得<Ctrl-X><Ctrl-K>按鍵組合太麻煩,那麼也可以直接將字典補全添加到預設補全列表中,在vimrc中添加下面的代碼 set complete-=k complete+=k在輸入模式下,輸入單詞的一部分,再按下<Ctrl-N>即可開始自動補全 若習慣於使用Tab鍵補全,這裡有一個智能Tab補全的代碼,將其添加到vimrc中即可,它會根據上下文自動選擇補全模式: 
inoremap <tab> <c-r>=Smart_TabComplete()<CR>
function! Smart_TabComplete()  let line = getline('.')                         " current line  let substr = strpart(line, -1, col('.')+1)      " from the start of the current                                                  " line to one character right                                                  " of the cursor  let substr = matchstr(substr, "[^ \t]*$")       " word till cursor  if (strlen(substr)==0)                          " nothing to match on empty string    return "\<tab>"  endif  let has_period = match(substr, '\.') != -1      " position of period, if any  let has_slash = match(substr, '\/') != -1       " position of slash, if any  if (!has_period && !has_slash)    return "\<C-X>\<C-P>"                         " existing text matching  elseif ( has_slash )    return "\<C-X>\<C-F>"                         " file matching  else    return "\<C-X>\<C-O>"                         " plugin matching  endifendfunction

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.