将选定的文本附加或添加到 Vim 中的文件中
在 Vim 中,有没有办法将选定的文本移动到
中,追加或前置? 如果可能,不应显示备份文件。
我设想的工作流程是:
- 选择一些文本
- 输入
:sbak
- 选择内容保存到
.bak
In Vim, is there a way to move the selected text into <current_file>.bak
, appending or prepending?
If possible, the backup file should not be displayed.
I envision the workflow to be:
- Select some text
- Type
:sbak
- The selection is saved into
<current_file>.bak
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以分三步完成:
: '<,'>w! >>file.bak
将选定的行保存到file.bak
(追加)如果您愿意,您可以编写用户定义的命令
Sbak
:You can do it in three steps:
:'<,'>w! >>file.bak
to save selected lines tofile.bak
(append)You can write a user-defined command
Sbak
if you like:怎么样
:'<,'> ?哇! >>> /YOUR/SELECTIONFILE
:'<,'>d
这就是您想要的吗?如果是这样,请为其设置一个
map
,例如注意,这会附加到
SELECTIONFILE
,并且不仅仅是选择,但整条线。另外,请阅读:h :w
和:h ++opt
(其中您可以了解写入文件的可能选项(例如,您可以使用以下命令附加到文件)不同的编码,这真的会把事情搞乱,所以不要这样做;-)What about
:'<,'> w! >> /YOUR/SELECTIONFILE
:'<,'>d
Is that what you want? If so set up a
map
for it, likeNote this appends to
SELECTIONFILE
, and not only the selection, but the whole lines. Also, read:h :w
and:h ++opt
(in which you can learn about the possible options for writing files (e.g.) you can append to a file with different encoding, which really messes things, so don't do that ;-)您可以使用以下命令将 vim 标记选择的文本写入文件中。
例如,您转到第
:20
行,然后将其标记为ma
,然后转到第 30 行:30
并将其标记mb
然后复制第 20 到 30 行写入文件 filename.dat:'a,'bw filename.dat
.:'a,'bw filename.dat
写入行标记a将b标记到文件filename.dat:'a,'bw! filename.dat
将现有文件 filename.dat 替换为从标记 a 到标记 b 的行:'a,'bw >>> filename.dat
将标记 a 到标记 b 的行追加到文件 filename.dat 中You can write text selected by vim marks into a file using the below commands.
For example you go to line
:20
and then mark itma
and then go to line 30:30
and mark itmb
and then copy lines 20 to 30 to file filename.dat:'a,'b w filename.dat
.:'a,'b w filename.dat
to write lines from mark a to mark b into file filename.dat:'a,'b w! filename.dat
to replace the existing file filename.dat with lines from mark a to mark b:'a,'b w >> filename.dat
to append lines from mark a to mark b into file filename.dat