Перейти к содержимому

Vimperator копия / вставка

23

Я пробую Вимператор . Я главным образом хотел это для прокрутки hjkl, и мне нравится его система подсказок для следующих ссылок. Эти две функции действительно все, что мне нужно; Я думаю.

Я не против других особенностей, это просто иногда мешает мне.

Больше всего меня раздражает копирование / вставка. Я привык к Ctrl+ c/ Ctrl+ v, я не против использовать другой ярлык, но ..

:help yank указывает, что копирование выделенного текста выполняется с помощью Y, но единственный метод, упомянутый для вставки, это средняя кнопка мыши!

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

Как я могу вставить в Vimperator без использования мыши?

14 645 просмотров
hasen спросил 17 лет назад
H 3 126

8 ответов

36

Я удивлен, что не был дан более точный ответ на этот вопрос. Ссылка на плагин выбранного ответа решила проблему ОП, но никто не объяснил, как вставить что-то в текстовое поле без использования режима сквозного просмотра (Cv).

Если вы находитесь в текстовом поле в режиме INSERT и хотите вставить что-то, очевидное, что нужно сделать в vi-land, - это нажать ESC и p, чтобы вставить. В vimperator это не работает - ESC выводит вас из режима INSERT полностью и в режим, в котором вы работаете со страницей / вкладкой в ​​целом.

Vimperator решает эту проблему с помощью дополнительного базового режима - TEXTAREA. В режиме TEXTAREA вы можете использовать поддерживаемые команды, которые вы используете в vi.

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

И т.п.

Похоже, это не очень хорошо задокументировано - в итоге я понял это по большей части по ошибке. Он работает одинаково в многострочных и однострочных текстовых полях.

Спасибо за этот комментарий. Это как раз то, что мне нужно, чтобы обернуть голову вимператором и полями формы.

ZweiBlumen · 14 лет назад · 0

@RevAaron, когда вы входите в режим TEXTAREA, это похоже на традиционную среду VI, и большинство клавиш VI будут работать для редактирования текста? И еще я заметил (снова случайно), когда я нажимаю «d», а затем «s» или «a» в режиме TEXTAREA, он переключает режим в режим «VISUAL». Я был бы признателен, если бы вы могли дать мне некоторую информацию об этом. или даже если вам нравится, я могу задать это как вопрос, тогда вы можете ответить на него, тогда другие воспользуются им.

Mehrad · 12 лет назад · 0
RevAaron ответил 16 лет назад
R 573
15
Принятый ответ

Самое лучшее и простое, что вы можете сделать - это переназначить ключи. Это не трудно. Поместите это в ваш _vimperatorrc (или .vimperatorrc в Linux)

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

<C-v>по умолчанию сопоставлен с режимом «Pass next», что означает, что следующая нажатая клавиша отправляется напрямую в Firefox, без обработки и использования vimperator. Поэтому приведенные выше сопоставления просто активируют режим «Пройти дальше» и отправляют соответствующий ярлык.

Существует даже плагин vimperator, который расширяет это и еще больше перераспределяет все общие ярлыки окон, поэтому они ведут себя как положено.

за (вставить) это должно быть inoremap
hasen · 17 лет назад · 3

принято по ссылке на плагин! это здорово и решает проблему

hasen · 17 лет назад · 0

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

hangtwenty · 12 лет назад · 2

@hangtwenty кажется правильным, ответ здесь уже устарел

Arthur Ulfeldt · 9 лет назад · 0
user4126 ответил 17 лет назад
U 546
13

Прямо сейчас vimperator переназначает и Ctrl + C (из «copy» в «cancel») и Ctrl + V (из «paste» в «pass-through»). В 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 = cancel и ^ V = pass-through. На самом деле, обе эти горячие клавиши уникальны для vimperator и не отображаются в vim. ^ V означает «визуальный блок» в vim, который не применяется в vimperator, так что сквозной доступ можно легко назначить какой-то другой клавише. Я предлагаю использовать обратную косую черту в командном режиме и ctrl + обратную косую черту как в командном режиме, так и в режиме вставки. Это оставляет ^ C. Я думаю, что это должно быть перенесено в ^ S. Это имеет две хорошие мнемоники: это «стоп», и это также горячая клавиша Unix для XOFF, которая бесполезна, но семантически похожа. ^ S в настоящее время «сохранить страницу как» в vimperator, который используется редко и все еще может быть доступен с помощью: save или: saveas.

Отмена также сломана; это был ^ Z, но ^ Z не является сквозным режимом, и нет способа отменить изменения в поле формы без использования мыши. Я не вижу причин не переносить это на другую горячую клавишу, тем более что ^ Z в vim означает приостановку, которая совершенно не связана, и неожиданно оказаться в режиме сквозного прохождения крайне дезориентирует. Я не могу думать о произвольной горячей клавише, чтобы изменить это на, но ^ Z был довольно произвольным, так что подойдет любая неиспользуемая горячая клавиша.

Soruce: http://www.mozdev.org/pipermail/vimperator/2008-October/002359.html

joe ответил 17 лет назад
J 10 145
2

Я не нашел ответы на эти вопросы полезными, так как нигде не вижу Ctrl+ c. Что я делаю, так это использую ярлык SecureCRT. То есть для копирования со страницы:

Ctrl+Ins

Для вставки: Ctrl+ Vдважды (как кто-то говорит в ответах в другом месте).

Спасибо, добрый сэр. картографирование в решил мой специфический вкус этой проблемы.
Steve Vermeulen · 13 лет назад · 0
Peter Mortensen ответил 16 лет назад
P 8 301
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> 
Charlie ответил 15 лет назад
C 21
1

Попробуйте следующее, если вы предпочитаете работать с мышью, а не с vim:

NextPlease для FireFox 3.6 сейчас :)

Alexey Romanov · 16 лет назад · 0
facepalmd ответил 17 лет назад
F 619
1

Для краткого ответа - ^ V ^ V (т.е. Ctrl-V Ctrl-V)

Первый Ctrl-V делает "следующий проход нажатия клавиши". Второй Ctrl-V вставляет текст. Это то, что я делаю для большинства текстовых полей.

Если вы используете режим vi для многострочных текстовых полей (установите noinsertmode), вы также можете вставить с помощью p - поэтому, если я хочу вставить URL-адрес другой вкладки в этот тег, я могу перейти на эту вкладку, использовать y, а затем вернуться к эта вкладка. В нижней строке браузера появится надпись «TEXTAREA», и я могу нажать p, чтобы вставить URL-адрес.

Hamish Downer ответил 17 лет назад
H 2 499
0

I would suggest to use the

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

Because if you have opened a external text editor, a simple C-c at FF window will end the external editor and you will lose everything.

BR

MaikoID ответил 11 лет назад
M 169