我想创建一个 shell 脚本,它将创建一个预先格式化的文件并在 vim 中打开它。
具体来说,我想创建一个名为的脚本newperl
,它允许我键入newperl [filename]
和生成一个预先格式化的文件(使用 cat、echo、> 等)
#!/usr/bin/perl
use 5.014;
等等
我知道如何进行所有格式化等。我的问题是将我输入的 [filename]newperl
作为参数传递给脚本的其余部分。我怎么做?
无需编写 shell 脚本。Vim 已经有一个钩子,当你打开一个新文件时,它允许你读入一个预先存在的文件。
首先,将您的 perl 模板保存在方便的地方。我保留了一个目录~/.vim/new_file_templates
,其中包含skeleton.pl
,skeleton.py
等。
接下来,将此添加到您的.vimrc
:
autocmd BufNewFile *.pl 0r ~/.vim/new_file_templates/skeleton.pl
这表示当您打开一个vim
名称与“*.pl”匹配的新文件时,读取skeleton.pl
新文件第一行的内容。
然后只需输入
vim newperl.pl
将使用“skeleton.pl”作为模板打开一个名为“newperl.pl”的新文件。
该变量$1
将自动包含在调用脚本后传递的单词/引号字符串。