2017-10-07 14 views
3

私は検索によって生成された変更を表示し、vimで置き換える方法がありますか?検索後の変更を表示し、Vimに置き換えますか?

など。次の例では、末尾の空白

:%s/\s\+$//g 

が、言って削除し、私は正規表現のわからないと私はそれは私が変更することはしたくなかった何かを変え怖いです。しかし、私はまたgの代わりにgcを使いたくないのですが、あまりにも多くの変更を確認するのは混乱し、しばらく時間がかかります。代わりに何らかのリストとして新しいバッファの変更を見たいと思います。これは可能ですか?

+0

あなたはgitのを使用した場合は、何が起こったかを確認するためにそのdiffコマンドを使用することができます。 –

+0

それを別のファイルに書き込んでvimdiffを使うこともできますが、とにかくgitを使うべきです。 –

+0

@MattGregory gitでdiffを使用する方法について、正しい方向で私に指摘できますか?私はgitを使っていますが、以前のバージョンのファイルとは別のファイルをどのようにdiffするか分からないでしょう(それは別のコミットであるべきでしょうか?あるいはdiffをコミットする必要がなく簡単な方法ですか?) vimdiffのおかげです。 – Jose

答えて

3

Neovimは別のクールなオプションがプラグインNarrowRegionある

"As you type a substitution the results will immediately be 
"visible in the edit window. This feature is best highlighted 
"in this video: http://www.youtube.com/watch?v=sA3z6gsqOuw 
if has("nvim") 
    set inccommand=nosplit 
endif 

場で置換することを強調して便利な機能を持っています。それは選択を受け取り、変更を適用するために一時的なウィンドウを使用します。保存した後、結果は元のテキストに戻されます。

4

保存されたファイルと最新の変更の差分を表示するために使用できる古い技があります。あなたは:help :DiffOrigとそれを見ることができます。

それは、このコマンドに沸く:

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis 
    \ | wincmd p | diffthis 

あなたの.vimrcでこれを入れたら、あなたは、ファイルを保存置換(またはあなたが好きな他の変更)を行い、:DiffOrigを実行することができます変更を確認します。結果が満足できない場合は、uを押して元に戻したり、ファイルを保存したりすることができます。

これは、置換を実行する前にファイルを保存する必要があることを意味しますが、コメントに基づいて、ツールとして十分に役立つと思いますか?

また、いくつかの代替案のためのvimのwikiに、このページを見てみたいことがありますhttp://vim.wikia.com/wiki/Diff_current_buffer_and_the_original_file

関連する問題