2016-11-20 5 views
0

文中のテキストを選択して、強調表示されたテキストの範囲内の文字に置き換えようとしています。Vimで強調表示されているテキストをテキストに置き換えようとしています

これは私の傑作文書$ $に多くのドル記号が付いています。 $例:$

私は$For example$をハイライト表示し、の2ドル記号を '|'で置き換えようとします。

私は、次のコマンドを試してみました:

:'<,>'s/\$/\|/gc <CR> 

私は通常

で強調表示する'v'を使用しますが、上記のコマンドすべてのドル記号と文でを置き換えを「|」私は上記のコマンドの後に何を得たのです:

これは私の傑作です|それに多くの兆候があります。 |たとえば|

私の代用コマンドに何が間違っているのでしょうか?行われた選択で

答えて

1

、タイプ

s/\%Vpattern/replace 

だからあなたの場合は

:'<,>'s/\%V\$/\|/gc <CR> 

注あなたは非常に魔法の検索(検索の開始時に\v)を行っている場合は、バックスラッシュを省略しては、タイプを入力してください%V

:h \%Vかなりそれを説明します:

視覚領域内で一致します。

Vimは一般的にユーザーフレンドリーではありません。選択範囲内での置換など、作業が期待されるものは自動ではありません。

選択したテキストで行う主な処理が置換えの場合、ビジュアルモードがアクティブなときに:と入力すると、このマッピングが常に\%Vのプレフィックスになります。

" Turn on "match inside visual selection" by default when pressing 
" : with text highlighted 
vnoremap : :\%V 
関連する問題