Vim中修改列模式的文字为ABCD或1234的递增序号
vimrc里添加xnoremap <F4> :<C-u>call hy_string#modify#VisualCharsIncrease()<cr>
xnoremap <F4> :<C-u>call hy_string#modify#VisualCharsIncrease()<cr> "递增列模式下的字符 function! hy_string#modify#VisualCharsIncrease() abort let c = col('.') let l = line('.') let char0 = strcharpart(strpart(getline('.'),col('.')-1), 0, 1) for k in range(1, line("'>")-line("'<")) "从第2行开始 let str_before = strpart(getline(l+k), 0, c-1) let str_after = strpart(getline(l+k), c) if char0 =~ '\d' let char1 = char0 + k else let char1 = nr2char(char2nr(char0)+k) endif call setline(l+k, str_before . char1 . str_after) endfor endfunction
列选中A,按F3,就可以变成右边的样子
如果是1,则数字递增
友情提醒:字母若超过Z会出现ASCⅡ码后面的字符
补充:vim的 g ctrl_a 就可以实现数字按序号加1(原理是第1个数字加1,第2个数字加2,所以原数字相同的话,就会变成依次+1的序号)