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 ...
随机推荐
- 基于linux2.6.38.8内核启动过程完全解析[一]
转载: ************************************************************************************************ ...
- JQuery实现回车代替Tab键(按回车跳到下一栏)
一个提交按钮以后,用户如果按了键盘的回车键,默认情况下,就会提交这个表单了.这样对于用户输入各个表单项目,用户体验很不好,输入完一个项目,或者用鼠标选择下一个项目,或者用键盘的Tab键选中下一个项目. ...
- C# 读取与修改配置文件
System.Configuration.ConfigurationSettings.AppSettings["Key"]; 但是现在FrameWork2.0已经明确表示此属性已经 ...
- 利用VBA+OO4O构造CTAIS开放式通用平台
利用VBA+OO4O构造CTAIS开放式通用平台 2010-06-08 14:59:28 | 来源:税务信息化论文集 | 作者:于非 易飞 摘 要:文立足于CTAIS系统体系,探讨如何通过OO4O技 ...
- 1.4.2 solr字段类型--(1.4.2.6)使用外部文件和程序
1.4.2 solr字段类型 (1.4.2.1) 字段类型定义和字段类型属性. (1.4.2.2) solr附带的字段类型 (1.4.2.3) 使用货币和汇率 (1.4.2.4) 使用Dates(日期 ...
- Android中GridLayout与GridView区别
GridLayout初步研究:可以这么说这个布局绝对是开发者的福音,它大大简化了对复杂布局的处理,包括性能提高不是一倍两倍.它与GridView是完全不同的概念, GridView是一种适配器布局,它 ...
- 100天成就卓越领导力:新晋领导者的First100训练法
<100天成就卓越领导力:新晋领导者的First100训练法> 基本信息 原书名:Your Frist 100 days: How to Make Maximum Impact in Yo ...
- ASP.NET MVC ViewData/ViewBag 简单小结
近期在项目中遇到一个问题,就是用ViewBag.Model存储匿名对象传递给View,但是需要根据条件给匿名对象添加属性,这个可真心不易,Google了一下发现很多方案都是动态编译神马的,感觉好高大上 ...
- java 远程调试
在java 命令上加入 -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y suspend=y 配置的端口时候要保证没有被占用
- Angularjs 使用filter格式化输出href
工作中,由于是多级菜单,如果上级菜单为空,就会访问Angularjs 默认的state,然后再展开菜单,我找资料之后,才知道是通过filter来格式化输出数据的,格式是{{ expression | ...