开发者

VIM: how to add search/replace command to vimrc and map to a shortcut

I have two search/replace commands that I find myself running in vim fairly often to clean up html code so I can copy/paste it online. The commands are:

:%s!<!\&lt;!g
:%s!>!\&gt;!g

I wanted a way I could map both of these commands to be run together ... I did some searching for how to use the :map commands in vimrc, however, I can't see how to combine the two lines into a single co开发者_JAVA技巧mmand that is run with a single keystroke (or a single sequence of strokes).

Thanks!


You can put the commands on a single line separated with a bar.

:%s!<!\&lt;!g|%s!>!\&gt;!g

But you'll have to escape it in the map command

:map <F3> :%s!<!\&lt;!g\|:%s!>!\&gt;!g<CR>


:TOhtml

will create a new buffer containing your previous buffer HTML-ized, including entity escaping (and syntax highlighting, if you had that enabled). See :h TOhtml for more information.


If you are using this search/replace pattern to HTML encode entities, you might want to check out the unimpaired plugin. Amongst other things, this provides shortcuts for encoding and decoding XML, URL and C strings.


:map <F3> :%s!<!\&lt;!<cr>:%s!>!\&gt;!<cr>    

of course can be replaced with whatever key you wish


I've not tried it, but can you not put them on the same line separated by "<CR>"?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜