如何在vimscript中扩展选择

时间:2011-07-04 14:51:53

标签: vim select move extend

体育专业。我选择了一个文本块(使用Ctrl-V),并希望将它在vimscript 中扩展到新的位置p.e.下面30行

有谁知道怎么做?

2 个答案:

答案 0 :(得分:3)

您可以使用标记'<'>分别移动到最近视觉选择的开头和结尾。所以一个简单的功能,如

已编辑以使用gvjump变量。

function! ExtendVisual(jump)
    execute "normal! gv" . a:jump . "j"
endfunction

vnoremap <silent> <leader>e :call ExtendVisual(30)<CR>

将允许您使用 \ e 将当前的visual:q区域扩展30行。

答案 1 :(得分:3)

最好用<expr>映射表达:

vnoremap <expr> \e g:jump."j"

使用函数调用:

function Jump()
    " Do something (modifying text, switching buffers and 
    " something other is forbidden, see :h map-<expr>)
    return jump."j"
endfunction
vnoremap <expr> \e Jump()