4

Каждый раз, когда визуальный выбор изменяется в MacVim, он копируется в системный буфер обмена. Это нормально и можно ли его отключить?

2 ответа2

7

Это не стандартное поведение MacVim, но его можно активировать, используя set guioptions+=a или set go+=a . Тогда все, что вы выберете, будет скопировано в ваш буфер обмена. Может быть, у вас есть эта строка в вашем .vimrc.

Чтобы деактивировать его, просто используйте set go-=a или добавьте его в свой .vimrc.

0

Что вы подразумеваете под

Каждый раз, когда меняется визуальный выбор

?

Вы выбираете foo в foo bar и получаете foo в буфер обмена, затем передумаете и выбираете вместо него bar и находите bar вместо foo в буфере обмена?

Если да, я никогда не сталкивался с таким поведением в MacVim или любом другом родном приложении MacOS X.

Это может произойти в GVim в Linux, где имеется более одного буфера обмена (один из которых содержит выделенный текст), но даже там это будет зависеть от того, как он был скомпилирован.

Нашли ли вы foo в буфере обмена после изменения его на bar?

Если да, то это совершенно нормально: изменение строки с помощью p или c всегда помещает оригинал в регистр по умолчанию, который соответствует системному буферу обмена в MacVim.

Один из способов обойти эту "проблему" - использовать "_dP вместо p . Это означает «удалить выделенный текст в" регистр черной дыры "("_d), а затем поместить содержимое регистра по умолчанию перед курсором ».

Вы можете использовать аналогичную стратегию для c: "_di сделает то же самое, но вместо этого переведет вас в режим INSERT.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .