`
Zhongwei_leg
  • 浏览: 557763 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

减少重复输入,在 VIM 中使用模板

    博客分类:
  • VIM
阅读更多

 

最近在重温 C 语言,免不了动手写一些简单的实例代码。比较烦人的是,每写一个小的实例代码都免不了要敲入下面这些代码:

 

#include <stdio.h>
int main(int argc, char *argv[]){
    printf("Hello world!");
    return 0;
}

 

无非是把 printf 那行换成其他的测试语句。

 

作为编辑器的神,VIM 必然支持 template 特性。于是我 google 了一下,相关的文章不少。

 

有的是要安装 template 插件,有的是采用 autocmd, 由于俺对 VIM 的了解不是很深入,所以一个也没看懂。。。

 

就在我迷茫的乱翻之时,偶然发现了 VIM 这样的一个功能:

 

即若要在 VIM 中插入当前日期,只需要在 Normal Mode 下输入

 

!!date
 

于是当前行就替换成了当前日期。

 

Wed Feb 2 12:23:05 CST 2011
 

VIM 的命令提示区域显示如下:

 

:.!date
 

实际上就是将命令的输入插入到 VIM 中。我突然想到如果采用 cat 命令,既不是就可以将我自定义的模板文件插入到当前文件中。

 

尝试了一下,果然可以,^_^

 

即:

1. 在 ~/Templates 目录下建立一个 cmain.c 的文件,输入上面的那段代码,并保存。

2. 新建一个测试程序,在 Normal Mode 下输入 !!cat ~/Templates/cmain.c。

 

大功告成。

 

 

1
2
分享到:
评论
2 楼 Zhongwei_leg 2011-02-27  
果然,:r就可以了,谢谢
1 楼 mirguest 2011-02-03  
其实你有个模板template.c后,可以直接
:r template.c
这样就从那个文件载入了。

相关推荐

    vim自动生成文件模板 templates 设置方法

    在IT行业中,文本编辑器是开发者们不可或缺的工具,Vim作为一款强大的命令行文本编辑器,因其高效和可定制性而备受喜爱。...在`一日二十四挨踢`网站上留言,你还可以得到更多关于Vim模板使用的帮助和建议。

    vim template_loader

    对于更高级的用法,你可能需要学习如何在模板中定义变量和占位符,以及如何在 `vim` 脚本中使用表达式来处理这些变量。此外,还可以结合其他 `vim` 插件,如 `NERDCommenter` 来实现更复杂的注释操作,进一步提升...

    vim snippets

    这不仅可以减少重复性工作,还可以减少输入错误,提高代码质量。常见的 Vim Snippets 实现有 UltiSnips、snipmate.vim 和 neosnippet 等插件。 ### 安装与配置 Vim Snippets 安装 Vim Snippets 插件通常通过 Vim ...

    VimIT:Vim互动模板

    通过提供交互式的模板系统,用户可以在编写代码时快速插入预先定义好的代码块,从而减少重复输入,提高编码效率。在了解VimIT之前,我们首先需要对Vim有一定的基础认识。 Vim(Vi Improved)是一款功能强大的文本...

    Hacking Vim

    NERDtree 是一个文件浏览器插件,提供了类似于图形界面文件管理器的体验,用户可以直接在 Vim 中浏览和打开文件。 **3.5 MiniBuffer** MiniBuffer 是一个用于多文件编辑的插件,它提供了一个类似于标签页的导航菜单...

    snipmate.vim-master.zip

    Snippets 是一段预先定义的代码模板,当你在编写代码时输入特定的触发词并按下触发键(通常是 Tab 键),Vim 将自动插入预设的代码段。这不仅减少了重复的键入工作,还能保证代码风格的一致性。例如,在编写 HTML ...

    vim-verilog-instance-master.zip_DOP_python+verilog_systemverilog

    【标题】"vim-verilog-instance-master.zip_DOP_python+verilog_systemverilog" 提供的是一套基于Python的工具,用于在Vim编辑器中自动创建Verilog和SystemVerilog模块实例化。这个项目旨在帮助硬件设计工程师更高效...

    vim-react-snippets:为vimReact代码片段

    这样,开发者无需手动输入`class`, `extends`, `React.Component`, `{}`等关键字,大大减少了重复工作。 插件支持ES2015(也称为ES6)语法,这是现代JavaScript开发的标准。这意味着你可以享受到箭头函数、模板字符...

    vim-meteor-snippets:Meteor 的一些 vim 片段

    在 Vim 中,"snippets" 是一种便捷的功能,允许用户通过输入简短的触发词,快速插入预先定义好的代码块,极大地提高了编程效率。"vim-meteor-snippets" 是专门为 Meteor 框架开发的 Vim 插件,它提供了许多预设的 ...

    KTH ACM模板

    ### KTH ACM模板详解 #### 一、概述 在标题“KTH ACM模板”与描述“KTH ...以上内容综合了KTH皇家理工学院在ACM-ICPC世界总决赛中使用的算法模板及其相关的编程、调试技巧,对于学习算法和参加算法竞赛都非常有帮助。

    vim-david-snippets:我的摘要集

    安装好后,将 vim-david-snippets-master 文件夹放置到 Vim 的 snippets 目录下,就可以在 Vim 中使用这些代码片段了。在编写代码时,只需输入片段的触发词,然后按 `&lt;Tab&gt;` 键,Vim 就会自动扩展出完整的代码结构。...

    snipmate-snippets-bib:Snipmate.vim对BibTeX文件的支持

    例如,当你在.bib文件中输入"art"(代表文章类型)并按下Tab键时,Snipmate.vim会自动插入一个完整的文章类型条目框架,包括作者、标题、期刊、年份等字段。同样,输入"book"、"inproceedings"等其他触发词,也会有...

    乳胶片段:Vim + LaTeX片段设置

    在IT行业中,文本编辑器是...总结来说,结合Vim、UltiSnips和预定义的LaTeX片段,我们可以高效地编写LaTeX文档,减少重复劳动,提高生产力。通过自定义snippet,还能进一步适应个人的工作习惯,使编码体验更加流畅。

    zen conding

    Zen Coding,也被称为Emmet,是前端开发领域中一个非常著名的效率工具,尤其在Vim编辑器用户中广受欢迎。这个插件通过提供快速输入和扩展缩写的能力,极大地提升了HTML和CSS编码的速度。以下是对Zen Coding核心知识...

    c-hotkeys.pdf

    根据提供的文件信息,可以推断出这是一份关于VIM插件c-support.vim的文档。该插件提供了针对Vim的快捷键映射功能...通过这些快捷键的使用,开发者能够提升编码效率,减少重复性的键盘操作,从而专注于代码逻辑的实现。

    LaTeX模板:个人LaTeX模板

    模板对于重复性的写作工作非常有用,比如作业、讲座笔记或课程论文,它能帮助保持一致性,减少重复输入,并且快速定制符合特定需求的文档格式。 首先,了解LaTeX的基本结构至关重要。一个基本的LaTeX文档通常由...

    通过预览、编译、自动完成、着色等功能提高 LaTeX 排版效率.rar

    同时,使用预先设定的模板可以减少重复劳动,例如`article`、`book`或`beamer`等基本模板,以及针对特定领域的专业模板。 6. **版本控制**:使用版本控制系统如Git,可以追踪文档的改动历史,方便协作和回滚到早期...

    vim-es2015-snippets:vim的ES2015代码片段

    这个插件极大地提高了开发效率,使得在Vim中编写ES6语法的代码变得更加便捷。 ### Vim与Snippets Vim是一个非常强大且高度可定制的文本编辑器,被许多程序员钟爱。它的灵活性和高效性在于其大量的插件系统。**...

    vim-hashicorp-tools:HashiVim插件的“独立且相当解释”的集合

    2. **Packer**:一款用于创建可重复使用的机器镜像的工具,支持多种虚拟化平台,如VirtualBox、VMware、Docker等。 3. **Terraform**:一个强大的基础设施即代码(Infrastructure as Code)工具,允许用户以声明式...

    我的VIMRC,更新

    ### VIMRC配置详解 #### 标题:我的VIMRC,更新 #### 描述:竟然不能更新文档的。只好重发竟然不能更新文档的。...通过以上这些配置,可以显著提高编程效率,减少重复劳动,使开发过程更加流畅高效。

Global site tag (gtag.js) - Google Analytics