如何在 vimscript 中扩展选择

发布于 2024-11-18 07:17:26 字数 90 浏览 2 评论 0原文

pe 我选择了一个文本块(使用 Ctrl-V),并希望将其在 vim 脚本中扩展到新位置 pe 30 行以下

有人知道如何执行此操作吗?

p.e. I have a block of text selected (using Ctrl-V) and want to extend it in a vimscript to a new location p.e. 30 lines below

Does anyone know how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

行至春深 2024-11-25 07:17:26

您可以使用标记 '<'> 分别移动到最近视觉选择的开头和结尾。因此,一个简单的函数(例如

EDITED)使用 gvjump 变量。

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

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

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

You can use the markers '< and '> to move to the beginning and end respectively of the most recent visual selection. So a simple function such as

EDITED to use gv and a jump variable.

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

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

will let you extend the current visual:q region by 30 lines using \e.

余生一个溪 2024-11-25 07:17:26

它最好用 映射来表达:

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()

It is better expressed with <expr> mappings:

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

With a function call:

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()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文