vim怎么做完整的自动补全的解答如下
首先下载一个插件:ctags
输入:sudo apt-get install ctags
进入你需要的关键词所在目录。
举个例子,我需要wordpress的相关函数。则进入wordpress的目录。
输入:ctags -R
这样就可以扫描整个目录的文件中的关键字。
同时会输出个tags文件。
将tags文件移动到你便使用vim编辑文件的位置。如我需要为wordpress制作个主题,则将tags移动到新建的主题目录下。
现在在这个目录下使用vim就可以自动补全tags中的关键字了。
使用快捷键ctrl+n就可以自动补全了。
总的来说是要设置 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<"
手打不易,请采纳。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)