我想创建一个shell脚本,它将创建一个预先格式化的文件并在vim中打开它。
具体来说,我想创建一个名为newperl
的脚本,它允许我输入newperl [filename]
并生成一个预格式化的文件(使用cat,echo,>等)
#!/usr/bin/perl
use 5.014;
等。
我知道如何进行所有格式化等问题。我的问题是将newperl
之后输入的[filename]作为参数传递给脚本的其余部分。我该怎么做?
答案 0 :(得分:5)
无需编写shell脚本。 Vim已经有一个钩子,允许您在打开新文件时读取预先存在的文件。
首先,将perl模板保存在方便的地方。我保留了一个目录~/.vim/new_file_templates
,其中包含skeleton.pl
,skeleton.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字符串。