autocomplpop.vim : Automatically open the popup menu for completion
http://www.vim.org/scripts/script.php?script_id=1879
介绍
用惯一些IDE的朋友,一开始可能不习惯Vim的自动补全,主要是每次都要按下一个组合键才会出现提示,而不是像IDE里面那样只要输入了某个操作符就会触发自动补全。
autocomplpop.vim 这个插件就可以很好的解决这个问题。
基本使用
首先访问链接[1],下载 autocomplpop.vim 后,放到Vim文件目录下的plugin目录中,然后重启一下 vim 就会发现在编码时会自动的弹出提示了。
打开 autocomplpop.vim ,可以再 DOCUMENT 部分看到使用方式与一些设置。
增加智能提示触发命令
该插件的默认设置可以完成一些基本的提示,但是每种语言都不同,需要触发 全能 (omni) 补全 的操作符也不同,所幸 autocomplpop 可以让我们自己定制触发的命令模式,这样就可以实现无限扩展以达到自己的需求。
autocomplpop已经实现了部分语言的自动全能补全,比如 ruby文件中按 "." 或者 "::" 就会触发全能补全,看一下改插件中已经实现的一些语言
" Which completion method is used depends on the text before the cursor. The
" default behavior is as follows:
"
" 1. The keyword completion is attempted if the text before the cursor
" consists of two keyword character.
" 2. The filename completion is attempted if the text before the cursor
" consists of a filename character + a path separator + 0 or more
" filename characters.
" 3. The omni completion is attempted in Ruby file if the text before the
" cursor consists of "." or "::". (Ruby interface is required.)
" 4. The omni completion is attempted in Python file if the text before
" the cursor consists of ".". (Python interface is required.)
" 5. The omni completion is attempted in HTML/XHTML file if the text
" before the cursor consists of "<" or "</".
" 6. The omni completion is attempted in CSS file if the text before the
" cursor consists of ":", ";", "{", "@", "!", or in the start of line
" with blank characters and keyword characters.
光有这些我们可能还不能满足,下面我们试着自己来添加一些触发命令
加入PHP的全能提示触发命令
php 中 一般是会在 "$", "->", "::" 后需要出现自动补全,在 .vimrc 中加入以下代码:
if !exists('g:AutoComplPop_Behavior')
let g:AutoComplPop_Behavior = {}
let g:AutoComplPop_Behavior['php'] = []
call add(g:AutoComplPop_Behavior['php'], {
\ 'command' : "\<C-x>\<C-o>",
\ 'pattern' : printf('\(->\|::\|\$\)\k\{%d,}$', 0),
\ 'repeat' : 0,
\})
endif
这样就可以了。
注意,某些时候,可能会在第一次按下触发补全的操作符时停顿一会,这可能是因为可匹配的项目过多,Vim正在索引,过后就会快了。
在 Vim 中实现括号自动补全
流行的 IDE 的编辑器,诸如 Eclipse,都提供了括号自动补全的功能,相当的方便。可惜 Vim 默认情况下并没有提供这样的功能,那就只有自己来写了。
将下面的代码加入到 ~/.vimrc 中,重启 Vim,即可:
:inoremap ( ()<ESC>i
:inoremap ) <c-r>=ClosePair(')')<CR>
:inoremap { {}<ESC>i
:inoremap } <c-r>=ClosePair('}')<CR>
:inoremap [ []<ESC>i
:inoremap ] <c-r>=ClosePair(']')<CR>
:inoremap < <><ESC>i
:inoremap > <c-r>=ClosePair('>')<CR>
function ClosePair(char)
if getline('.')[col('.') - 1] == a:char
return "\<Right>"
else
return a:char
endif
endf
这样,写代码的时候不再担心会丢掉右边的括号了,尤其是函数嵌套的时候
分享到:
相关推荐
Vim原生并不包含自动补全功能,但可以通过安装插件来实现。一种常见的选择是`YouCompleteMe`,它提供了强大的代码补全支持,包括C/C++、Python等语言。安装步骤通常包括克隆其GitHub仓库,然后在Vim中运行`:Plugin...
这个插件为VIM(一个强大的文本编辑器)添加了自动补全功能,使得代码编写过程更加流畅和高效。 VIM(Vi Improved)是一个高度可定制和功能丰富的文本编辑器,它在程序员和系统管理员中非常受欢迎,因为它可以在...
vim自动补全所需要的php函数库.................................................................................................
然而,相比其他现代化的编辑器,如Sublime Text,Vim在默认配置下缺少一些便捷功能,例如代码自动补全。不过,得益于Vim的可扩展性,我们可以安装插件来实现这些功能。"linux下vim的自动补全的插件"正是这样一个话题...
在~/.vimrc中配制 autocmd FileType python set omnifunc=pythoncomplete#Complete autocmd FileType javascrīpt set omnifunc=javascrīptcomplete#CompleteJS ... autocmd FileType css set omnifunc=csscomplete#...
使用过Source Insight的人一定对它的自动补全功能印象深刻,...这里,我将自己用的配置文件发给大家,大家可以移步(待会会补上地址),只要简单的两步,就能实现vim的程序自动补全功能,大大增加了在vim上的开发效率。
"在vim中针对c++自动补全" Vim是UNIX世界中最流行的文本编辑器之一,其中的一大特点就是它提供了强大的自动补全功能,可以大大提高编程效率。那么,在Vim中如何针对C++实现自动补全呢? 首先,需要安装...
安装方法:1.下载后以vim打开本文件; 2.执行:so %,将本文件source 到vim中。
首先,自动补全是该配置的一大亮点。无需按下Tab键,用户就能在输入过程中看到可能的补全选项,这极大地提高了编码速度。对于Python,补全不仅包括标准库,还可能包含当前项目中的自定义模块和函数。对于HTML、CSS、...
其次,Vim的自动补全功能是提高编程效率的关键。`systemverilog.vim`可能包含了对SystemVerilog关键词和自定义函数的补全支持。在编写代码时,只需输入部分关键字,然后按特定快捷键(通常是`<C-x><C-o>`),Vim就会...
本文件是在ubuntu下配置vim,变成C/C++集成开发环境,实现代码自动补全,函数参数提示,代码跳转,文件列表和函数项显示等功能,在ubuntu12.04 和ubuntu14.04中测试通过,只需执行vim.sh脚本即可,注意脚本中的vim73...
在编程过程中,代码自动提示和自动补全是提高效率的重要工具,这正是 `autocomplpop` 插件的功能所在。这个插件是 Vim 用户为了实现类似于其他现代IDE的代码补全体验而开发的,它可以与 `L9`(Vim9脚本)一起工作,...
背景介绍从接触Linux到现在基本上所有的python脚本都是使用VIM编写的, 之前由于写的python代码行数比较少, 所以每个函数的方法都能记住, 但是现
在这里,你可以定制补全的触发键,如“Ctrl+Space”,并选择自动补全的时机,如输入特定字符后自动触发。此外,Source Insight 支持自定义代码库,通过导入项目或头文件,可以增强补全的准确性。 Vim,作为一个历史...
**vim自动补全插件YouCompleteMe(YCM)安装过程详解** Vim作为一个高度可拓展的文本编辑器,可以通过各种插件提升其功能。在编程过程中,代码补全功能能够极大地提高开发效率,YouCompleteMe(简称YCM)是Vim用户中...
在"超强配置带自动补全功能的vim"主题下,我们将深入探讨如何通过配置Vim来实现高效的代码补全功能。 首先,Vim的自动补全功能可以极大地提高开发效率,因为它允许我们在编写代码时快速查找和插入可能的语句、函数...
#### 一、引言:VIM自动补全现状 在探讨具体的解决方案之前,我们先来看看VIM自动补全技术的现状。VIM是一款极其强大的文本编辑器,它以其灵活性和高度可定制性而著称,尤其受到Linux用户和程序员的喜爱。然而,在...
Java作为广泛应用的编程语言,其开发效率可以通过使用 Vim 的自动补全工具得到显著提升。本篇文章将详细探讨如何在 Vim 中配置和使用 Java 自动补全功能,以及相关提示。 首先,让我们了解 Vim 的自动补全功能。Vim...
一、vim python自动补全插件:pydiction 可以实现下面python代码的自动补全: 1.简单python关键词补全 2.python 函数补全带括号 3.python 模块补全 4.python 模块内函数,变量补全 5.from module import sub-...