我試圖找到命令,宏或插件的組合來複制我在VIM(實際上是macvim)編輯的文件到相同的位置,但與一個不同的名字。我確信這可以用一個簡單的方法實現:如何複製編輯文件在相同的位置,但與VIM不同的名稱
!cp $CURRENT_FILE_PATH $NEW_PATH
但我不知道要使用什麼變量和語法。
我試圖找到命令,宏或插件的組合來複制我在VIM(實際上是macvim)編輯的文件到相同的位置,但與一個不同的名字。我確信這可以用一個簡單的方法實現:如何複製編輯文件在相同的位置,但與VIM不同的名稱
!cp $CURRENT_FILE_PATH $NEW_PATH
但我不知道要使用什麼變量和語法。
:saveas %:p:h/new_name
欲瞭解更多信息:
:h :saveas
:!cp % %:h/new_name
%
擴展到當前文件名%:h
擴展到當前文件名的目錄要了解更多信息:
:help expand()
:help filename-modifiers
+1很好的答案。對於windows,它會是'!copy「%:p」「%:p:h/new_name」'。注意「」這些讓你可以在名稱中使用空格等文件。 – Milimetric
請注意':saveas'命令將當前緩衝區的文件名設置爲新文件(作爲參數傳遞)。這意味着執行後您將編輯複製的文件,而不是原文!要將文件保存到新位置並繼續編輯該文件(而不是僅寫入的副本),請使用':write'命令。 –