本節所用命令的幫助入口:
上篇文章介紹了
vim的全能補全
(omni補全)
,本篇主要介紹
vim提供的其它補全方式。
除全能補全外,最常用的補全方式應該是
ctrl-n
和ctrl-p
補全了。它們會在當前緩衝區、其它緩衝區,以及當前檔案所包含的標頭檔案中查詢以游標前關鍵字開始的單詞。全能補全不能對區域性變數進行補全,而
ctrl-n
和ctrl-p
補全則可以很好的勝任。
下圖是採用
ctrl-p
補全的乙個例子,輸出字元
"pa"
,然後按
ctrl-p
,vim
會在下拉列表中列出所有的匹配功能供選擇,此時再按一下
ctrl-p
,就選中了第乙個專案,也就是我想輸入的
"parmp"
。我們第一次輸入
ctrl-p
的是進行補全,第二次輸入的
ctrl-p
是在下拉列表中向上選擇,二者的含義是不同的。
我們知道,
ctrl-p
一般的含義是向上,因此
ctrl-p
補全是向上查詢以進行補全,而
ctrl-n
是向下查詢以進行補全,在不同場合使用不同的快捷鍵可以加速補全的速度。
使用ctrl-n
和ctrl-p
補全時,由
'complete'
選項控制
vim從哪些地方查詢補全的內容。例如,對於比較大的軟體專案,檔案包含關係複雜,如果
ctrl-n
和ctrl-p
補全時查詢所包含的標頭檔案,耗時會比較久。此時,可以在
'complete'
選項中去掉
'i'標記,這樣
ctrl-n
和ctrl-p
補全就不在標頭檔案中查詢了,速度會快很多;當然,弊端就是你無法對頭檔案中出現的某些內容進行補全了。
'complete'
選項中其它標記的含義,請閱讀手冊頁。
vim中其它的補全方式包括:
例如,當我們按下
"ctrl-x ctrl-f"
時,vim
就會彈出下拉列表,顯示出當前目錄下的可選目錄和檔案,如下圖所示。這樣,在輸入檔名時方便多了。
靈活的運用這些補全方式,甚至自定義自己的補全方式,可以使你的工作更加高效。
可以在vimrc
中定義下面的鍵繫結,以減少按鍵次數:
supertab
外掛程式會記住你上次所使用的補全方式,下次再補全時,直接使用
tab,就可以重複這種型別的補全。比如,上次你使用
ctrl-x ctrl-f
進行了檔名補全,接下來,你就可以使用
目錄就可以了。
可以對下面兩個選項進行配置,以調整
supertab
的預設行為:
- g:supertabretaincompletiontype
的值預設為
1,意為記住你上次的補全方式,直到使用其它的補全命令改變它;如果把它設成
2,意味著記住上次的補全方式,直到按
esc退出插入模式為止;如果設為
0,意味著不記錄上次的補全方式。
- g:supertabdefaultcompletiontype
的值設定預設的補全方式,預設為
ctrl-p。
你可以在
vimrc
中設定這兩個變數,例如:
現在你可以使用
tab來進行補全了,就像在
shell
中那樣,方便了很多! [
參考文件]
1. vim
幫助檔案
尾記]
整行補全 ctrl-x ctrl-l
根據當前檔案裡關鍵字補全 ctrl-x ctrl-n
根據字典補全 ctrl-x ctrl-k
根據同義詞字典補全 ctrl-x ctrl-t
根據標頭檔案內關鍵字補全 ctrl-x ctrl-i
根據標籤補全 ctrl-x ctrl-]
補全檔名 ctrl-x ctrl-f
補全巨集定義 ctrl-x ctrl-d
補全vim命令 ctrl-x ctrl-v
使用者自定義補全方式 ctrl-x ctrl-u
拼寫建議 ctrl-x ctrl-s
:help compl-generic
:help 'complete'
:help ins-completion
筆記 使用VIM開發軟體專案
學習 easwy的vim專欄 記的筆記。1.在檔案中開啟外部檔案 gf 開啟當前游標處的檔案 ctrl w f 在水平分隔視窗開啟當前游標處的檔案 find 在 path 裡找到檔案並編輯 2.顯示source的檔案 scriptnames 3.tags tag 跳轉到指定的標籤 tags 顯示標籤...
使用VIM開發軟體專案3 vimrc初步
本節所用命令的幫助入口 help compatible help mapleader help map help autocmd 為什麼我的vim這麼難用?不能語法高亮,沒有折行,不能開啟多個視窗多個buffer,不能 為什麼別人用幾個鍵就可以完成乙個很複雜的功能,而我不能?為什麼別人的vim看起來...
已經開發軟體列表
1 通用會員軟體 2 汽車美容會員軟體 3 含進銷存汽車美容會員軟體 4 工業進銷存軟體 5 食品進銷存軟體 6 簡單茶葉會員軟體 7 美容美髮會員軟體 8 含進銷存美容美髮會員軟體 9 花卉會員軟體 10 撞球會員軟體 11 簡單珠寶會員軟體 12 簡單足浴會員軟體 13 美甲會員軟體 14 簡單...