如何在vim中以列模式(块模式)保存

如何在vim中以列模式(块模式)保存,vim,save,Vim,Save,我想将vim中的一个文件块保存到另一个文件中。我可以通过Ctrl-V进入块模式,然后选择块。但我不知道如何将所选文本保存到另一个文件中 例如,原始文件如下所示: 123Jane 456Amy Happy new Year 我想将以下文本保存到一个新文件中: 123 456 没有内置的方法,但您可以尝试使用此函数: function! Save_visual_text(filename) try let v_save = @v normal! gv"vy let

我想将vim中的一个文件块保存到另一个文件中。我可以通过Ctrl-V进入块模式,然后选择块。但我不知道如何将所选文本保存到另一个文件中

例如,原始文件如下所示:

123Jane
456Amy
Happy new Year 
我想将以下文本保存到一个新文件中:

123
456

没有内置的方法,但您可以尝试使用此函数:

function! Save_visual_text(filename)
  try
    let v_save = @v
    normal! gv"vy
    let txt = @v
    let lines = split(txt, '\n')
    call writefile(lines, a:filename)
  finally
    let @v = v_save
  endtry
endfunction

如果它适用于您,您可以将其包装在命令中,或创建映射等,以便于调用。

显而易见的答案是将块复制并粘贴到另一个文件中

  • 使用
  • 通过
    y
  • 通过
    :e
    :sp
    打开文件。e、 g.
    :sp foo.txt
  • 通过
    p
    :put
    放置/粘贴寄存器
  • 通过
    保存文件:w