2012-07-18 55 views
2

例如,如何打開一個文件作爲文件的模板,但是將其作爲未保存的緩衝區打開?我不知道我應該使用什麼方法,但我希望能夠保存它作爲它應該是的文件。如何在vim中打開一個新文件但不是同一個文件

我的情況是一個哲基爾博客,我有一個基本的帖子模板和要打開,在命令行VIM這樣我就可以開始後,然後:w *filename.md*

+1

出了什麼問題只是在做你說了什麼?或者事先只是複製文件? – robbrit 2012-07-18 20:04:05

+0

我不知道如何在vim中打開文件,所以我可以輕鬆地保存在另一個文件中。在編寫新文件後,不必像使用':e filename.md'切換到編輯文件。 – cmp 2012-07-18 20:20:20

回答

3

使用saveas命令。假設您有一個名爲template.md的帖子的模板,請打開template.md,進行一些編輯,然後使用:w,而不要使用:sav newPost.md

無需切換緩衝區:現在您的緩衝區將包含文件newPost.mdtemplate.md將在文件系統上保持不變。

+0

完美,我知道這種情況必須有一些簡單的事情。 – cmp 2012-07-18 21:04:00

2
$ vim template.md 
(edit) 
:saveas filename.md 

$ cp template.md filename.md && vim filename.md 

或...我不知道我理解你的問題。

正常的工作流程是打開模板和「另存爲...」。在Vim和其他編輯。那有什麼問題?

或者你正在尋找templatingsnippet-expansion插件?

+0

模板系統可以用於更復雜的事情,但我正在尋找更簡單的解決方案來解決問題。也許這是我需要的。 – cmp 2012-07-18 21:01:50

3

一種方法是使用:read命令或簡稱爲:r。例如:r template.mdtemplate.md的內容讀入當前緩衝區。

優點:

  • 可以讀取多個模板
  • 任何緩衝液都可以使用,包括未保存的,甚至一個臨時緩衝區
  • 不必擔心保存在template.md文件事故
  • 可與:!方法組合以讀取shell命令的輸出。例如:r!ls
  • 使用範圍:r在緩衝區中的特定點讀取模板。例如:10r template.md會後的行號10

缺點閱讀template.md

  • 可能有多餘的空行。這可以通過:0d_或任何你喜歡的方法刪除一行很容易刪除。

工作流程示例:

  1. 創建緩衝區和模板讀

    :new 
    :r template.md|0d_ 
    
  2. 編輯緩衝區

  3. 保存緩衝

    :w a-great-new-file.md 
    

如需更多幫助,請參見:

:h :r 
:h :r! 
:h :range 
相關問題