Как расширить выделение в vimscript - PullRequest
1 голос
/ 04 июля 2011

pe У меня выделен блок текста (с помощью Ctrl-V), и я хочу расширить его в vimscript до нового местоположения pe на 30 строк ниже

Кто-нибудь знает, каксделать это?

Ответы [ 2 ]

3 голосов
/ 04 июля 2011

Это лучше выражается с помощью <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()
3 голосов
/ 04 июля 2011

Вы можете использовать маркеры '< и '> для перемещения в начало и конец соответственно самого последнего визуального выбора.Таким образом, простая функция, такая как

EDITED для использования gv и переменной jump.

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

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

позволит вам расширить текущий визуальный объект: q regionна 30 строк, используя \ e .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...