我尝试从 Vim 中保存一些选定的文本(一行的一部分)。这是行:
此测试字符串 - SELECTED_TARGET_WORLD
其中粗体表示选择文本。我这样做:
:'<,'> w! test/selected_text
但在文件中selected_text
我找到了字符串:
THIS TEST STRING - SELECTED_TARGET_WORLD
如何让它只保存行的选定部分?
:[range]w filename
仅适用于线条,所以……您必须将所选文本放在自己的行上。
另一种使用:help :redir
:
:'<,'>"ay
:redir filename
:echo @a
:redir END
我就是这样做的,FYR~
通过“可视模式”选择部分内容后,按 Ctrl-C 触发它
vmap <C-c> y:new ~/.vimbuf<CR>VGp:x<CR>
这种情况没有记录在帮助 ( :h :w
) 中,但:w
只处理行范围(您会在多行的示例中看到这一点)。
要执行您想要的操作,您必须首先将您的选择粘贴到临时缓冲区(或在其自己的行上,然后将其放回原位),然后保存该缓冲区。如果这是您经常要做的事情,那可以很容易地自动化。