2014-01-23 65 views
1

我喜歡用「*」在vim中搜索文本。在點亮目標文本之後,我想編輯所有這些文件,有沒有什麼辦法可以在vim中執行?例如,突出顯示文本後,我只需按ctrl + i,然後突出顯示的文本可以同時編輯。如何在搜索後編輯vim中的高亮文本

+0

你想查找和替換? –

回答

9

同時編輯(如在其他編輯器中看到的)沒有內置到Vim中(但有插件)。不過,你不需要它們。 *後,文本存儲在最後的搜索模式寄存器,你可以:substitute//不重複,你要搜索的內容:

:%s//replacement/g 

%範圍並應用此整個緩衝; /g標誌,它取代所有(全局)實例,而不僅僅是每行中的第一個。詳情請閱讀:help :s

+0

它很好用,謝謝。 – NOrder

0

如果您希望編輯另一個單詞,可以使用substitute命令。 (例如:%s/hi/hello/g

這會將文件中出現的所有hi更改爲hello

+0

我認爲他想替換不同的單詞,不只是你好, –

+0

@ Norder ..你是嗎? –

+1

如果是這種情況,那麼 :%s/\ /bar/gc 只更改完整匹配'foo'到'bar'的單詞;請求確認。 –

1

您可以查看vim-multiple-cursors插件。

就我個人而言,我喜歡@Ingo的解決方案。插件越少越好。

+0

插件還行,越多越好。 VimL插件(可移植性)。 Neobundle作爲經理,因爲它有史詩般的懶惰加載。 – majkinetor

+0

插件越多越好?有些東西告訴我這是爲了震撼價值。這不是一個加載問題;我只是覺得vim在按照預期使用時默認是有用的工具。插件往往混淆,需要管理和更新,需要額外的學習等。 – Conner

+0

好吧。有足夠的插件,你可以加載史詩比例的時間。 – progo

1

作爲一個不錯的選擇。您可以使用gn.命令。

  • 設置你的搜索模式,即*/foo
  • gn運動
  • cgnbar<esc>通過c操作更改高亮模式將高亮區域更改爲bar
  • 現在您可以使用.也重複此更改。您還可以使用n跳過地點。

注:這需要至少7.4

如需更多幫助,請參見:

:h gn 
:h . 
相關問題