我正在尝试Vimperator。我主要希望它用于hjkl滚动,并且我喜欢其“提示”系统来跟踪链接。这两个功能确实是我所需要的。我认为。
我不在乎其他功能,只是有时会妨碍我。
最让我烦恼的是复制/粘贴。我习惯Ctrl+ c/ Ctrl+ v,我不介意使用其他快捷方式,但是..
:help yank
表示复制选定的文本是使用Y完成的,但是提到的唯一粘贴方法是鼠标中键!
这太离谱了Vim的精神!
如何在不使用鼠标的情况下粘贴Vimperator?
我正在尝试Vimperator。我主要希望它用于hjkl滚动,并且我喜欢其“提示”系统来跟踪链接。这两个功能确实是我所需要的。我认为。
我不在乎其他功能,只是有时会妨碍我。
最让我烦恼的是复制/粘贴。我习惯Ctrl+ c/ Ctrl+ v,我不介意使用其他快捷方式,但是..
:help yank
表示复制选定的文本是使用Y完成的,但是提到的唯一粘贴方法是鼠标中键!
这太离谱了Vim的精神!
如何在不使用鼠标的情况下粘贴Vimperator?
Answers:
您可以做的最好和最简单的操作是重新映射键。不难 将其放入您的_vimperatorrc(或Linux中的.vimperatorrc)
noremap <C-c> <C-v><C-c>
noremap <C-v> <C-v><C-v>
<C-v>
默认情况下映射到“通过下一个”模式,这意味着您按下的下一个键直接发送到Firefox,而不会被vimperator处理和食用。因此,上面的映射仅激活“通过下一个”模式并发送相应的快捷方式。
甚至还有一个vimperator插件,可进一步扩展此功能并重新映射所有常见的Windows快捷方式,因此它们的行为符合预期。
令我惊讶的是,这个问题没有得到更准确的答案。所选答案的插件链接解决了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
等等。
这似乎没有得到很好的记录-我最终主要是错误地弄清楚了它。它在多行和单行文本框中的作用相同。
现在,vimperator重新映射Ctrl + C(从“复制”到“取消”)和Ctrl + V(从“粘贴”到“传递”)。在Linux上,复制/粘贴的首选方法是使用鼠标中键,因此这不是问题。在Windows上,这是用户界面灾难,非常需要修复。
您可以从三个地方复制:Web页面中的文本,Form字段中的文本和外部应用程序中的文本。您可能将复制到两个位置:到表单字段和外部应用程序中。地址栏和命令栏的工作方式类似于表单字段。
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。它有两个很好的助记符:它是“停止”,它也是XOFF的Unix热键,它没有用,但在语义上相似。^ S当前在vimperator中是“另存为”,它很少使用,仍然可以通过:save或:saveas访问。
撤消也被破坏;它是^ Z,但^ Z不是直通模式,如果不使用鼠标,无法撤消表单字段中的编辑。我认为没有理由不将其移至另一个热键,尤其是因为vim中的^ Z表示挂起,这是完全无关的,并且意外地发现自己处于直通模式非常令人迷惑。我想不出一个非任意的热键来将其更改为,但是^ Z首先是相当随意的,因此任何未使用的热键都可以。
来源:http : //www.mozdev.org/pipermail/vimperator/2008-October/002359.html
我一直在寻找一种实现此目的的方法。好东西。但是,如果joe指出,如果我想粘贴到命令行或文本框中,则user4126的noremap解决方案不是很完美。因此,我在http://charlieharvey.org.uk/page/vimperator_cut_and_paste上使用了inoremap和cnoremap对其进行了调整。看起来好像不支持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>
我找不到给出的答案,因为我在任何地方都看不到Ctrl+ c。我要做的是使用SecureCRT快捷方式。也就是说,要从页面复制:
Ctrl+Ins
对于粘贴: Ctrl+ V两次(就像别人在其他答案中所说的)。