vim -g
Ubuntu 有此功能,复制文件并将其粘贴到文本字段中会将其路径粘贴到文本字段中。很好。但是如何在 Vim(安装后使用启动vim-gtk
)中在插入(用于打开文件)和正常模式下做到这一点:e /file/path
?
我试过了:e
Ctrl-r *,但粘贴的文本是我之前在其他地方复制的。我在 EmacsCtrl-y和 Firefox 的地址栏中尝试过Ctrl-v,它按预期工作。
答案1
您可以使用以下快捷方式:
复制文本:
Ctrl+ Shift+c
粘贴:
Ctrl+ Shift+v
答案2
vim-gtk
你的意思是gvim
?
(因为我尝试vim-gtk
在 14.04 中安装该包,当我vim.gtk
从终端运行时,它没有启动 GVIM 而是启动了 vim)
气相色谱法
要从 GVIM 复制到剪贴板,使用:"+y
(QWERTZ 键盘上的Shift+ )2+y
要从剪贴板粘贴到 GVIM,使用:"+gP
(QWERTZ 键盘上的++ Shift)2+gShiftp
我还没有真正使用过 vim 或 GVIM,但是我的同事正在使用它(在 Windows 上......)。"+似乎特定于可视化命令,并且应该与 vim 特定命令一起使用,例如,yw
等等。y$
10Y
vim 在 Gnome 终端中运行
要从剪贴板粘贴,请使用 + 进入插入模式,然后使用 ++Shift粘贴。i按退出插入模式。CtrlShiftvEsc
Ctrl+ Shift+c和Ctrl+ Shift+v是将文本从 Gnome 终端复制并粘贴到剪贴板的常规命令,但我想您已经知道这一点。
我相信真正的 vim 用户会想出更优雅的解决方案。正如我所说,我只是安装了 GVIM 并浏览了菜单。(我vim
以前试过使用,但总是很懒,所以又回到了nano
。)
答案3
Vim 有两个寄存器用于与 X 文本选择和剪贴板交互。在您的问题中,您提到您尝试了寄存器"*
,但还有另一个寄存器用于从 X 剪贴板提取和放置,即"+
。只要 vim 内置了 X11 支持(该vim-gtk
软件包具有),vim 和 gvim 都会使用这两个寄存器来处理 X 选择和剪贴板缓冲区。"*
如果您想粘贴已用鼠标突出显示的文本,请使用寄存器,并使用"+
粘贴已从另一个程序复制到剪贴板的文本。
在正常模式下从剪贴板粘贴
要在正常模式下将文本从 X 剪贴板粘贴到 vim 缓冲区,请使用"+p
、"+P
、"+gp
或 ,具体"+gP
取决于您希望将文本插入到光标位置之前还是之后,以及希望光标在粘贴后停留在何处。请参阅:help put
在 vim 中。
在插入模式下从剪贴板粘贴
如果您在 vim 缓冲区中处于插入模式并想要粘贴剪贴板的内容,请使用Ctrl+r和+
。这会将剪贴板文本插入光标位置,并让您保持插入模式以继续输入粘贴后的文本。请参阅:help i_CTRL-R
在 vim 中。
在命令模式下从剪贴板粘贴
在命令模式下从剪贴板粘贴(在 后输入命令:
)与在插入模式下完全相同,使用Ctrl+r后跟。因此,参考您在系统的文件浏览器中复制文件名的原始示例,您可以通过启动命令,然后+ ,然后粘贴文件名+
在 vim 中打开该文件。请参阅:e
Ctrlr+
:help c_CTRL-R
在 vim 中。
Vim 有大量寄存器,其中一些是供用户通用的,一些则具有特定功能。有关 Vim 寄存器的更多信息,请参阅:help registers
在 Vim 手册中。有关 X 选择和剪贴板缓冲区之间的区别的更多信息,请参阅:help x11-selection
"*
。和寄存器的具体用途"+
在:help quotestar
和:help quoteplus
。