вставка по Shift-Insert в командном режиме

и другие vi-подобные редакторы

Модератор: /dev/random

Ответить
Turbid
Сообщения: 175
ОС: Debian
Контактная информация:

вставка по Shift-Insert в командном режиме

Сообщение Turbid »

Подскажите такую штуку: при вставке по Shift+Insert из глобального буфера в нормальном режиме происходят такая бяка: например, строка "int main ()" вставляется как "nt main()", причем vim оказывается в режиме редактирования. т.е. он первый символ воспринимает как команду. Как лечить?
Спасибо сказали:
Warlornhor
Сообщения: 428
ОС: openSUSE 12.3

Re: вставка по Shift-Insert в командном режиме

Сообщение Warlornhor »

Например сначала войти в режим редактирования (i), а потом вставить текст например средней кнопкой мыши, ну или Shift+Ins, если так получится.
Спасибо сказали:
Turbid
Сообщения: 175
ОС: Debian
Контактная информация:

Re: вставка по Shift-Insert в командном режиме

Сообщение Turbid »

Warlornhor писал(а):
15.04.2009 17:10
Например сначала войти в режим редактирования (i), а потом вставить текст например средней кнопкой мыши, ну или Shift+Ins, если так получится.

ну как бы в режиме редактирования и так понятно что нормально вставляется, нужно именно в нормальном режиме.
Спасибо сказали:
Warlornhor
Сообщения: 428
ОС: openSUSE 12.3

Re: вставка по Shift-Insert в командном режиме

Сообщение Warlornhor »

А теперь ответьте себе на вопрос: "Зачем нужен режим редактирования, зачем нужен режим просмотра и что такое 'нормальный' режим?".
Спасибо сказали:
Ghigliottina
Сообщения: 2

Re: вставка по Shift-Insert в командном режиме

Сообщение Ghigliottina »

Turbid писал(а):
15.04.2009 17:03
Подскажите такую штуку: при вставке по Shift+Insert из глобального буфера в нормальном режиме происходят такая бяка: например, строка "int main ()" вставляется как "nt main()", причем vim оказывается в режиме редактирования. т.е. он первый символ воспринимает как команду. Как лечить?

Возможно, хорошим решением будет использовать
"+p для вставки содержимого «системного буфера»,
"*p для вставки искового буфера.

А <S-Insert> — сомнительное это дело. Да и клавшиа Insert раположена относительно далеко. Традиционные способы, они хороши и надёжны.

С уважением.
Спасибо сказали:
Turbid
Сообщения: 175
ОС: Debian
Контактная информация:

Re: вставка по Shift-Insert в командном режиме

Сообщение Turbid »

Warlornhor писал(а):
15.04.2009 17:26
А теперь ответьте себе на вопрос: "Зачем нужен режим редактирования, зачем нужен режим просмотра и что такое 'нормальный' режим?".


нормальный режим - это который, как вы выразились, режим просмотра. И именно в нем, почему-то по умолчанию, работает вcтавка из внутреннего буфера по p или P.

Ghigliottina писал(а):
15.04.2009 17:36
Возможно, хорошим решением будет использовать
"+p для вставки содержимого «системного буфера»,
"*p для вставки искового буфера.

А <S-Insert> — сомнительное это дело. Да и клавшиа Insert раположена относительно далеко. Традиционные способы, они хороши и надёжны.


Дело привычки, конечно, просто мне удобней забиндить это так:

Код: Выделить всё

vmap <C-Insert> "+y
nmap <S-Insert> "+gP
Спасибо сказали:
Warlornhor
Сообщения: 428
ОС: openSUSE 12.3

Re: вставка по Shift-Insert в командном режиме

Сообщение Warlornhor »

Возможно имеет место быть разный формат данных в том самом буфере обмена и разный способ их вставки. Я вот например замечал что если вставлять очень большие куски текста из внешнего источника, то Vim задумывается не по детски, как будто это все "набирается" на клавиатуре. Может здесь происходит вставка именно как набор сигналов с клавиатуры. Наверное бред сказал, но мне действительно так кажется.
Спасибо сказали:
Ghigliottina
Сообщения: 2

Re: вставка по Shift-Insert в командном режиме

Сообщение Ghigliottina »

Насколько могу судить… Комбинацию <S-Insert> может обрабатывать не vim, а эмулятор терминала. (Если, например, vim запущен в эмулятрое терминала). Тогда для vim это будет, фактически вводом с клавиатуры.
Спасибо сказали:
Flaming
Сообщения: 2579

Re: вставка по Shift-Insert в командном режиме

Сообщение Flaming »

Turbid писал(а):
15.04.2009 17:03
Подскажите такую штуку: при вставке по Shift+Insert из глобального буфера в нормальном режиме происходят такая бяка: например, строка "int main ()" вставляется как "nt main()", причем vim оказывается в режиме редактирования. т.е. он первый символ воспринимает как команду. Как лечить?

Ну, всё правильно, сначала пишется i, а потом вставляется текст.
Если в буфере обмена будет строка 'dd', то при нажатии shift+insert строка удалится по идее. :)
Спасибо сказали:
Ответить