Более простой способ сделать отображения, которые работают со всеми текстовыми объектами? - PullRequest
0 голосов
/ 06 марта 2019

Я привык использовать https://www.vim.org/scripts/script.php?script_id=2703 для замены текстового объекта в Vim, и сейчас я нахожусь в процессе воссоздания некоторых из этих функций в IdeaVim.

Я использую этиотображения в моем vimrc:

nmap Ö <Plug>ReplaceWithRegisterOperator$
nmap öö <Plug>ReplaceWithRegisterLine
xmap ö <Plug>ReplaceWithRegisterVisual
nmap ö <Plug>ReplaceWithRegisterOperator

Первые 3 строки легко воссоздать в моем .ideavimrc, например:

nnoremap Ö "_Dp
nnoremap öö "_ddP
vnoremap ö "_dP

Но действительно ли это лучший способ получитьö работать с каждым отдельным текстовым объектом в обычном режиме?

nnoremap öiw "_diwP
nnoremap öaw "_dawP
nnoremap öIw "_dIwP
nnoremap öAw "_dAwP
nnoremap öis "_disP
nnoremap öas "_dasP
nnoremap öip "_dipP
nnoremap öap "_dapP
nnoremap öib "_dibP
nnoremap öab "_dabP
nnoremap öiB "_diBP
nnoremap öaB "_daBP
nnoremap öi( "_di(P
nnoremap öi) "_di)P
nnoremap öa( "_da(P
nnoremap öa) "_da)P
nnoremap öi[ "_di[P
nnoremap öi] "_di]P
nnoremap öa[ "_da[P
nnoremap öa] "_da]P
nnoremap öi{ "_di{P
nnoremap öi} "_di}P
nnoremap öa{ "_da{P
nnoremap öa} "_da}P
nnoremap öi< "_di<P
nnoremap öi> "_di>P
nnoremap öa< "_da<P
nnoremap öa> "_da>P
nnoremap öi" "_di"P
nnoremap öa" "_da"P
nnoremap öi' "_di'P
nnoremap öa' "_da'P
nnoremap öi` "_di`P
nnoremap öa` "_da`P
nnoremap öit "_ditP
nnoremap öat "_datP

Эти сопоставления работают, но мне было интересно, есть ли более понятный и простой способ сделать это?

1 Ответ

0 голосов
/ 06 марта 2019

Вы можете сопоставить пользовательские операторы с :map-operator, но IdeaVim пока не поддерживает эту функцию.

Вы можете создать выпуск , если хотите.

...