Копіювання / вклеювання вімператора


23

Я пробую Вимператор . В основному я хотів це для прокрутки hjkl, і мені подобається його система «підказки» для наступних посилань. Ці дві особливості справді все, що мені потрібно; Я думаю.

Я не заперечую проти інших особливостей, вони просто іноді заважають.

Найбільше мене дратує це копіювання / вклеювання. Я звик до Ctrl+ c/ Ctrl+ v, я не проти використовувати інший ярлик, але ..

:help yank вказує на те, що копіювання вибраного тексту виконується за допомогою Y, але єдиний метод, який згадується для вставки, - це середня кнопка миші!

Це так смішно проти духу Віма!

Як я можу вставити в Vimperator без використання миші?


Відповіді в цьому запитанні застаріли (що має сенс, оскільки їм сім років) Якщо ви приземлилися сюди з google, це не (станом на сьогодні) відповіді, які ви шукаєте
Артур Ульфельт

Відповіді:


15

Найкраще і найпростіше, що ви можете зробити - це перезавантажити клавіші. Це не важко. Помістіть це у свій _vimperatorrc (або .vimperatorrc в Linux)

noremap <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>

<C-v>за замовчуванням відображається в режимі "Перейти далі", що означає, що наступна натискання клавіші надсилається безпосередньо на Firefox, не обробляючи її та не їсти її. Тож відображення вище просто активує режим «Пройти далі» та надішле відповідний ярлик.

Існує навіть плагін vimperator, який ще більше розширює це і переробляє всі звичайні ярлики Windows , тому вони ведуть себе так, як очікувалося.


3
для <Cv> (вставити), це має бути inoremap
hasen

прийнято за посилання на плагін! що дивовижно і вирішує проблему
hasen

2
Схоже, що в поточній версії (3.8.1) можливо Cc і Cv роблять копіювання та вставлення на рівні ОС за замовчуванням ... Я не зміг знайти нічого про це в журналах змін, але я просто перейшов з Пентадактилу на останню Vimperator і Cc та Cv працювали так, як я хотів, щоб вони.
driftcatcher

@hangtwenty здається правильним, відповідь тут уже застаріла
Arthur Ulfeldt

36

Я здивований, що не було більш точної відповіді на це питання. Посилання на плагін обраної відповіді вирішило проблему ОП, але ніхто насправді не пояснив, як щось вставити у текстове поле, не використовуючи режиму проходження (Cv).

Якщо ви знаходитесь в текстовому полі в режимі INSERT і хочете щось вставити, очевидно, що потрібно зробити у vi-land - натиснути клавішу ESC та p, щоб вставити. У vimperator це не працює - ESC виводить вас повністю з режиму INSERT і переходить у режим, у якому ви працюєте зі сторінкою / вкладкою в цілому.

Вимператор вирішує це за допомогою додаткового базового режиму - TEXTAREA. Перебуваючи в режимі TEXTAREA, ви можете використовувати підтримувані команди, якими ви користуєтесь у vi.

Enter TEXTAREA mode: C-t
Paste:    p
Copy line:    yy
Delete Char:  x
Delete Line:  dd

І т.д.

Це не здається добре задокументованим - я зрозумів, що це здебільшого помилково. Це працює так само в багаторядкових та однорядних текстових полях.


Дякую за цей коментар Це саме те, що мені потрібно було, щоб обзавестися вімператором та полями форми.
ZweiBlumen

@RevAaron, коли ви переходите в режим TEXTAREA, це схоже на традиційне VI оточення, і більшість VI-клавіш буде працювати для редагування тексту? А також я помітив (знову випадково), коли в режимі TEXTAREA натискаю "d", а потім "s" або "a", він перетворює режим на режим, який називається VISUAL. Буду вдячний, якщо ви могли б дати мені інформацію про це. або навіть якщо вам подобається, я можу поставити це як питання, тоді ви можете відповісти на нього, тоді інші використовуватимуть його.
Мехрад

13

Зараз вимператор переробляє Ctrl + C (від "копію" до "скасувати") і Ctrl + V (від "вставити" до "пройти"). В Linux кращий метод копіювання / вставки - за допомогою середньої кнопки миші, тому це не проблема. У Windows це катастрофа користувальницького інтерфейсу, і вона погано потребує виправлення.

Ви можете скопіювати три місця: текст із веб-сторінки, текст із форми форми та текст із зовнішньої програми. Ви можете скопіювати два місця: у поле форми та у зовнішню програму. Адреса та панелі команд працюють як поля форми.

Copying from...
     A web page: 'Y' works, '^C' doesn't
     Form field: 'Y' doesn't work, '^C' does
     Extern application: 'Y' doesn't work, '^C' does
  Copying to...
     Form field: '^V' doesn't work, '^V,^V' does
     External application: '^V' works, '^V,^V' pastes twice
 Or, seen another way
       Copy  Paste
 Page  Y     N/A
 Form  ^C    ^V,^V
 App   ^C    ^V

Звичайні користувачі не запам’ятовують цю таблицю. Вони ніколи цього не зрозуміють, оскільки це не зафіксовано явно, і вони не прочитали б його, навіть якщо це було. Натомість вони використовуватимуть меню правою кнопкою миші, єдине, що працює скрізь. Насправді, через кілька тижнів після того, як я почав користуватися Vimperator, я зловив себе на тому, що я роблю саме це, у абсолютно незв'язаній програмі, те, чого я ніколи раніше не робив.

Нам потрібно відновити ^ C і ^ V до їх оригінальних, законних функцій, як копіювати та вставляти, що означає витіснення клавіш ^ C = Скасувати та ^ V = гарячі клавіші проходу. Насправді обидва ці гарячі клавіші є унікальними для вимператора і не з'являються у vim. ^ V означає «блокувати візуальне» у vim, яке не застосовується у вимператорі, тому прохід може бути легко присвоєний якомусь іншому ключу. Я пропоную зворотну косу рису в командному режимі та ctrl + зворотну косу рису в обох режимах командування та вставки. Це залишає ^ С. Я думаю, що це слід перенести на ^ S. Це два хороших мнемоніка: це "стоп", а також гаряча клавіша Unix для XOFF, яка є марною, але семантично схожа. ^ S в даний час "зберегти сторінку як" у вимператорі, до якої рідко використовується і все ще доступний для неї: save або: saveas.

Скасування також порушено; це було ^ Z, але ^ Z - не прохідний режим, і немає можливості скасувати правки в полі форми без використання миші. Я не бачу причин не переходити на іншу гарячу клавішу, тим більше, що ^ Z in vim означає призупинення, що абсолютно не пов’язано між собою, і несподівано опинившись у режимі проходження вкрай дезорієнтує. Я не можу придумати не-довільну гарячу клавішу, щоб змінити це на, але ^ Z в першу чергу була досить довільною, тому будь-яка невикористана гаряча клавіша буде робити.

Soruce: http://www.mozdev.org/pipermail/vimperator/2008-O жовтня/002359.html


2

Я деякий час шукав спосіб це зробити. Хороший. Але рішення noremap від user4126 було не зовсім ідеальним, якщо я хотів вставити в командний рядок або в текстове поле, як вказує Джо. Тож я переробив це за допомогою inoremap, а також за допомогою cnoremap на http://charlieharvey.org.uk/page/vimperator_cut_and_paste . Схоже, не підтримується vnoremap.

Отже, ви можете вставити в командний рядок і в текстові поля, використовуючи ярлик ctrl-v лише один раз. Вставте наступне у свій .vimperatorrc та перезапустіть Firefox.

noremap <C-v> <C-v><C-v>
inoremap <C-v> <C-v><C-v>
cnoremap <C-v> <C-v><C-v>

noremap <C-c> <C-v><C-c>
inoremap <C-c> <C-v><C-c>
cnoremap <C-c> <C-v><C-c>

2

Я не знайшов відповіді, надані корисними, оскільки не бачу Ctrl+ cніде. Що я роблю, - це використовувати ярлик SecureCRT. Тобто для копіювання зі сторінки:

Ctrl+Ins

Для вставки: Ctrl+ Vдвічі (як хтось говорить у відповідях деінде).


Дякую, ласкавий пане. Зіставлення <cc> до <c-ins> вирішило мій особливий смак цієї проблеми.
Стів Вермеулен

1

Спробуйте наступне, якщо ви хочете мати досвід без миші, ніж повний vim:


NextPlease для FireFox 3.6 зараз :)
Олексій Романов

1

Для короткої відповіді - ^ V ^ V (тобто. Ctrl-V Ctrl-V)

Перший Ctrl-V робить "наступне натискання клавіші наскрізь". Другий Ctrl-V вставляє текст. Це я роблю для більшості текстових полів.

Якщо ви використовуєте режим vi для багаторядкових текстових полів (встановіть noinsertmode), ви також можете вставити за допомогою p - тому, якщо я хотів вставити URL-адресу іншої вкладки в цей тег, я можу перейти до цієї вкладки, використати y, а потім повернутися до ця вкладка. У нижній панелі браузера буде сказано - TEXTAREA - і я можу натиснути p, щоб вставити URL-адресу.


0

Я б запропонував скористатися

map <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>

Тому що якщо ви відкрили зовнішній текстовий редактор, простий Cc у вікні FF закінчить зовнішній редактор, і ви втратите все.

BR

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.