вставка по Shift-Insert в командном режиме
Модератор: /dev/random
-
- Сообщения: 175
- ОС: Debian
вставка по Shift-Insert в командном режиме
Подскажите такую штуку: при вставке по Shift+Insert из глобального буфера в нормальном режиме происходят такая бяка: например, строка "int main ()" вставляется как "nt main()", причем vim оказывается в режиме редактирования. т.е. он первый символ воспринимает как команду. Как лечить?
-
- Сообщения: 428
- ОС: openSUSE 12.3
Re: вставка по Shift-Insert в командном режиме
Например сначала войти в режим редактирования (i), а потом вставить текст например средней кнопкой мыши, ну или Shift+Ins, если так получится.
-
- Сообщения: 175
- ОС: Debian
Re: вставка по Shift-Insert в командном режиме
Warlornhor писал(а): ↑15.04.2009 17:10Например сначала войти в режим редактирования (i), а потом вставить текст например средней кнопкой мыши, ну или Shift+Ins, если так получится.
ну как бы в режиме редактирования и так понятно что нормально вставляется, нужно именно в нормальном режиме.
-
- Сообщения: 428
- ОС: openSUSE 12.3
Re: вставка по Shift-Insert в командном режиме
А теперь ответьте себе на вопрос: "Зачем нужен режим редактирования, зачем нужен режим просмотра и что такое 'нормальный' режим?".
-
- Сообщения: 2
Re: вставка по Shift-Insert в командном режиме
Turbid писал(а): ↑15.04.2009 17:03Подскажите такую штуку: при вставке по Shift+Insert из глобального буфера в нормальном режиме происходят такая бяка: например, строка "int main ()" вставляется как "nt main()", причем vim оказывается в режиме редактирования. т.е. он первый символ воспринимает как команду. Как лечить?
Возможно, хорошим решением будет использовать
"+p для вставки содержимого «системного буфера»,
"*p для вставки искового буфера.
А <S-Insert> — сомнительное это дело. Да и клавшиа Insert раположена относительно далеко. Традиционные способы, они хороши и надёжны.
С уважением.
-
- Сообщения: 175
- ОС: Debian
Re: вставка по Shift-Insert в командном режиме
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
-
- Сообщения: 428
- ОС: openSUSE 12.3
Re: вставка по Shift-Insert в командном режиме
Возможно имеет место быть разный формат данных в том самом буфере обмена и разный способ их вставки. Я вот например замечал что если вставлять очень большие куски текста из внешнего источника, то Vim задумывается не по детски, как будто это все "набирается" на клавиатуре. Может здесь происходит вставка именно как набор сигналов с клавиатуры. Наверное бред сказал, но мне действительно так кажется.
-
- Сообщения: 2
Re: вставка по Shift-Insert в командном режиме
Насколько могу судить… Комбинацию <S-Insert> может обрабатывать не vim, а эмулятор терминала. (Если, например, vim запущен в эмулятрое терминала). Тогда для vim это будет, фактически вводом с клавиатуры.
-
- Сообщения: 2579
Re: вставка по Shift-Insert в командном режиме
Turbid писал(а): ↑15.04.2009 17:03Подскажите такую штуку: при вставке по Shift+Insert из глобального буфера в нормальном режиме происходят такая бяка: например, строка "int main ()" вставляется как "nt main()", причем vim оказывается в режиме редактирования. т.е. он первый символ воспринимает как команду. Как лечить?
Ну, всё правильно, сначала пишется i, а потом вставляется текст.
Если в буфере обмена будет строка 'dd', то при нажатии shift+insert строка удалится по идее.