我想创建一个shell脚本,它将创建一个预先格式化的文件,并使用文件名作为参数在vim中打开它

时间:2012-08-14 14:31:49

标签: bash vim

我想创建一个shell脚本,它将创建一个预先格式化的文件并在vim中打开它。

具体来说,我想创建一个名为newperl的脚本,它允许我输入newperl [filename]并生成一个预格式化的文件(使用cat,echo,>等)

#!/usr/bin/perl
use 5.014;

等。

我知道如何进行所有格式化等问题。我的问题是将newperl之后输入的[filename]作为参数传递给脚本的其余部分。我该怎么做?

2 个答案:

答案 0 :(得分:5)

无需编写shell脚本。 Vim已经有一个钩子,允许您在打开新文件时读取预先存在的文件。

首先,将perl模板保存在方便的地方。我保留了一个目录~/.vim/new_file_templates,其中包含skeleton.plskeleton.py

接下来,将其添加到您的.vimrc

autocmd BufNewFile *.pl 0r ~/.vim/new_file_templates/skeleton.pl

这表示当您在名称与'* .pl'匹配的vim中打开新文件时,请阅读内容 skeleton.pl在新文件的第一行。

然后输入

vim newperl.pl

将使用'skeleton.pl'作为模板打开一个名为'newperl.pl'的新文件。

答案 1 :(得分:4)

变量$1将自动包含调用脚本后传递的单词/ quoted字符串。