<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[find的文件通过管道给vim编辑]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Mon, 27 May 2019 06:30:35 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	find . -name &quot;jack.txt&quot; -exec vim &#123;&#125; &#92;;&nbsp;&nbsp;&nbsp;&nbsp;# 这个没有问题<br/><br/>s &#124;xargs vim<br/>Vim: Warning: Input is not from a terminal&nbsp;&nbsp; #终端卡了，应该是标准输入被截断了。<br/>3 files to edit<br/><br/><br/><br/>失败：<br/>find . -name &quot;jackxiang.txt&quot; &#124;vim -&nbsp;&nbsp;#里面是文件名，不是读取文件。<br/>=======================================<br/><br/>vim 本身没有直接从 stdin 读入信息。而 - 参数相当于一个开关，表示从标准输入读入信息。而管道的功能就是把前一个程序的 stdout 作为下一个程序的 stdin<br/><br/>Many commands use a hyphen (-) in place of a filename as an argument to indicate when the input should come from stdin rather than a file. <br/><br/>man vim<br/>- The file to edit is read from stdin. Commands are read from stderr, which should be a tty.<br/><br/>Cmd &#124; vim -<br/>参考 VIM USER MANUAL 26.4 Using Vim from a shell script<br/>cmd &#124; vim - <br/>- 表示vim开启从stdin读数据&nbsp;&nbsp;#我想作为文件名传入呢？？？<br/>====================================================================================<br/><br/>ls &#124; xargs vim # 同时打开多个文件<br/>:n [file_name] #切换文件<br/><br/><br/><textarea name="code" class="php" rows="15" cols="100">
echo &quot;jack&quot; &gt; jack.tx
mv jack.tx jack.txt
echo &quot;xiang&quot; &gt; xiang.txt
echo &quot;jackxiang&quot; &gt; jackxiang.txt

ls &#124;xargs vim
Vim: Warning: Input is not from a terminal
3 files to edit
相当于：
vim jack.txt xiang.txt jackxiang.txt 
3 files to edit

打开后，输入：
n jackxiang.txt 也就切换到那个文件了。

grep -rl &quot;jackxiang&quot; ./&#124;vim -






</textarea><br/><br/><br/>From：https://www.v2ex.com/t/61163
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] find的文件通过管道给vim编辑]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>