从Vim保存所选文本(部分行)

时间:2012-09-05 13:27:50

标签: vim save selection

我尝试从Vim中保存一些选定的文本(部分行)。这是一行:

  

此测试字符串 - SELECTED_TARGET_WORLD

其中粗体表示选择文本。我这样做:

:'<,'> w! test/selected_text

但在文件selected_text中我找到了字符串:

THIS TEST STRING - SELECTED_TARGET_WORLD

如何使其仅保存线的选定部分?

3 个答案:

答案 0 :(得分:5)

:[range]w filename仅适用于行...所以你必须将所选文本放在自己的行上。

使用:help :redir的替代方案:

:'<,'>"ay
:redir filename
:echo @a
:redir END

答案 1 :(得分:4)

帮助(:h :w)中没有记录这种情况,但:w只处理行范围(你会在多行的例子中看到这种情况)。

要执行您想要的操作,您必须先将选择粘贴到临时缓冲区(或在其自己的行上,然后将其放回原位),然后保存该缓冲区。如果你经常这样做,那很容易实现自动化。

答案 2 :(得分:3)

我这样做,FYR~

按“&#34;视觉模式&#34;”选择部分内容后,按Ctrl-C触发

vmap <C-c> y:new ~/.vimbuf<CR>VGp:x<CR>