这里的情景,在VIM,我复制从文件中的字符串(如/home/redhat
),然后使用这个命令:! cd XXX
(我从缓冲区复制的路径,在这种情况下,应该是/home/redhat
)。如何使用系统剪贴板在VIM
我的问题是,我应该使用什么命令来粘贴字符串?
这里的情景,在VIM,我复制从文件中的字符串(如/home/redhat
),然后使用这个命令:! cd XXX
(我从缓冲区复制的路径,在这种情况下,应该是/home/redhat
)。如何使用系统剪贴板在VIM
我的问题是,我应该使用什么命令来粘贴字符串?
经过:
,你在命令行模式。如插入模式,您可以通过按Ctrl + R,后面跟着寄存器名称,在光标位置插入寄存器内容。所以,如果你只是抽取的/home/redhat
,那将是"
为默认寄存器;对于系统剪贴板,请改为使用+
。
在命令行,也可以按Ctrl键 + ˚F切换到命令行窗口,在其中可以以任何其它缓冲器使用所有的Vim命令一样,所以你可以也可以通过正常模式下的通常的p
/P
进行粘贴。
了解如何查看命令并浏览内置的:help
;它是全面的,并提供许多技巧。你不会像其他编辑一样学习Vim,但如果你承诺不断学习,它将证明它是一个非常强大和高效的编辑器。这里提到的命令的帮助主题是:help c_CTRL-R
和:help c_CTRL-F
。
"+y
是从系统剪贴板复制到vim,并且"+p
从系统剪贴板粘贴,您可以将它们映射到正常的密钥绑定。
noremap <C-C> "+y
noremap <C-V> "+p
“请注意,映射<C-V>
从系统剪贴板冲突粘贴与vertical mode
我建议你重新映射vertical mode
到<C-Q>
noremap <C-Q> <C-V>
对于其他映射,您可以检查mswin.vim
如果你不这样做关心系统剪贴板,y
是副本,p
是在正常模式下粘贴。
你不需要的系统剪贴板在所有的你的使用情况:
:!cd <C-r>"
在插入模式和Vim的命令行,<C-r>{register}
插入该寄存器的光标处的内容。既然你猛拉/home/redhat
,无名寄存器的内容,"
(见:help registers
),是/home/redhat
和它插入正确的,你键入<C-r>"
:
:!cd /home/redhat
FWIW,你还可以插入光标所在的文件路径不唬弄并粘贴:
:!cd <C-r><C-f>
谢谢,这个作品 – Daniel
随着:new /path/to/file
你去新的文件。然后将这些信息粘贴到P
(总是超出模式插入)。
感谢您的描述,这是我正在寻找的 – Daniel