当我在 vim 中录制和粘贴一个宏时,我得到了这样的结果:
<80>kl - these 3 characters (the <80> is just 1 character) represent <Left>
^[ - represents <Esc>
^M - represents <cr>
这不好,因为当我粘贴然后尝试编辑宏时,这些字符不那么清晰。
我只是想让 vim 使用这些更易读的缩写而不是那些神秘的废话来粘贴宏。或者,我可以在粘贴的行上运行以进行替换的功能可以正常工作。
您可以使用像这样的简单函数将 , 等的每个出现(在当前行)^M
替换^[
为它们的替换项。您可以在发现需要时将额外条目添加到replacements
字典中。
function! ReplaceWeirdCharacters()
let replacements = {
\ "\<C-[>": '<Esc>',
\ "\<C-M>": '<CR>',
\ "\u80kb": '<BS>'
\}
for [a, b] in items(replacements)
execute "s/" . a . "/" . b . "/ge"
endfor
endfunction
nnoremap <leader>rwc :call ReplaceWeirdCharacters()<CR>