A. vim 用YCM 插件怎樣自動補全庫里的函數名和類名
ycm默認是要輸入.和->之後才會觸發自動補全的,可以在vimrc中指定
let g:ycm_key_invoke_completion = '<F9>'
這樣輸入的時候按一下F9就啟動補全列表,可以補全所有全局函數!
B. VIM可以設置自動補全括弧和變數名稱嗎
可以自動補全,必須能夠自動補全啊,程序員給自己寫的工具必須好用啊!
可以自己手動補全CTRL+N/P,n是向下找,p是向前找。
C. vim7.3編輯器自帶的代碼補全怎麼配置才能用
總的來說是要設置 omnifuc 這兩個參數到你指定的函數上。這樣按 c-x c-o 時就會調用相應的函數了。當然設置 completfuc 這個參數也行,這個是用 c-x c-u 來調用。
當然你打開一個文件之後,比如 .c 文件。然後可以看看 :set ofu? 是不是已經設好了。如果沒有,可以自動手動設置一下,看看補全函數的效果滿不滿意。
如果好用,當然每次都手動設置是不現實的了。一般要在 filetype plugin 里設置。設置在 vimrc 不合適,主要是因為這些補全一般不是通用的,不可能在所有的文件里都用一樣的。你要以到安裝目錄下的 fyplugin 里找找你想要文件類型的插件(如果沒有,也不可能有相關的補全函數,你就只能網上找一個或者自己寫一個了),然後打開,搜搜 omnifuc 或者 ofu,如果有,說明已經設置好了,應該可以直接用。如果沒有,你就自己再最底行加上:
if exists('&ofu')
setlocal ofu=<你要的函數>
endif
然後搜 undo_ftplugin。多半這個變數已經有了。假如原來是這樣的:
let b:undo_ftplugin = "setl xxx<"
就改成
let b:undo_ftplugin = "setl xxx< ofu<"
如果沒有加上這行:
let b:undo_ftplugin = "setl ofu<"
手打不易,請採納。
D. Vim 命令模式時按 Tab 補全怎麼設置才能像 Emacs 列出多個
已經找到答案了 摘自vim doc *'wildmode'* *'wim'* 'wildmode' 'wim' 字元串 (Vim 預設: "full")全局{Vi 無此功能} 用'widechar' 指定的字元所用的補全模式。它是逗號分隔的不超過四部分的列 表。每個部分指定每次連續使用的 'widechar' 要完成的動作。第一部分指定第 一次使用時的行為。第二部分指定第二次使用時的,等等。 每個部分的可能值如下: "" 只用第一個匹配補全。 "full" 用下一個完整的匹配補全。在最後一次匹配之後,使用原來的 字元串,然後又是第一個匹配。 "longest" 用最長的公共子串補全。如果結果沒有變長,使用下一個部分。 "longest:full" 類似於 "longest",但如果 'wildmenu' 打開的話,使用之。 "list" 如果有多於一個補全,列出所有的匹配。 "list:full" 如果有多於一個補全,列出所有的匹配並先用第一個補全。 "list:longest" 如果有多於一個補全,列出所有的匹配並先用最長的子串補全。
E. Vim 敲代碼時的自動補全問題
如果你不能補全所有文件,請看'complete'選項的設置
命令行輸入 :set complete?
然後對照下面的說明,看看到底是怎麼回事?
'complete''cpt'字元串(預設:".,w,b,u,t,i")
局部於緩沖區
{Vi無此功能}
本選項控制關鍵字補全|ins-completion|在使用CTRL-P或CTRL-N時如何工
作,也用於整行的補全|i_CTRL-X_CTRL-L|。它指示補全的類型和需要掃描的位
置。這是一個逗號分隔的標志位的列表:
.掃描當前緩沖區(忽略'wrapscan')
w掃描其它窗口的緩沖區
b掃描其它緩沖區列表裡載入的緩沖區
u掃描緩沖區列表裡卸載的緩沖區
U掃描不在緩沖區列表裡的緩沖區
k掃描'dictionary'選項給出的文件
kspell使用當前激活的拼寫檢查|spell|
k{dict}掃描文件{dict}。可以給出多個"k"標志位,也可以使用模式。比
如:>
:setcpt=k/usr/dict/*,k~/spanish
<s掃描'thesaurus'選項給出的文件
s{tsr}掃描文件{tsr}。可以給出多個"s"標志位,也可以使用模式。
i掃描當前文件和包含的頭文件
d掃描當前文件和包含的頭文件里的定義名或宏|i_CTRL-X_CTRL-D|
]標簽補全
t等同於"]"
卸載的緩沖區不會載入,因而它們的自動命令|:autocmd|也不會執行,這使得
有些文件的補全效果出人意表(比如gzipped壓縮的文件)。整行補全也不會掃
描卸載的緩沖區。
預設是".,w,b,u,t,i",它意味著掃描:
1.當前緩沖區
2.其它窗口的緩沖區
3.其它載入的緩沖區
4.卸載的緩沖區
5.標簽
6.頭文件
如你所知,CTRL-N和CTRL-P可用於完成任何基於'iskeyword'的擴展(比如
字典|i_CTRL-X_CTRL-K|、頭文件里的模式|i_CTRL-X_CTRL-I|、標簽
|i_CTRL-X_CTRL-]|和普通的擴展)。
F. 如何在vim中使用tab進行python代碼補全
我這里要介紹的功能叫"new-omni-completion(全能補全)", 你可以用下面的命令看看介紹:
:help new-omni-completion
你還需要在~/.vimrc文件中增加下面兩句:
filetype plugin indent on
打開文件類型檢測, 加了這句才可以用智能補全
set completeopt=longest,menu
關掉智能補全時的預覽窗口
請確定你的Ctags 已經安裝好, 並且生成的tags文件已經可以用了, 那麼我們就要抄傢伙開搞了.
用vim打開源文件
$ vim /home/wooin/vim71/src/main.c (linux下的,文件是一樣的。)
設置tags文件
:set tags=/home/wooin/vim71/tags
隨便找一個有成員變數的對象, 比如"parmp",
進入Insert模式, 將游標放在"->"後面,
然後按下"Ctrl+X Ctrl+O",, 顯示所有匹配的標簽,。
如果你增加了一些成員變數, 全能補全還不能馬上將新成員補全, 需要你重新生成一下tags文件, 但是你不用重啟vim, 只是重新生成一下tags文件就行了,
這時全能補全已經可以自動補全了。
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
補全宏定義
Ctrl+X Ctrl+V
補全vim命令 Ctrl+X Ctrl+U
用戶自定義補全方式
Ctrl+X Ctrl+S
拼寫建議
是不是還是覺得沒有tab方便?好的,人家開發了一個叫做supertab.vim這個插件。安裝後,
在你的~/.vimrc文件中加上這兩句:
let g:SuperTabRetainCompletionType=2
let g:SuperTabDefaultCompletionType="<C-X><C-O>"
以後當你准備按"Ctrl+X
Ctrl+O"的時候直接按<Tab>就好了,這下你滿足了吧。
我稍微再介紹一下上面那兩句配置信息:
let g:SuperTabDefaultCompletionType="<C-X><C-O>"
" 設置按下<Tab>後默認的補全方式, 默認是<C-P>, 「
現在改為<C-X><C-O>. 關於<C-P>的補全方式,
" 還有其他的補全方式,
你可以看看下面的一些幫助:
" :help ins-completion
" :help compl-omni
let g:SuperTabRetainCompletionType=2
" 0 -
不記錄上次的補全方式
" 1 - 記住上次的補全方式,直到用其他的補全命令改變它
" 2 - 記住上次的補全方式,直到按ESC退出插入模式為止
G. linux下編寫C語言用vim能做到代碼補全嗎
vim本身沒有自動補全,需安裝插件,可以網上搜一下vim 自動補全插件,以前常用的是supertab。現在種類也多了,有沒有makefile的自動補全就不知道了。插件安裝也簡單,大部分都是只要將插件拷貝的家目錄下的.vim目錄下就可以了,如果沒有.vim目錄就自己建一個。
H. vim怎麼設置括弧,引號等自動補全
假設你的需求是這樣的:輸入左括弧或引號(包括({['"),結果是成對出現的,並且游標自動移動到中間。
根據這個需求就可以寫個配置了:
inoremap(()<ESC>i
inoremap{{}<ESC>i
inoremap[[]<ESC>i
inoremap'''<ESC>i
inoremap"""<ESC>i
把這個配置放到~/.vimrc即可,重啟vim即可。
有問題歡迎追問評論!!!
I. vim windows版本 如何安裝自動補全功能
vim本身就支持常見的語言自動補全, 一般是ctrl+space, 和輸入法切換沖突, 所以你需要修改快捷鍵。
寫html裝個emmet插件,也挺方便!
J. vim 如何設置 python 標准庫的高亮和補全
可以代碼添加到vim語法高亮:
將下面代碼添加符合到的後面就可以了:
syn keyword pythonStatement False, None, True
syn keyword pythonStatement as assert break continue del exec global syn
keyword pythonStatement lambda nonlocal pass print return with yield syn keyword
pythonStatement class def nextgroup=pythonFunction skipwhite
syn keyword pythonConditional elif else if
syn keyword pythonRepeat for while
syn keyword pythonOperator and in is not or
syn keyword pythonException except finally raise try
syn keyword pythonInclude from import
可以代碼添加到vim中vim語法補全:
1、修改_vimrc
2、在_vimrc文件中加入如下這幾行:
let g:pydiction_location='C:/program
files/vim/vimfiles/ftplugin/pydiction/complete-dict'
filetype plugin on
set autoindent
syntax enable
set softtabstop=4
set shiftwidth=4
set number
使用:
如果是開新的python檔案,尚未儲存為 .py,VIM不知道目前編輯的是python,所以要在vim的命令列裡面下這個指令 set
FileType=python ,之後,按tab就會列出method和attribute了