每当字母aiouAIOU后跟符号'时,我想指示VIM自动用带有重音字母的字母替换字母(删除')。
字母“e”(和E)是一个例外:如果前面有空格或CR后跟',则变为è(和È;同时删除'),否则变为é。
这并不能完全捕捉意大利语的规则,但对我来说这是一个开始。
我目前在我的.vimrc中使用它
nnoremap <leader>, :%s/\([aeiouAEIOU]\)'/\=tr(submatch(1), 'aeiouAEIOU', 'àèìòùÀÈÌÒÙ')/g<CR>
我应该如何扩展它以执行我正在寻找的条件替换,一次性?
答案 0 :(得分:1)
我不知道如何输入大写é
..所以我只使用x
和X
。这个cmd应该有所帮助:
%s/\v(\s|\_^)([eE])'/\=tr(submatch(2),'eE','èÈ')/g|%s/\v([aeiouAEIOU])'/\=tr(submatch(1), 'aeiouAEIOU', 'àxìòùÀXÌÒÙ')/g
您也可以在地图中使用它。