Command-Line

如何從命令行為 ex 給出多個命令?

  • January 25, 2022

我希望將 vim 的 ex 模式用於我正在嘗試編寫的腳本,但我似乎無法弄清楚允許我編寫多個命令的語法。

我的程式碼看起來像這樣:

ex -c 'normal! 2gg19|^V49gg59|y' geom.inc

所以這只是進入文件 geom.inc 的 ex 模式,突出顯示一個文本塊,然後拉出該文本塊。我要補充的是,一旦完成此操作,它將關閉文件,但我似乎無法弄清楚如何包含關閉文件的附加命令。我一般都知道“|” 用於將命令串在一起,但我嘗試過的任何組合都沒有奏效。它通常會導致它認為其中一個命令是另一個文件。

我犯了愚蠢的錯誤。正如@Jeff Schaller 上面所建議的那樣,多個 -c 提示將允許多個命令。所以,我的工作範例看起來像這樣。

ex -c 'normal! 2gg19|^V49gg59|y' -cwq geom.inc

我進入 ex 模式ex,提示命令-c,定義塊normal! 2gg19|^V49gg59|ynormal!允許使用正常 vi 命令,2gg19|意味著移動到第 2 行和第 19 列,^V進入可視塊模式,49gg59|移動到第 49 行和第 59 列,然後y拉塊),然後提示另一個命令寫入和退出-cwq

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