9

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

此测试字符串 - SELECTED_TARGET_WORLD

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

:'<,'> w! test/selected_text

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

THIS TEST STRING - SELECTED_TARGET_WORLD

如何让它只保存行的选定部分?

4

3 回答 3

5

:[range]w filename仅适用于线条,所以……您必须将所选文本放在自己的行上。

另一种使用:help :redir

:'<,'>"ay
:redir filename
:echo @a
:redir END
于 2012-09-05T13:32:40.090 回答
4

我就是这样做的,FYR~

通过“可视模式”选择部分内容后,按 Ctrl-C 触发它

vmap <C-c> y:new ~/.vimbuf<CR>VGp:x<CR>
于 2014-08-16T14:57:42.813 回答
4

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

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

于 2012-09-05T13:34:46.343 回答