恩,这两天在看《简明Python教程》,那里面作者建议写代码的时候前面的注释写上文件名,写上调用的解释器,比如这样:

  恩,然后我当然不可能每回新建一个文件,就要在开头写上一大串东西啊,vim这样的神器肯定有简单的办法啊,我通过修改我的vimrc文件,添加了如下代码:

 autocmd BufNewFile *.py exec ":call SetTitle()"
func SetTitle()
if &filetype == "python"
call setline(,"#!/usr/bin/env python")
call setline(,"# -* - coding: UTF-8 -* -")
call setline(,"#Filename:")
endif
endfunc

  这段代码很简单,就是在vim新建文件的时候检查文件类型(通过后缀名),然后如果文件类型是python文件的话,就调用SetTitle函数,然后这个函数就在新建文件的前三行添加上如下内容:

  

  (第二行的注释将当前代码的编码设置为UTF-8,这样这个python代码里面就能写中文了^ o ^)!

  恩,理论上,vim应该有一个变量存储了文件名,然后可以直接在setline语句(6行)中设置上文件名,可是我现在还没找到,如果哪位知道,还望不吝赐教!

  那么,现在我们新建了一个文件,可是在那条Filename注释后面文件名却是空的,那该怎么添加呢?原来我一直不知道怎么快捷添加,一直都是自己动手敲,然后始终感觉这不是vim的感觉啊!然后今天才弱弱地发现原来vim的自动补全还有文件名补全这个快捷键,然后真的是如获至宝啊!

  废话少扯,具体怎么来呢,就是这个

<C-x><C-f>

  上面那行的意思是先按Ctrl+x,然后再按Ctrl+f,这样就会弹出文件名的下拉列表(就是当前工作目录下的所有文件名),比如这样:

  我当前目录下有两个文件,hello.py和world.py,然后我在hello.py中进入插入模式,按下<C-x><C-f>之后就会出现这种情况:

  然后我再来通过这两个按键

<C-p>    //Ctrl+p,选择上一个
<C-n> //Ctrl+n,选择下一个

  这样就能快速写上文件名了!^ _ ^

VIM小技巧之文件名补全的更多相关文章

  1. 用Visual Studio编写UDF的一点小技巧(自动补全宏函数、变量)

    下载Visual Studio,安装VS 下载番茄助手(Visual Assist X),链接:www.wholetomato.com,然后安装番茄助手 打开VS

  2. vim基础学习之自动补全功能

    本章我们学习自动补全功能1.自动补全优先从当前的编辑区获得补全列表例如:我们写下如下内容 aaaaa aabbb aaab 当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa a ...

  3. Netbeans源代码编辑技巧——使用代码补全和代码生成

    原文 Netbeans源代码编辑技巧——使用代码补全和代码生成 使用代码补全生成代码 一般来说,代码补全对于自动填充缺失的代码是有帮助的,例如标识符和关键字.截至 NetBeans IDE 6.0,您 ...

  4. 基于linux vim环境python代码自动补全

    (一)简述 在使用vim编写python文件的过程中,默认的vim不会实现代码补全功能,在写程序或者是改程序的时候不是很方面,很容易出错,但是vim提供了各种插件,其中包括这个python文件的自动补 ...

  5. Mac OS X 中vim开启配色和git补全

    问题起源:mac 下自带的git 无法补全命令,配色方案不完善 Mac OS Yosemite 10.10.3 git version 2.3.2 (Apple Git-55) 处理结果:git命令可 ...

  6. vim中设置Python自动补全

    转自:http://blog.csdn.net/wangzhuo_0717/article/details/6942428 在VIM里面增加python的autocomplete功能的做法如下: 1. ...

  7. [转载]启用 VIM 中的 Python 自动补全及提示功能

    转载: http://zhongwei-leg.iteye.com/blog/941474 周围的同事不喜欢使用 VIM 写 Python 代码的原因之一就是,VIM 不能像 Visual Studi ...

  8. 9. VIM 系列 - YouCompleteMe 实现代码补全

    目录 环境准备 插件安装 环境准备 $ sudo apt install build-essential cmake python3-dev python-dev $ sudo apt install ...

  9. 在vim编辑器python实现tab补全功能

    在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全: 1. 简单python关键词补全 2. python函数补全带括号 3 ...

随机推荐

  1. linux centos各种问题解决汇总

    1. Linux终端启动图形化程序界面时报错: No protocol specified问题: 这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图 ...

  2. sqlserver 行转列 语文,数学,物理,化学

    数据库查询行转列 1.原数据库值 stdname stdsubject result 张三 语文 张三 数学 张三 物理 李四 语文 李四 数学 李四 物理 李四 化学 李四 化学 2.要得到如下表 ...

  3. linux 下 奇怪的 动态库 依赖问题

    转:http://fanwei51880.blog.163.com/blog/static/3240674020111145285375/ 总结如下:1)当你在编译生成静态库的时候, 只需要相应的依赖 ...

  4. onkeyup,onkeydown和onkeypress

    如下一段代码: <html> <script>  function checkForm(){   if(event.keyCode ==13){     event.keyCo ...

  5. python--Subprocess模块

    The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, ...

  6. 1.4.6 其他Schema元素

    这里描述了schema.xml中的其他几个重要的元素. 唯一主键-Unique Key uniqueKey元素一篇文档的唯一标记,它几乎总是保证您的应用程序设计,例如,如果你更新索引中的文档,需要用到 ...

  7. 基于阿里云ECS的phpwind网站备案前如何远程访问调试?

    基于阿里云ECS的phpwind网站部署非常方便,但云主机的外网IP绑定域名却比较复杂.先要申请域名,成功后还需要备案.尤其是企业网站备案,需要提交的资料较多,准备资料以及审批的时间较长.这段时间在外 ...

  8. jQuery中json对象的复制(数组及对象) .

    1.jQuery自带的$.map方式: $.map(json, function (n) { return n; }); 这种方式原来用于复制数组还可以,今天用它复制数组中的某一条记录,发现字段名称丢 ...

  9. 移动端1px细线的处理

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. java操作xml的一个小例子

    最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要 ...