这确实是一个新手问题-但基本上,我如何为某些文件类型启用模板。
基本上,我只是希望模板插入一个排序的标题,这是与一些我觉得有用的函数,和库加载等。
我翻译
:help template
我应该把这个放在我的vimrc里
au BufNewFile,BufRead ~/.vim/skeleton.R
运行R脚本会显示可能会发生的事情,但显然不会:
--- Auto-Commands ---
这可能是因为模板是由命令组成的(而skeleton.R中没有这样的命令)--在本例中,我只希望它插入一个文本标题(skelton.R由它组成)。
抱歉,如果这个问题是令人难以置信的愚蠢;-/
7条答案
按热度按时间kyks70gy1#
您建议的命令不起作用:这样做目的是在每次打开
~/.vim/skeleton.R
时都运行no Vim命令一个简单的实现方法是用途:
每当创建一个新的
*.R
文件时,它都会读取(:r
)您的文件。您希望避免在autocmd中出现BufRead
,否则它会在您每次打开文件时将框架文件读入您的工作文件中!有很多插件可以为这个过程增加更多的控制。作为作者,我完全有偏见,我推荐this one,但是也有很多其他的here。
无耻的塞:
它们都以相对相似的方式工作,但要解释我的脚本:
你按照linked页面上的描述安装插件,然后在
~/.vim/templates
中创建一些模板。这些模板应该和“目标”文件有相同的扩展名,所以如果它是.R
文件的模板,就叫它类似skeleton.R
。在你的.vimrc
中,添加类似如下的内容:然后创建新的
.R
文件(带有文件名,因此如果是新文件,请保存它),并输入:您也可以跳过
.vimrc
编辑,只执行以下操作:有关详细信息,请参阅the website。
3ks5zfa02#
假设您的 backbone 位于~/.vim/templates/目录中,您可以将此代码片段放在vimrc文件中。
一些解释,
另请参阅http://vim.wikia.com/wiki/Use_eval_to_create_dynamic_templates
vxbzzdmp3#
在
~/.vim
文件夹中创建 templates 子目录在名为R.skeleton的子目录中创建一个新文件,并放入头文件和/或其他您希望在创建新的“.R“文件时自动加载的内容。
然后,将以下内容添加到您的
~/.vimrc
文件中,这 * 可能 * 是“guest”以某种方式建议的请查看my github repository以了解更多详细信息和其他选项。
ndh0cuux4#
这只是一个技巧,我曾经使用.它的便宜,但如果你是不是知道什么vim和它的命令,它很容易处理.使一个目录像这样:
然后在位于
~/.vimrc
的.vimrc文件末尾添加一个类似ForUncleBarney()
的函数,应该如下所示:那么就在vim中使用这个命令
然后您会看到您的模板作为示例我已经有两个.cpp文件的模板
抱歉说了太多,编码太棒了!:)
fafcakar5#
另外,请看一下https://github.com/aperezdc/vim-template.git。
我使用它,并贡献了一些补丁,它会争辩说,它的功能相对齐全。
bcs8qyzn6#
使用snipmate插件怎么样?请参阅here
llycmphe7#
存在许多template-file expanders--您还可以在其中找到有关如何实现基本模板文件扩展器的说明。
对于我来说,我正在维护muTemplate的fork。为了简单起见,只需将一个
{ft}.template
文件放入{rtp}/template/
中。如果您想使用任何(vml)变量或表达式,就这样做吧。如果您愿意,您甚至可以将vim代码(现在甚至是函数)放入模板文件中。已经为C++和vim文件实现了几个明智的决定。