Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 猛拉整个文件_Vim_Clipboard_Vi - Fatal编程技术网

Vim 猛拉整个文件

Vim 猛拉整个文件,vim,clipboard,vi,Vim,Clipboard,Vi,我经常在gVim中编写一些东西,然后需要将其复制粘贴到另一个应用程序中 有没有一种简单的方法可以把整个文件拉出来?我通常做这样的事情 ggVG“+y (转到顶部,视觉线条模式,转到底部,猛拉) 但是有没有更好的方法让我错过了呢?ggyG(转到第一行,猛拉到最后一行) 编辑:啊,系统剪贴板。不会完全从手指上滚下来,但是:gg“+yG另一种方法是: ggyG 到顶部,然后猛拉到底部。ggyG (往上拉,往下拉) 我不知道哪种方法更简单。或者简单地在您的中。vimrc: nmap <silen

我经常在gVim中编写一些东西,然后需要将其复制粘贴到另一个应用程序中

有没有一种简单的方法可以把整个文件拉出来?我通常做这样的事情

ggVG“+y

(转到顶部,视觉线条模式,转到底部,猛拉)

但是有没有更好的方法让我错过了呢?

ggyG
(转到第一行,猛拉到最后一行)


编辑:啊,系统剪贴板。不会完全从手指上滚下来,但是:
gg“+yG
另一种方法是:

ggyG
到顶部,然后猛拉到底部。

ggyG

(往上拉,往下拉)


我不知道哪种方法更简单。

或者简单地在您的
中。vimrc

nmap <silent> <F5> ggVG"+y
nmap ggVG“+y

所以你只需使用一个键:)

在Windows上,我通常只需按CTRL-A、CTRL-C将所有内容复制到Windows剪贴板上……再简单不过了

我正在使用网站上的标准gvim 7.1


(顺便说一句:在我的mac电脑上使用MacVim和那个有趣的mac key+A,mac key+C)我使用以下指令:
:%y+
旧vi中的工作解决方案是新文件中的
:r文件名
。我使用以下指令:
:%y
在OSX中:

ggVG
!tee >(pbcopy)
我觉得这比:

ggVG
:w !pbcopy

因为它不会闪烁提示:“
按ENTER键或键入command继续”

它很脏,但您根本不必使用shift键,只需使用3个可能更快的键:

gg1111yy

(假设文件短于1111行)

:%y
如果您使用的是neo-vim(nvim),则不带
+
的文件可以在整个系统上工作


这使我们可以避免将手指伸向
+
-实际上,使此快捷方式优于
ggyG

取决于您执行此操作的频率,只需为此映射一个键并选择性地添加到vimrc即可

:nnoremap <F5> :%y
:nnoremap:%y

:nnoremap:%y
或者,您知道的任何键都是安全且最快的,然后添加到映射源或任何东西。与
ggyG
相比,此操作的优点是不会移动光标(更快),并且为了保持光标位置,您必须添加

人们经常忘记命令是基于会话的,除非在vimrc中。我通常知道什么时候我要做很多事情,但不需要它作为默认值,只需
:[mode]remap

如果需要,我可以关闭并重新打开vim


如果
对您有效,那么您在源代码中使用了mswin.vim,失去了增量
和减量
操作(以及其他操作)的功能。我从windows开始使用,很久以前就停止使用mswin.vim了。我个人认为,最好用正确的方法来使用vim,然后添加您真正需要的拐杖:P

windows gvim添加了一些其他版本中没有的额外快捷方式,以尝试使其更好地适应windows用户。ctrl+a、ctrl+c就是其中的两个例子。Mm,ctrl-c对终端用户有着完全不同的含义。当然,但在windows中,按windows的方式操作:)只是说,gvim和MacVim尊重平台标准的剪贴板快捷方式-使用它们也没什么错…如果你想使用这些快捷方式,不妨根本不使用vim。CTRL-a增加cur下的数字sor.请问+做什么?这是一个与剪贴板相关的寄存器。与OP在问题中使用的寄存器相同。=>
:h:y
:h registers
@VoY:您需要将剪贴板-属性编译到Vim中才能获得此工作的“+剪贴板”。这意味着“在某个窗口管理器中,所有内容都可以拖动到外部剪贴板”“。此属性不是事实上的属性,但它附带了一些显然是事实上的图形VIM,如gVim。如果我错了,请纠正我(当我不得不在Windows gVim中使用yank时才注意到这一点,所以我当然不能完全确定,但我确实相信这是属性)。如果+寄存器在ubuntu 11.04+中不适用于你,请尝试安装gVim(apt get install vim gnome)。这将在vim的终端版本中提供+剪贴板属性,以及我用来执行
gg的操作“+YG
但我从来都不喜欢它,因为我把原来的线路弄丢了。这太完美了!谢谢这对我有用,不是:%y+。但是如何从远程将其粘贴到本地主机上呢?:)所以基本上这个命令会上升到文档的顶部,然后做一些事情,拉到文档的底部?“在这里做什么?@Geoyws
表示您希望使用寄存器
“+
是一个绑定到系统剪贴板的寄存器。
“+yG
将所有内容拖动到该寄存器中,直到文件的底部<代码>:帮助“+…不要在窗口管理器中的不同窗口上。+最后将其拖动到外部剪贴板(显然是op尝试执行的操作)虽然这不是问题的答案,但它是我的答案。谢谢。我需要在文件的开始添加一个零来粘贴它:<代码>:0R文件名。欢迎使用StAdvExcel。编辑器支持,所以请考虑将代码示例(如您所使用的命令)包装在背板中(<代码> <代码> >)或代码块。具有相同的信息和更多的详细信息具有相同的信息和更多的详细信息
:nnoremap <F5> :%y
:nnoremap <leader><whatever> :%y