选择粘贴文本的简单方法是
`[v`]
以下给出的高级方法。
nnoremap <expr> gb '`[' . strpart(getregtype(), 0, 1) . '`]'
" OR
nnoremap <expr> gb '`[' . getregtype()[0] . '`]'
strpart(getregtype(), 0, 1)
和getregtype()[0]
的含义是什么?
答案 0 :(得分:3)
简而言之,getregtype()[0]
将使用您的上一个视觉选择模式(char-wise,block-wise或line-wise)直观地选择文本。
函数getregtype()
会返回给您:
v "for charwise
V "for linewise
^V{width} "for blockwise (ctrl-v)
使用[0]
或使用包裹的strpart()
函数只是为了获取第一个字节。v, V or ^V
,以便您的映射将使用最后一个视觉选择模式来直观地选择刚粘贴的文本。
:h getregtype(
详情。
类似的技巧是使用setreg()
函数,让{option}
设置模式。