例如,如何打开我将用作文件模板的文件,但是可以将其打开为未保存的缓冲区?我不知道我应该使用哪种方法,但我希望能够将它保存在它应该是的文件之后。
我的情况是一个jekyll博客,我有一个基本的帖子模板,并希望从命令行在vim中打开,所以我可以开始帖子,然后:w *filename.md*
答案 0 :(得分:3)
使用saveas
命令。假设您有一个名为template.md
的帖子的模板,请打开template.md
,进行一些修改,然后执行:w
而不是:sav newPost.md
。
无需切换缓冲区:现在您的缓冲区将包含文件newPost.md
,template.md
将在文件系统上保持不变。
答案 1 :(得分:3)
一种方法是使用:read
命令或:r
。例如:r template.md
将template.md
的内容读入当前缓冲区。
优点:
template.md
文件:!
方法结合使用,以读取shell命令的输出。例如:r!ls
:r
的范围读取缓冲区中特定点的模板。例如:10r template.md
将在第10行后的template.md
中读取。缺点:
:0d_
或任何您喜欢的删除行的方法轻松删除。示例工作流程:
创建缓冲区并读入模板
:new
:r template.md|0d_
编辑缓冲区
保存缓冲区
:w a-great-new-file.md
如需更多帮助,请参阅:
:h :r
:h :r!
:h :range
答案 2 :(得分:2)
$ vim template.md
(edit)
:saveas filename.md
或
$ cp template.md filename.md && vim filename.md
或......我不确定我理解你的问题。
正常的工作流程是打开模板并“另存为...”。在Vim和其他所有编辑。这有什么问题?
或者您正在寻找templating或snippet-expansion插件?