我正在尝试使用以下映射在 Vim 中交换单词:
" Swap current word with previous one (push word to the left)
nnoremap <silent> <A-h> "_yiw?\k\+\_W\+\%#<CR>:s/\(\%#\k\+\)\(\_W\+\)\(\k\+\)/\3\2\1/<CR><c-o><cl>:noh<CR>
" Swap current word with the next one (push word to the right)
nnoremap <silent> <A-l> "_yiw:s/\(\%#\k\+\)\(\_W\+\)\(\k\+\)/\3\2\1/<CR><c-o>/\k\+\_W\+<CR><c-l>:noh<CR>
我的 vimrc 文件中也有以下内容
set isk=@,48-57,_,192-255,:,#
上述映射适用于交换(推送单词),除非重音字符开始单词。由于我用西班牙语写的重音字符经常使用,所以我该如何更改正则表达式来解决这个问题?