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

时间:2014-12-02 13:41:43

标签: vim save

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

例如,原始文件如下:

123Jane
456Amy
Happy new Year 

我想将以下文本保存到新文件中:

123
456

2 个答案:

答案 0 :(得分:1)

没有内置方法,但您可以尝试使用此功能:

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

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

答案 1 :(得分:0)

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

  • 使用<c-v>
  • 逐块选择
  • 通过y
  • 抽取所选文字
  • 通过:e:sp打开文件。例如:sp foo.txt
  • 通过p:put
  • 放置/粘贴注册表
  • 通过:w
  • 保存文件