Command-Line

無法從終端使用 vim 將多個“-c”選項串在一起

  • July 15, 2021

我使用 vim 命令行中的-c(或等效的)選項執行一組我需要經常在標準類型的文件上執行的方便命令。+但是,在遠端系統的作業系統更新後,第一個命令以外的命令被解釋為不同的文件名,並導致執行第一個命令並打開多個緩衝區,而不​​是在一個文件上執行多個命令。

我使用的命令是vim -c ':11' -c ':norm wllv,dZZ' myfile(轉到第 11 行,移動幾個字元,選擇目前位置,並使用領導命令替換,然後保存並退出)。隨著遠端系統上的更改,這會導致兩個緩衝區被打開,一個是wllv,dZZ,另一個是myfile

Vim 也會拋出這個錯誤:

Error detected while processing command line:
E471: Argument required: :norm

此外,如果我嘗試vim -c ":11" -c ":21" myfile,兩個命令都可以工作並且沒有打開額外的緩衝區,這表明錯誤可能在某處:norm,但我不確定為什麼,因為最近它工作得很好。

目前版本的 vim 是 7.4,以防萬一。

任何幫助恢復舊行為或了解問題的來源將不勝感激,謝謝!

在此處回答:https ://vi.stackexchange.com/a/31833/37021 問題是遠端系統上的包裝函式中的錯誤,該錯誤將命令行參數錯誤地傳遞給 vim 執行檔。

修復是使用別名 vim 直接執行執行檔並向系統管理員送出有關包裝器功能的錯誤報告。

引用自:https://unix.stackexchange.com/questions/658399