簡體   English   中英

如何寫一個批處理文件來運行VIM命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM