我正在尝试毒蛇。我主要想要它用于 hjkl 滚动,并且我喜欢它的“提示”系统用于跟踪链接。我想这两个功能确实是我所需要的。
我不介意其他功能,只是有时会妨碍我。
最让我恼火的是复制/粘贴。我习惯使用Ctrl+ c/ Ctrl+ v,我不介意使用其他快捷方式,但是......
:help yank
表示复制选定的文本是用 Y 完成的,但提到的粘贴的唯一方法是鼠标中键!
这实在太可笑了,违背了 Vim 的精神!
如何在不使用鼠标的情况下在 Vimperator 中进行粘贴?
答案1
你能做的最好和最简单的事情就是重新映射按键。这并不难。将其放入你的 _vimperatorrc(或 Linux 中的 .vimperatorrc)中
noremap <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>
<C-v>
默认映射到“传递下一个”模式,这意味着您按下的下一个键将直接发送到 Firefox,而不会被 vimperator 处理和使用。因此,上述映射只是激活“传递下一个”模式并发送相应的快捷键。
甚至有一个vimperator 插件进一步扩展了此功能并重新映射了所有常见的 Windows 快捷方式,因此它们的行为符合预期。
答案2
我很惊讶这个问题没有更准确的答案。所选答案的插件链接解决了 OP 的问题,但没有人真正解释如何在不使用直通 (Cv) 模式的情况下将某些内容粘贴到文本字段中。
如果您在 INSERT 模式下的文本字段中想要粘贴某些内容,在 vi-land 中,显然要做的事情是按 ESC 和 p 进行粘贴。在 vimperator 中,这不起作用 - ESC 会让您完全退出 INSERT 模式,并进入使用整个页面/选项卡的模式。
Vimperator 通过添加一个额外的 BASIC 模式 TEXTAREA 解决了这个问题。在 TEXTAREA 模式下,您可以使用在 vi 中使用的受支持命令。
Enter TEXTAREA mode: C-t
Paste: p
Copy line: yy
Delete Char: x
Delete Line: dd
ETC。
这似乎没有很好的记录——我最终大部分是错误地弄明白了这一点。它在多行和单行文本框中的工作原理相同。
答案3
目前,vimperator 重新映射了 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=传递热键。事实上,这两个热键都是 vimperator 独有的,在 vim 中没有出现。^V 在 vim 中表示“阻止视觉”,这在 vimperator 中不适用,因此传递可以很容易地分配给其他键。我建议在命令模式下使用反斜杠,在命令和插入模式下使用 ctrl+反斜杠。这样就剩下 ^C 了。我认为应该将其移动到 ^S。它有两个很好的助记符:它是“停止”,它也是 XOFF 的 Unix 热键,虽然没用,但语义相似。^S 目前在 vimperator 中是“将页面另存为”,很少使用,仍然可以通过 :save 或 :saveas 访问。
撤消功能也坏了;以前是 ^Z,但 ^Z 不是直通模式,如果不使用鼠标,就无法撤消表单字段中的编辑。我认为没有理由不将其移至另一个热键,尤其是因为 vim 中的 ^Z 表示暂停,这完全不相关,而且意外发现自己处于直通模式会让人非常困惑。我想不出一个非任意热键来将其更改为,但 ^Z 本来就相当任意,所以任何未使用的热键都可以。
来源:http://www.mozdev.org/pipermail/vimperator/2008-October/002359.html
答案4
我发现给出的答案没什么用,因为我在任何地方都看不到Ctrl+ c。我所做的是使用 SecureCRT 快捷方式。也就是说,从页面复制:
Ctrl+Ins
粘贴: Ctrl+V两次(正如某人在其他地方的答案中所说的那样)。