导航:首页 > 程序命令 > vim命令补全

vim命令补全

发布时间:2023-02-02 08:01:06

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了

阅读全文

与vim命令补全相关的资料

热点内容
我的世界如何查看服务器种子pc 浏览:282
linuxlamp编译安装 浏览:609
枚举算法ppt 浏览:184
cmd查看进程命令 浏览:956
手机内怎么删除APP 浏览:834
鱼群和鸟群算法区别 浏览:93
pdf尺寸设置 浏览:211
android访问本地服务器 浏览:512
程序员相亲被删除微信 浏览:790
centos命令窗口 浏览:596
编译器有几个好用的 浏览:500
数据库和网站如何搭载服务器 浏览:154
网络流理论算法与应用 浏览:795
java和matlab 浏览:388
钉钉苹果怎么下app软件 浏览:832
php网站验证码不显示 浏览:859
铝膜构造柱要设置加密区吗 浏览:344
考驾照怎么找服务器 浏览:885
阿里云服务器如何更换地区 浏览:972
手机app调音器怎么调古筝 浏览:503