Vim的snipMate插件
介绍
终于发现了一个插件,对于Vim下代码块的自动补全支持的很好。给大家推荐snipMate。
snipMate可以帮助您在vim上实现类似Textmate的功能,自动代码块的能力非常强大,而且代码块是可定制的。我们只需编辑~/.vim/snippets/目录下的*.snippets文件就可以根据自己的要求自动产生代码。
使用
下载snipMate,解压到你的Vim目录。
完成之后,新建一个测试文件snipMateTest.php准备测试
vim snipMateTest.php
然后按照下面的方式开始测试snipMate:
输入for,再按tab键
输入foreach,再按tab键
输入class,再按tab键
输入fun,再按tab键
效果如图
http://www.ccvita.com/481.html
snipMate插件php自动补全配置文件:
- snippet php
- <?php
- ${1}
- snippet ec
- echo "${1:string}"${2};
- snippet inc
- include '${1:file}';${2}
- snippet inc1
- include_once '${1:file}';${2}
- snippet req
- require '${1:file}';${2}
- snippet req1
- require_once '${1:file}';${2}
- # $GLOBALS['...']
- snippet globals
- $GLOBALS['${1:variable}']${2: = }${3:something}${4:;}${5}
- snippet $_ COOKIE['...']
- $_COOKIE['${1:variable}']${2}
- snippet $_ ENV['...']
- $_ENV['${1:variable}']${2}
- snippet $_ FILES['...']
- $_FILES['${1:variable}']${2}
- snippet $_ Get['...']
- $_GET['${1:variable}']${2}
- snippet $_ POST['...']
- $_POST['${1:variable}']${2}
- snippet $_ REQUEST['...']
- $_REQUEST['${1:variable}']${2}
- snippet $_ SERVER['...']
- $_SERVER['${1:variable}']${2}
- snippet $_ SESSION['...']
- $_SESSION['${1:variable}']${2}
- # Start Docblock
- snippet /*
- /**
- * ${1}
- **/
- # Class - post doc
- snippet doc_cp
- /**
- * ${1:undocumented class}
- *
- * @package ${2:default}
- * @author ${3:`g:snips_author`}
- **/${4}
- # Class Variable - post doc
- snippet doc_vp
- /**
- * ${1:undocumented class variable}
- *
- * @var ${2:string}
- **/${3}
- # Class Variable
- snippet doc_v
- /**
- * ${3:undocumented class variable}
- *
- * @var ${4:string}
- **/
- ${1:var} $${2};${5}
- # Class
- snippet doc_c
- /**
- * ${3:undocumented class}
- *
- * @packaged ${4:default}
- * @author ${5:`g:snips_author`}
- **/
- ${1:}class ${2:}
- {${6}
- } // END $1class $2
- # Constant Definition - post doc
- snippet doc_dp
- /**
- * ${1:undocumented constant}
- **/${2}
- # Constant Definition
- snippet doc_d
- /**
- * ${3:undocumented constant}
- **/
- define(${1}, ${2});${4}
- # Function - post doc
- snippet doc_fp
- /**
- * ${1:undocumented function}
- *
- * @return ${2:void}
- * @author ${3:`g:snips_author`}
- **/${4}
- # Function signature
- snippet doc_s
- /**
- * ${4:undocumented function}
- *
- * @return ${5:void}
- * @author ${6:`g:snips_author`}
- **/
- ${1}function ${2}(${3});${7}
- # Function
- snippet doc_f
- /**
- * ${4:undocumented function}
- *
- * @return ${5:void}
- * @author ${6:`g:snips_author`}
- **/
- ${1}function ${2}(${3})
- {${7}
- }
- # Header
- snippet doc_h
- /**
- * ${1}
- *
- * @author ${2:`g:snips_author`}
- * @version ${3:$Id$}
- * @copyright ${4:$2}, `strftime('%d %B, %Y')`
- * @package ${5:default}
- **/
- /**
- * Define DocBlock
- *//
- # Interface
- snippet doc_i
- /**
- * ${2:undocumented class}
- *
- * @package ${3:default}
- * @author ${4:`g:snips_author`}
- **/
- interface ${1:}
- {${5}
- } // END interface $1
- # class ...
- snippet class
- /**
- * ${1}
- **/
- class ${2:ClassName}
- {
- ${3}
- function ${4:__construct}(${5:argument})
- {
- ${6:// code...}
- }
- }
- # define(...)
- snippet def
- define('${1}'${2});${3}
- # defined(...)
- snippet def?
- ${1}defined('${2}')${3}
- snippet wh
- while (${1:/* condition */}) {
- ${2:// code...}
- }
- # do ... while
- snippet do
- do {
- ${2:// code... }
- } while (${1:/* condition */});
- snippet if
- if (${1:/* condition */}) {
- ${2:// code...}
- }
- snippet ife
- if (${1:/* condition */}) {
- ${2:// code...}
- } else {
- ${3:// code...}
- }
- ${4}
- snippet else
- else {
- ${1:// code...}
- }
- snippet elseif
- elseif (${1:/* condition */}) {
- ${2:// code...}
- }
- # Tertiary conditional
- snippet t
- $${1:retVal} = (${2:condition}) ? ${3:a} : ${4:b};${5}
- snippet switch
- switch ($${1:variable}) {
- case '${2:value}':
- ${3:// code...}
- break;
- ${5}
- default:
- ${4:// code...}
- break;
- }
- snippet case
- case '${1:value}':
- ${2:// code...}
- break;${3}
- snippet for
- for ($${2:i} = 0; $$2 < ${1:count}; $$2${3:++}) {
- ${4: // code...}
- }
- snippet foreach
- foreach ($${1:variable} as $${2:key}) {
- ${3:// code...}
- }
- snippet fun
- ${1:public }function ${2:FunctionName}(${3})
- {
- ${4:// code...}
- }
- # $... = array (...)
- snippet array
- $${1:arrayName} = array('${2}' => ${3});${4}
相关推荐
首先,自动补全是该配置的一大亮点。无需按下Tab键,用户就能在输入过程中看到可能的补全选项,这极大地提高了编码速度。对于Python,补全不仅包括标准库,还可能包含当前项目中的自定义模块和函数。对于HTML、CSS、...
在编程过程中,代码自动提示和自动补全是提高效率的重要工具,这正是 `autocomplpop` 插件的功能所在。这个插件是 Vim 用户为了实现类似于其他现代IDE的代码补全体验而开发的,它可以与 `L9`(Vim9脚本)一起工作,...
"在vim中针对c++自动补全" Vim是UNIX世界中最流行的文本编辑器之一,其中的一大特点就是...通过安装OmniCppComplete插件、创建标签文件、配置自动补全行为,可以在Vim中实现针对C++的自动补全功能,从而提高编程效率。
在这里,你可以定制补全的触发键,如“Ctrl+Space”,并选择自动补全的时机,如输入特定字符后自动触发。此外,Source Insight 支持自定义代码库,通过导入项目或头文件,可以增强补全的准确性。 Vim,作为一个历史...
使用过Source Insight的人一定对它的自动补全功能印象深刻,...这里,我将自己用的配置文件发给大家,大家可以移步(待会会补上地址),只要简单的两步,就能实现vim的程序自动补全功能,大大增加了在vim上的开发效率。
然而,相比其他现代化的编辑器,如Sublime Text,Vim在默认配置下缺少一些便捷功能,例如代码自动补全。不过,得益于Vim的可扩展性,我们可以安装插件来实现这些功能。"linux下vim的自动补全的插件"正是这样一个话题...
集成了常用的插件包 自动补全智能提示飞一般的写代码。 就像一个轻量级IDE,文件目录浏览和函数列表显示功能一应俱全。 无需在额外任何配置,解压既能用。 详细介绍和使用参见个人博客:...
标题"vim(gvim)插件——PHP语言自动补全"指的是在Vim或GVim环境中安装一个插件,这个插件专门用于为PHP编程提供代码补全功能。自动补全是一种非常实用的功能,它能在编写代码时根据上下文提示可能的函数、类、方法...
vim官方脚本snipmate绿色覆盖更新到0.83版本后停止更新了。 新版vim-snipmate0.87,官方下载更新地址如下 https://github.com/garbas/vim-snipmate 由于新手可能不会安装,现在制作了如vim官方的绿色版本直接覆盖目录...
这个插件为VIM(一个强大的文本编辑器)添加了自动补全功能,使得代码编写过程更加流畅和高效。 VIM(Vi Improved)是一个高度可定制和功能丰富的文本编辑器,它在程序员和系统管理员中非常受欢迎,因为它可以在...
就可以在vim中使用快捷键F12来随时生成当前目录下的tags,这样后续配好omni自动补全以后,自己工程下定义的类中的public成员,也可以通过. :: ->来自动补全了。全局定义的查找。局部的符号不会生成tags,这个要使用...
在"超强配置带自动补全功能的vim"主题下,我们将深入探讨如何通过配置Vim来实现高效的代码补全功能。 首先,Vim的自动补全功能可以极大地提高开发效率,因为它允许我们在编写代码时快速查找和插入可能的语句、函数...
"vim插件 java代码自动补齐"就是针对这一需求设计的,旨在为Vim提供Java语言的智能代码补全功能。 这个插件名为"javacomplete",它通过集成在Vim环境中,使用户在编写Java代码时能够享受到类似于IDE的自动完成体验...
其次,Vim的自动补全功能是提高编程效率的关键。`systemverilog.vim`可能包含了对SystemVerilog关键词和自定义函数的补全支持。在编写代码时,只需输入部分关键字,然后按特定快捷键(通常是`<C-x><C-o>`),Vim就会...
Java作为广泛应用的编程语言,其开发效率可以通过使用 Vim 的自动补全工具得到显著提升。本篇文章将详细探讨如何在 Vim 中配置和使用 Java 自动补全功能,以及相关提示。 首先,让我们了解 Vim 的自动补全功能。Vim...
本篇文章将深入探讨如何利用Vim插件实现代码补全、语法高亮和文件浏览等功能。 一、代码补全 代码补全是现代开发环境中必不可少的一项功能,它能够帮助程序员快速输入代码,减少出错概率。在Vim中,我们可以使用`...
Vim原生并不包含自动补全功能,但可以通过安装插件来实现。一种常见的选择是`YouCompleteMe`,它提供了强大的代码补全支持,包括C/C++、Python等语言。安装步骤通常包括克隆其GitHub仓库,然后在Vim中运行`:Plugin...
Go-gocode是一个专门为Go编程语言设计的代码自动补全工具,它作为一个守护进程运行,为开发者提供实时的代码补全建议,极大地提升了编码效率。在Go语言的开发环境中,gocode是一个非常重要的辅助工具,特别是在编写...
而对于OmniCppComplete,需要确保cppcomplete4.vim文件位于正确的位置,并在.vimrc中添加`let g:omnifunc = ' OmniCppComplete#Complete'`来启用C++的自动补全功能。 在Vim中使用代码补全插件,可以显著提升编程...
另外,确保你的Vim已经配置了C++的语法高亮和自动缩进,这样在补全过程中,代码的可读性将得到显著提升。 值得注意的是,虽然vim-c++插件已经很强大,但它并非唯一的选择。Vim社区中有许多其他的C++代码补全解决...