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 - Fatal编程技术网

Vim 维姆:如何写入另一个文件?我的行被拉长了?

Vim 维姆:如何写入另一个文件?我的行被拉长了?,vim,Vim,例如,我可以用记号做这件事 :'a,'b w! /tmp/myFile 但是什么是被拉扯的线条 谢谢您可以使用:redir(使用registerr): 如果您想追加,可以使用redir>/tmp/myFile(注意:此处没有!,因为“存在时覆盖”没有意义)。很难 您可以在命令模式下调用vim函数。 下面的命令将把拖动的行写入/tmp/myFile :call writefile(split(getreg('"'), '\n'), '/tmp/myFile') 注意:被拖动的行在未命名的寄存器

例如,我可以用记号做这件事

:'a,'b w! /tmp/myFile
但是什么是被拉扯的线条


谢谢

您可以使用
:redir
(使用register
r
):

如果您想追加,可以使用
redir>/tmp/myFile
(注意:此处没有
,因为“存在时覆盖”没有意义)。

很难 您可以在命令模式下调用vim函数。
下面的命令将把拖动的行写入
/tmp/myFile

:call writefile(split(getreg('"'), '\n'), '/tmp/myFile')
注意:被拖动的行在未命名的寄存器中(
,键入
:帮助寄存器以获取帮助)


捷径 为什么不直观地做呢。只有3条人人都能理解的基本命令:

  • :选项卡
    ——打开新选项卡
  • p
    ——粘贴到缓冲区
  • :w/tmp/myFile.txt
    ——保存文件

其他答案使用特殊命令,如
:redir
writefile()
写入新文件。最直接的方法是打开文件的缓冲区。这样,您就可以使用普通的
p
/
:put
。另外,该文件保留在缓冲区列表中,因此以后很容易调用/编辑

:split /tmp/myFile | put! | write | bdelete
或缩短:

:sp /tmp/myFile|pu!|w|bd

你是怎么把他们拽出来的?如果使用范围,为什么不立即将它们写入文件?1/例如,我已经拉了100行(因此,如果我在转义模式下键入“p”,它们将添加到当前文件中)2/我只想键入一个命令(通过底部的“:”创建包含这些行的文件)
:sp /tmp/myFile|pu!|w|bd