VIM小技巧之文件名补全
恩,这两天在看《简明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小技巧之文件名补全的更多相关文章
- 用Visual Studio编写UDF的一点小技巧(自动补全宏函数、变量)
下载Visual Studio,安装VS 下载番茄助手(Visual Assist X),链接:www.wholetomato.com,然后安装番茄助手 打开VS
- vim基础学习之自动补全功能
本章我们学习自动补全功能1.自动补全优先从当前的编辑区获得补全列表例如:我们写下如下内容 aaaaa aabbb aaab 当我们再次输入aa,然后我们按下Tab的时候,会弹出一个包含 aaaaa a ...
- Netbeans源代码编辑技巧——使用代码补全和代码生成
原文 Netbeans源代码编辑技巧——使用代码补全和代码生成 使用代码补全生成代码 一般来说,代码补全对于自动填充缺失的代码是有帮助的,例如标识符和关键字.截至 NetBeans IDE 6.0,您 ...
- 基于linux vim环境python代码自动补全
(一)简述 在使用vim编写python文件的过程中,默认的vim不会实现代码补全功能,在写程序或者是改程序的时候不是很方面,很容易出错,但是vim提供了各种插件,其中包括这个python文件的自动补 ...
- Mac OS X 中vim开启配色和git补全
问题起源:mac 下自带的git 无法补全命令,配色方案不完善 Mac OS Yosemite 10.10.3 git version 2.3.2 (Apple Git-55) 处理结果:git命令可 ...
- vim中设置Python自动补全
转自:http://blog.csdn.net/wangzhuo_0717/article/details/6942428 在VIM里面增加python的autocomplete功能的做法如下: 1. ...
- [转载]启用 VIM 中的 Python 自动补全及提示功能
转载: http://zhongwei-leg.iteye.com/blog/941474 周围的同事不喜欢使用 VIM 写 Python 代码的原因之一就是,VIM 不能像 Visual Studi ...
- 9. VIM 系列 - YouCompleteMe 实现代码补全
目录 环境准备 插件安装 环境准备 $ sudo apt install build-essential cmake python3-dev python-dev $ sudo apt install ...
- 在vim编辑器python实现tab补全功能
在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全: 1. 简单python关键词补全 2. python函数补全带括号 3 ...
随机推荐
- linux centos各种问题解决汇总
1. Linux终端启动图形化程序界面时报错: No protocol specified问题: 这是因为Xserver默认情况下不允许别的用户的图形程序的图形显示在当前屏幕上. 如果需要别的用户的图 ...
- sqlserver 行转列 语文,数学,物理,化学
数据库查询行转列 1.原数据库值 stdname stdsubject result 张三 语文 张三 数学 张三 物理 李四 语文 李四 数学 李四 物理 李四 化学 李四 化学 2.要得到如下表 ...
- linux 下 奇怪的 动态库 依赖问题
转:http://fanwei51880.blog.163.com/blog/static/3240674020111145285375/ 总结如下:1)当你在编译生成静态库的时候, 只需要相应的依赖 ...
- onkeyup,onkeydown和onkeypress
如下一段代码: <html> <script> function checkForm(){ if(event.keyCode ==13){ event.keyCo ...
- python--Subprocess模块
The subprocess module allows you to spawn new processes, connect to their input/output/error pipes, ...
- 1.4.6 其他Schema元素
这里描述了schema.xml中的其他几个重要的元素. 唯一主键-Unique Key uniqueKey元素一篇文档的唯一标记,它几乎总是保证您的应用程序设计,例如,如果你更新索引中的文档,需要用到 ...
- 基于阿里云ECS的phpwind网站备案前如何远程访问调试?
基于阿里云ECS的phpwind网站部署非常方便,但云主机的外网IP绑定域名却比较复杂.先要申请域名,成功后还需要备案.尤其是企业网站备案,需要提交的资料较多,准备资料以及审批的时间较长.这段时间在外 ...
- jQuery中json对象的复制(数组及对象) .
1.jQuery自带的$.map方式: $.map(json, function (n) { return n; }); 这种方式原来用于复制数组还可以,今天用它复制数组中的某一条记录,发现字段名称丢 ...
- 移动端1px细线的处理
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- java操作xml的一个小例子
最近两天公司事比较多,这两天自己主要跟xml打交道,今天更一下用java操作xml的一个小例子. 原来自己操作xml一直用这个包:xstream-1.4.2.jar.然后用注解的方式,很方便,自己只要 ...