[英]How to write a batch file to run vim commands
我正在嘗試編寫一個批處理文件,它將使用vim替換文本文件中的幾行。 以下是批處理文件的內容:
vim toedit.txt
:10
:R new value
:11
:R new value
:wq
執行后,它將從vim的角度給出一條消息:
Swap file "toedit.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
什么是交換文件? 無論如何,我按D
鍵,因為它聽起來像是一個臨時文件,所以我的批處理運行將在vim中停止,光標位於文本文件的第10行。
批處理文件中的換行符(通過按Enter生成)是否與用戶按Enter來運行每個命令的功能相同? 如何編寫正確的批處理文件來編輯文本文件? 謝謝。
:help swap-file
通常,如果Vim崩潰,則交換文件將位於磁盤上,或打開Vim在另一個進程中已經打開的文件。 您可以使用-n
開關忽略交換文件。
對於批處理編輯,最好使用ex
,這是Vim的批處理版本。 但是,在香草Vim中沒有:R
命令,因此我不確定您要做什么。 但這就像
ex -n toedit.txt +10 +"R new value" +11 +"R new value" +wq
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.