`
jandroid
  • 浏览: 1933709 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

最近探索VIM编辑器

 
阅读更多

代码自动补全或是代码提示,是编程中常用的功能,能帮助我们提高编码的效率

Vim 作为一个文本强大的文本编辑器,通过一些设置后,就可以实现代码补全的功能。

使用内建代码提示

快捷键

首先Vim是内建代码补全功能的,在不需要通过任何设置的情况下就能使用。

在您编辑代码的时候,键入 ctrl+x, ctrl+o, ctrl+n, ctrl+p 等快捷键,就会弹出智能提示的菜单,具体使用方法请看Vim中的插入模式补全

例如,php中我在 -> 操作符之后键入 ctrl+N

92bd7e3ca7ef798da473471e162c1f96.jpg

改进一下

这样虽然是补全了,但是不是那种输入时即时匹配的一定要输入 ->t 然后键入 ctrl+N 这样出现的提示才是 t开头的。

现在我们要实现已经出现提示菜单后输入字母实现即时的过滤和匹配,其实很简单,在你的 .vimrc 中加入下面这句代码

set completeopt=longest,menu

关于这句代码的意义,可以查看Vim的completeopt选项

现在用起来舒适多了

1515de989d501f10983a13159fc5494c.jpg

全能补全 (omni)

关于 omni 可以查看这里的介绍

我们常用的全能补全是 CTRL-X CTRL-O , 但每次按这样两个组合键也比较麻烦,我们可以映射一个快捷键。

"==== omni
imap <C-L> <C-x><C-o>

这样按 CTRL-L 就行了。当然还有 SuperTab 插件来帮助我们用 Tab 键来实现所有的补全功能。

0fb0d26ff7a1c34160dfd3de3074519f.jpeg
(在php文件中使用全能补全的效果)

使用 autocomplpop.vim 插件

介绍

用惯一些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正在索引,过后就会快了。

分享到:
评论

相关推荐

    学习vi和vim编辑器.pdf_vim实用_vi_vim_

    **vi和vim编辑器详解** **一、vi编辑器简介** vi(Visual Editor)是Linux/Unix系统下的一款强大的文本编辑器,它以其简洁高效的操作方式深受程序员和系统管理员的喜爱。vi的名字来源于“Visual”首字母,但在无...

    vim编辑器 配置自定义

    ### Vim编辑器自定义配置详解 在IT领域,尤其是对于程序员和系统管理员而言,Vim编辑器是一款不可或缺的工具。其高效、灵活的特性使其成为众多专业人士的首选文本编辑器。然而,Vim的强大功能也意味着它有较高的...

    vim编辑器和帮助文档

    作为一个专业的IT人士,了解并熟练掌握vim编辑器是必不可少的技能之一。 1. **启动与退出Vim** - 启动vim:在命令行输入`vim 文件名`即可打开或创建一个文件。 - 退出vim:使用`:q`退出编辑器,如果文件有未保存...

    VIM编辑器中文教程

    ### VIM编辑器中文教程知识点解析 #### 一、VIM编辑器简介 VIM(Vi IMproved)是一款基于原始vi编辑器改进后的文本编辑工具,它具备丰富的功能与高度可定制性,广泛应用于各种操作系统中,特别是在Linux及类Unix...

    改造为超级vim编辑器

    ### 改造为超级vim编辑器 在本篇文章中,我们将详细介绍如何逐步将vim编辑器改造成为适合C/C++开发的集成开发环境(IDE)。通过以下步骤,您将能够更好地利用vim的强大功能来提高编程效率。 #### 1. 安装Vim和Vim...

    编程 vim 编辑器

    Vim编辑器以其高度可配置性、丰富的命令集和高效的操作方式著称。 在Vim中,你可以通过键盘快捷键进行几乎所有的操作,这使得程序员能够快速地在代码之间移动和编辑,从而提高生产力。Vim有多种工作模式:正常模式...

    vim文本编辑器手册

    ### vim文本编辑器手册 #### 引言 `vim`(Vi IMproved)是一款功能强大的文本编辑器,基于原始 `vi` 编辑器进行了大量的改进与增强。它支持多种操作系统,并广泛应用于 Unix-like 系统及 Windows 系统中。本手册将...

    vim编辑器的插件配置(.vim目录)

    **vim编辑器的插件配置(.vim目录)** 在编程世界中,vim作为一个强大的文本编辑器,因其高效、可定制性而备受程序员喜爱。它的强大之处在于可以通过自定义配置和安装插件来满足不同用户的需求。`.vim`目录是vim编辑...

    vim编辑器使用手册分享.pdf

    《vim编辑器使用手册分享》 vim编辑器是Linux系统中不可或缺的文本编辑工具,它是vi编辑器的增强版本,支持更多高级...通过不断练习和探索,可以提升使用vim编辑器的技能,从而在编程和文本处理工作中更加得心应手。

    vim编辑器的三种模式

    ### vim编辑器的三种模式 在Linux系统管理中,vim编辑器因其强大的文本编辑功能而备受推崇。本文将深入探讨vim编辑器的三种基本模式:命令模式、插入模式(也称为编辑模式)以及末行模式,并详细介绍每种模式的功能...

    VIM编辑器高级技巧

    ### VIM编辑器高级技巧详解 #### 一、概述 VIM是一款强大的文本编辑器,深受程序员和技术人员的喜爱。本文将介绍一些VIM编辑器的高级技巧,旨在帮助那些已经熟悉基本操作并希望进一步提高工作效率的用户。这些技巧...

    学习vi和vim编辑器第七版

    《学习vi和vim编辑器第七版》是一本详细介绍如何使用vi和vim编辑器的书籍,适合初学者和进阶用户。vi(Visual Editor)是一款在Unix和类Unix系统中广泛使用的命令行文本编辑器,而vim(Vi IMproved)则是vi的增强...

    Vim编辑器:模式切换和基本编辑命令

    ### Vim编辑器:模式切换和基本编辑命令 #### 一、引言 Vim是一款功能强大的文本编辑器,被广泛应用于各种操作系统上。对于程序员和技术人员来说,掌握Vim的基本操作能够极大地提升工作效率。本文主要介绍Vim编辑器...

    vi及vim编辑器使用进阶

    ### vi及vim编辑器使用进阶 #### 一、引言 vi编辑器作为所有Unix及Linux系统下的标准编辑工具,其重要性不言而喻。由美国加州大学伯克利分校的Bill Joy所创立的vi编辑器,至今仍然被广泛应用于各种场景中。本文将...

    Vim编辑器学习要点

    Vim编辑器是一款强大的文本编辑工具,尤其在Linux系统中被广泛使用。它不依赖图形界面,因此在服务器管理和系统管理中,其高效快捷的操作方式是图形界面编辑器无法比拟的。Vim编辑器的核心特性在于它的三种命令模式...

    vim编辑器

    ### Vim编辑器:掌握高效的文本编辑技能 #### 引言 Vim编辑器,作为Unix系统上的一款强大编辑工具,自其诞生以来便以其高效、灵活的特点吸引了无数程序员和技术人员的关注。不同于图形界面丰富的现代编辑器,Vim以...

    Vim编辑器的测试练习

    Vim编辑器是一款强大的文本编辑工具,被广泛用于Linux、Unix和macOS系统。它以其高效的操作方式和高度可定制性赢得了程序员和系统管理员的喜爱。本文将深入介绍Vim编辑器的基本概念,以及如何通过“vimtutor”进行...

    5.3.Vi与Vim编辑器.-.一般模式

    "5.3.Vi与Vim编辑器.-.一般模式"这个主题聚焦于这两个编辑器的基础操作,特别是它们的一般模式。在这个模式下,用户可以执行许多不直接涉及文本输入的操作。 一、Vi与Vim概述 Vi最初由Bill Joy在1976年为UNIX系统...

Global site tag (gtag.js) - Google Analytics