vimのexモードを使用して作成したいスクリプトを作成しようとしていますが、複数のコマンドを作成できる構文がわからないようです。
私のコードは次のとおりです
ex -c 'normal! 2gg19|^V49gg59|y' geom.inc
したがって、これはgeom.incファイルのexモードに入り、テキストブロックを強調表示してからそのテキストブロックを取り出すことです。これが完了したら、ファイルが閉じられると付け加えたいのですが、ファイルを閉じる追加のコマンドを含める方法がわからないようです。私は通常"|"がコマンドを一緒にまとめるために使用されることを知っていますが、私が試した組み合わせのどれも機能しません。通常、コマンドの1つが別のファイルだと思います。
答え1
愚かなミスを犯しました。 @Jeff Schallerが上記で提案したように、複数の-cプロンプトは複数のコマンドを受け入れます。だから私の仕事の例は次のとおりです。
ex -c 'normal! 2gg19|^V49gg59|y' -cwq geom.inc
exモードに入り、ex
コマンドプロンプトを-c
表示してブロックを定義しnormal! 2gg19|^V49gg59|y
(normal!
通常のviコマンドを受け入れます。2gg19|
つまり、2行と19列に移動し、^V
ビジュアルブロックモードに入り、49gg59|
49行と59列に移動してy
ブロックを取得します)、プロンプトが表示されます書き込みおよび終了するコマンド-cwq
。
答え2
私は次のようにコマンドをパイプする傾向があります。
$ echo '
0r !seq 10
w test
' | ex
$ cat test
1
2
3
4
5
6
7
8
9
10
答え3
最後に「x」または「wq」コマンドを追加するだけです。
ex -c execute 'normal! 2gg19|^V49gg59|y|x' geom.inc