2011-07-14 10 views
0

viエディタのすべての行の先頭に 'ABC'のようなテキストを追加できますか? これはうまくいきません!すべての行の前にABCを置くunixのviエディタで簡単な質問

:%s/^/ABC/g 

%s/^/^ABC 

私は、このコマンドは、あなたがしたいテキスト

%s/vggv/uggv/g 

答えて

8

を交換するために使用されて知っています。

+5

のviエディタですべての行の前にABCを追加します。終わりの '/'は省略することもできます。最後のコマンド: ':%s/^/ABC' –

4

はあなたのためではない:%s/^/ABC/作業を行う前に:忘れてはいけませんか?他の人が言ったように

:%normal IABC 
8

私は本当にこのようなもののために通常のコマンドが大好きです。何を意味するか考えてください。^これは論理構造であり、ファイル内の実際の文字ではありません。したがって、あなたは実際にそれを置き換えていないので、^ABCを使用する必要はありません。実際、あなたが見たように、^は、その文脈で文字列として扱われます。

空白のみを含む行をスキップする場合は、:v/^[:space:]*$/s/^/ABCを使用できます。

+1

+ 1の代わりにきちんとした代替方法を使う – Jeet

+2

+1 vimについて新しいことを教えてください。 – Lynch

1

:%s/^/ABCは、トリックを行います:

1
:%s/^/ABC/g 

これはのみ行の行の1つの開始があるだろうと `G`を省略することができる