LINUX.ORG.RU

Написать key mapping

 ,


0

1

Приветствую, не хватает нервов, часа два не могу победить эту пустяковую ерунду. Проблема: когда открываю tag в preview окне (через CTRL-W}), то объект в предпросмотре спозиционирован нудачно - в районе центра, низ обрезается, нужно руками сходить в другое окно и сделать zt, это неудобно.

Захотел это исправить и написать своё сочетание, которое должно открыть таг, перейти на превью окно, сделать zt, вернуться обратно. Составные элементы выражения такие:

ptag [tag name]         - открыть таг в preview окне
expand('<cexpr>')       - id под курсором
<C-w>p                  - переключиться на предыдущее окно
zt                      - первая строка окна в позиции курсора
<C-y>                   - скролл на одну линию

В общем я по всякому пытался собрать это в целое, итог один - не могу

nnoremap <C-w>} :execute 'ptag' expand('<cexpr>')<CR>|<C-w>p zt <C-y> <C-w>p

nnoremap <C-w>} :call feedkeys("\:execute 'ptag' expand('<cexpr>')\<CR>") ...

nnoremap <C-w>} :call feedkeys("\:execute 'ptag' expand('<cexpr>')")<CR><CR> ...

nnoremap <C-w>} :call feedkeys(...) :call feedkeys(...)
★★
Ответ на: комментарий от xaizek

Спасибо, это работает. Странно я так вроде пробовал, только прбелов больше втыкал.

Ещё после создания темы решила наивно попробовать так, и тоже получилось:

nnoremap <C-w>} <C-w>} <C-w>p zt <C-y> <C-w>p
kvpfs ★★
() автор топика
Ответ на: комментарий от kvpfs

Пробел тоже исполняется (если он не последний) и перемещает курсор на следующий символ. Тут может роль не играет, но вообще он не разделитель.

xaizek ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.