推荐vi的filename-modifiers功能

filename-modifiers顾名思义,就是获得文件名后再改一改。在Ex-mode(Ex-mode就是输入冒号+命令的模式)中,%表示当前正在编辑的文件的名字(filename)。你可以输入:!echo %观察当前编辑的文件的全路径名字。

我没必要在这里罗列filename-modifiers的细节,因为vi的文档已经说的很清楚了,你可以在vi中运行:help file-modifiers查看文档。

我想说明的是,在我写java程序的时候,vi的file-modifiers功能对我的帮助有多大。

一个最简单的例子是我用vi写了一个java的helloworld程序,源代码都在一个文件里,文件名为helloworld.java,要编译这段代码,我只要输入:!javac %,要运行javac编译出来的class,我在vi中输入命令:!java -cp . %:r。这里的%:r意识是root of the filename,也就是全路径的文件名去掉文件名后缀后剩下的部分。

还有一个更有意思的例子,我现在日常的工作就是改一个庞大的java程序中的几个模块,我有时候要到这个模块的路径下改改代码,编译一下,看看结果,有时候又要到那个模块的路径下改代码编译看结果。来回的切换路径很麻烦,特别在几个模块有关联的时候。现在有了vi的filename-modifiers功能就方便了。我同时打开各个模块的源代码文件。如果我想进入当前正在编辑的源代码文件所在的路径,我就输入:cd %:h

现在我的工作流程是这样的,在vi中切换到某个模块的源代码文件,编辑代码,:cd %:h(进入源代码文件所在目录),:make(运行该目录下的makefile,编译模块),切换到另一个模块,重复上述步骤。实际上我连上述步骤中打字的活也懒得做,在vi的Ex-mode中,Ctrl+P(P代表previous)表示重复前一个命令,显然我现在的工作流程中要输入的命令都是一样的。所以我现在的工作就是按一次或者两次Ctrl+P这么简单.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值