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 ...
随机推荐
- ajax重写,js方法重新
重写Jquery的$.ajax方法 (function($){ //备份jquery的ajax方法 var _ajax=$.ajax; //重写jquery的ajax方法 $.ajax=functio ...
- 关于Android中TextView显示多个空格
一.直接填写文字,输入多少,显示多少,如下: android:text="AAA AAA" ————————>显示:AAA AAA 二.通过设置str ...
- LeetCode29 Divide Two Integers
题目: Divide two integers without using multiplication, division and mod operator. If it is overflow, ...
- Sql 之 sql中的强制类型转换
1. convert(数据类型, 字段名) convert(datetime, startDate) 2. cast(字段名 as 数据类型) ,))
- FVDI Commander products be replaced SVDI tools,really?
You may have heard that some FVDI Commander products are being replaced by the new SVDI tools. This ...
- 『创意欣赏』30幅逼真的 3D 虚拟现实环境呈现
又到周末了,给大家分享30幅漂亮的 3D 虚拟现实环境呈现,放松一下.这些创造性的场景都是通过 3D 图形设计软件,结合三维现实环境渲染制作出来的.一起欣赏:) 您可能感兴趣的相关文章 20幅温馨浪漫 ...
- cocoapods 卸载,重装,高版本的使用
今天清理下电脑,发现自己电脑上的cocoapods经常出现的一个问题就是一些经常用的第三方库cocoapods搜不到,比如SDWebImage,然后就鼓捣了一下 $pos list 命令发现M 以后的 ...
- android studio还不错
今天体验了哈 Android Studio,还不错同Elipse类似
- Java学习笔记——switch语句的参数类型
在JDK1.6的版本中,switch后面的括号里面只能放int类型的值,注意是只能放int类型, 但是放byte,short,char类型的也可以. 是因为byte,short,shar可以自动提升( ...
- php实现签到功能
首先我在数据库里建了两张表,一个是用户的积分表,一个是签到状态表,分来用来记录用户的积分数和先到状态 在用户签到状态表中我们有一个字段,last_sign_time,即上一次签到时间,每次可以签到的时 ...