2010-05-05 56 views
4

在我正在編輯的字典文件中,我經常需要在<>處插入字符「◊」>。有沒有辦法將「◊」映射到某個鍵,以便我按「r」進行替換,然後my_shortcut將<>替換爲「◊」? 我找到了一種方法,使在.vimrc裏IMAP映射:如何在vim中縮進菱形字符

:imap <> ◊ 

但改爲插入模式是次優的,會是這樣可能使這一切在更換模式,我應該寫什麼。 vimrc的?

回答

6

隨着thhe以下地圖

:map r<> :%s/<>/◊/g<CR> 

可以按r<>這將替換◊的<所有出現>在當前緩衝區。

如果未找到該模式,則該地圖(或者說與其一起調用的替換)會給你一個 錯誤E486。如果你不希望這樣的錯誤,你會 要指定e標誌來替換命令:

:map r<> :%s/<>/◊/ge<CR> 

你可以把這些映射之一到您.vimrc文件。

+0

非常感謝!這很好,只需要改變一次 - 我不需要對整個文檔進行徹底的更改,這讓我感到害怕 - 只是針對該實例進行更改。所以,我從方程中脫掉「%」。 map r <>:s/<> /◊/ ge 。 這仍然幫助我輕鬆地用菱形字符「◊」替換<>,而不會從vim窗口分心,並在一些X應用程序(如Web瀏覽器)中搜索它。 – Temujin 2010-05-05 10:48:37

5

您還可以使用vim的二合一功能,按CTRL-K後跟cD,就可以得到一顆鑽石。或者如果CTRL-K被映射到其他的東西(一些腳本傾向於重映射它),你可以在插入模式下使用:set digraph並使用c <BS> D

+0

Vim就像文字Photoshop一樣,有很多功能...我還沒有聽說過「二合字母特徵」。但那確實有效! – Temujin 2010-05-10 16:06:22

2

你嘗試過使用它的縮寫嗎?你可以這樣做:

:abbr <> ◊ 

然後你輸入的每個<時間>後跟空間(或任何非關鍵字字符)插入模式,它將被「取代」◊'。