<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>街のWeb屋さん &#187; VIM</title>
	<atom:link href="http://zx.jpn.org/b/category/vim/feed" rel="self" type="application/rss+xml" />
	<link>http://zx.jpn.org/b</link>
	<description>Living in Japan, a Web Development Consultant</description>
	<lastBuildDate>Mon, 02 Nov 2009 17:34:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>vimで複数ファイルにまたがる特定のパターンを置換する場合のお作法</title>
		<link>http://zx.jpn.org/b/20081025/155/vim/vim-mluti-file-replace</link>
		<comments>http://zx.jpn.org/b/20081025/155/vim/vim-mluti-file-replace#comments</comments>
		<pubDate>Sat, 25 Oct 2008 14:05:51 +0000</pubDate>
		<dc:creator>zxjpnorg</dc:creator>
				<category><![CDATA[VIM]]></category>

		<guid isPermaLink="false">http://zx.jpn.org/b/?p=155</guid>
		<description><![CDATA[grep-edit.el無双
vimの場合だと、、
ファイルが既にバッファに読み込まれているならbufdoでもいいけど、そうでなければ
argsコマンドで対象となるファイルを選び出して、argdoで一気に変換。
これが簡 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://d.hatena.ne.jp/rubikitch/20081025/1224869598">grep-edit.el無双</a></p>
<p>vimの場合だと、、<br />
ファイルが既にバッファに読み込まれているならbufdoでもいいけど、そうでなければ<br />
argsコマンドで対象となるファイルを選び出して、argdoで一気に変換。<br />
これが簡単でよろしい。</p>
<p>で、対象となるファイルの抽出ですが、</p>
<p>例えば、cのソースコードファイルだけを対象にする場合は</p>
<div style="margin:20xp;padding:10px;border:1px solid #b2b2b2;background-color:#f4f4f4;">
:args *.c
</div>
<p>フォルダー内も対象とるする場合は</p>
<div style="margin:20xp;padding:10px;border:1px solid #b2b2b2;background-color:#f4f4f4;">
:args **/*.c
</div>
<p>対象となるファイルを確認するには</p>
<div style="margin:20xp;padding:10px;border:1px solid #b2b2b2;background-color:#f4f4f4;">
:args
</div>
<p>そんでもって変換は</p>
<div style="margin:20xp;padding:10px;border:1px solid #b2b2b2;background-color:#f4f4f4;">
:argdo %s/hoge/fuga/g | update
</div>
<p>これで対象ファイルのすべてのhogeをfugaに変換してくれます。</p>
<p>vimを使い始めてかれこれ8年ほどになるが、これのやり方がよく分からんかった。<br />
秀丸を使っていたのはここだけの話。。。</p>
<p>これ以外でいい方法があったら教えてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://zx.jpn.org/b/20081025/155/vim/vim-mluti-file-replace/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>vimをバッチモードで実行して複数のファイルを一気に編集するの巻</title>
		<link>http://zx.jpn.org/b/20080311/77/vim/how-to-use-vim-batch-mode</link>
		<comments>http://zx.jpn.org/b/20080311/77/vim/how-to-use-vim-batch-mode#comments</comments>
		<pubDate>Mon, 10 Mar 2008 16:38:16 +0000</pubDate>
		<dc:creator>zxjpnorg</dc:creator>
				<category><![CDATA[VIM]]></category>

		<guid isPermaLink="false">http://zx.jpn.org/b/20080311/77/vim/how-to-use-vim-batch-mode</guid>
		<description><![CDATA[全国のvimユーザーの皆さんこんにちは。
今日はvimを使って大量のファイルを一気に編集する方法を学びましょう。
たくさんのファイルを一定の規則に沿って編集する場合、どのようにされてますか？
vim使いの皆さんでしたら、 [...]]]></description>
			<content:encoded><![CDATA[<p>全国のvimユーザーの皆さんこんにちは。<br />
今日はvimを使って大量のファイルを一気に編集する方法を学びましょう。</p>
<p>たくさんのファイルを一定の規則に沿って編集する場合、どのようにされてますか？<br />
vim使いの皆さんでしたら、マクロやbufdoを使ったりしていると思いますが、たくさんファイルがあったりするといちいち開くのも面倒だし、複雑な変更だとマクロを作るのも結構面倒ですよね。</p>
<p>そんなときはvimのバッチモードを使って一気に処理しちゃいましょう。<br />
方法は、「編集コマンドををファイルに記述して-sオプションで読み込ませて実行する！」</p>
<p>では実際にやってみましょう。（注 Windowsを対象に説明しています)</p>
<p>編集したいテキストファイルがworkフォルダーの中に入っているとします。<br />
ファイルの中の&#8221;hoge&#8221;を&#8221;fuga&#8221;に変更します。<br />
用意するスクリプトファイルchange.vimはこんな感じ。</p>
<div style="margin:20xp;padding:10px;border:1px solid #b2b2b2;background-color:#f4f4f4;">
:bufdo %s/hoge/fuga/g<br />
:wa<br />
:quit</p>
</div>
<p>※quitの後ろに改行を忘れずに</p>
<p>コマンドプロンプトからおもむろに、えいっ！と実行</p>
<div style="margin:20xp;padding:10px;border:1px solid #b2b2b2;background-color:#f4f4f4;">
vim -s change.vim work\*.txt</div>
<p>※あらかじめvim.exeにパスを通しといてね</p>
<p>テキストの&#8221;hoge&#8221;が&#8221;fuga&#8221;に変わったと思います。</p>
<p>もう一つこんどは、テキストの最後の行にタイムスタンプを挿入します。<br />
change.vimはこんな感じ。</p>
<div style="margin:20xp;padding:10px;border:1px solid #b2b2b2;background-color:#f4f4f4;">:bufdo exe &#8220;normal Go\&lt;c-r&gt;=strftime(\&#8221;%c\&#8221;)\&lt;cr&gt;\&lt;esc&gt;&#8221;<br />
:wa<br />
:quit</p>
</div>
<p>※quitの後ろに改行を忘れずに</p>
<p>全てのテキストの最終行にタイムスタンプが入りましたか？</p>
<p>それでは皆さんまた会いましょ~う！<br />
Let&#8217;s Enjoy Vim Life!</p>
]]></content:encoded>
			<wfw:commentRss>http://zx.jpn.org/b/20080311/77/vim/how-to-use-vim-batch-mode/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vimを使ってキーワードに一致する行だけを抜き出す</title>
		<link>http://zx.jpn.org/b/20080112/21/vim/howto-picout-line</link>
		<comments>http://zx.jpn.org/b/20080112/21/vim/howto-picout-line#comments</comments>
		<pubDate>Sat, 12 Jan 2008 11:03:20 +0000</pubDate>
		<dc:creator>zxjpnorg</dc:creator>
				<category><![CDATA[VIM]]></category>

		<guid isPermaLink="false">http://zx.jpn.org/b/archives/21</guid>
		<description><![CDATA[899 名前： 名無しさん＠お腹いっぱい。 [sage] 投稿日： 2008/01/09(水) 10:50:07
　　&#62;&#62;898
　　大文字のレジスタ使うのはどう?
　　:g/xxx/d A
　　で削除した行 [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>899 名前： 名無しさん＠お腹いっぱい。 [sage] 投稿日： 2008/01/09(水) 10:50:07<br />
　　&gt;&gt;898<br />
　　大文字のレジスタ使うのはどう?<br />
　　:g/xxx/d A<br />
　　で削除した行がレジスタaに次々と追加される。<br />
　　その後で&#8221;apをお好きなバッファですればいい。</p></blockquote>
<p>地味に便利～（笑）<br />
使用前にレジスタのクリアをお忘れなく。<br />
ノーマルモードで qaq</p>
]]></content:encoded>
			<wfw:commentRss>http://zx.jpn.org/b/20080112/21/vim/howto-picout-line/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
