<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xml:lang="ja">
	<channel>
		<title>while (&quot;im the true Vim master&quot;);</title>
		<link>http://vim.g.hatena.ne.jp/ka-nacht/</link>
		<description>while (&quot;im the true Vim master&quot;);</description>
		<dc:creator>ka-nacht</dc:creator>


		<item>
			<title>Re: WEB+DB PRESS Vol.53 - basyura’s blog</title>
			<link>http://vim.g.hatena.ne.jp/ka-nacht/20091120/1258668784</link>

			<description><![CDATA[
		<div class="section">
			<blockquote title="basyura’s blog" cite="http://d.hatena.ne.jp/basyura/20091119/p1">
			<p>関係ないけど、vim 特集を連載にして欲しい。</p>
			<cite><a href="http://d.hatena.ne.jp/basyura/20091119/p1" target="_blank"> WEB+DB PRESS Vol.53 - basyura’s blog</a></cite></blockquote>
			<p>技術評論社さんにメールなりアンケート葉書なりで要望を送ってください。その方が編集部の方が企画を通し易くなると思います。</p>
		</div>
]]></description>

			<dc:creator>ka-nacht</dc:creator>

			<pubDate>Thu, 19 Nov 2009 22:13:04 GMT</pubDate>



		</item>

		<item>
			<title>Re: 大人の text-object トレーニングDS - 写経日記</title>
			<link>http://vim.g.hatena.ne.jp/ka-nacht/20091119/1258589690</link>

			<description><![CDATA[
		<div class="section">
			<blockquote title="写経日記" cite="http://d.hatena.ne.jp/bannyan/20091118/1258562849">
			<p>基本的な文法は operator + selector + object となる。</p>
			<cite><a href="http://d.hatena.ne.jp/bannyan/20091118/1258562849" target="_blank"> 大人の text-object トレーニングDS - 写経日記</a></cite></blockquote>
			<p>selectorなどというものは<em>存在しない</em>。Vimが標準で提供しているtext objectsは大まかに「a系」と「i系」に分けられるが、それはたまたまそうなっているだけであって、その枠組みに納まらないものはいくらでも定義できる(例: <a href="http://www.vim.org/scripts/script.php?script_id=2101" target="_blank">textobj-datetime</a> / <a href="http://www.vim.org/scripts/script.php?script_id=2355" target="_blank">textobj-lastpat</a>)。</p>
			<p>基本は「<var>{operator}</var><var>{motion}</var>」であり、text objectはmotionの変化形に過ぎない。</p>
		</div>
]]></description>

			<dc:creator>ka-nacht</dc:creator>

			<pubDate>Thu, 19 Nov 2009 00:14:50 GMT</pubDate>



		</item>

		<item>
			<title>Re: complex repeat - KBDAHOLIC - やぬすさんとこ</title>
			<link>http://vim.g.hatena.ne.jp/ka-nacht/20091118/1258506825</link>

			<description><![CDATA[
		<div class="section">
			<blockquote title="KBDAHOLIC - やぬすさんとこ" cite="http://d.hatena.ne.jp/janus_wel/20091118/1258493279">
			<p>でも毎回 qx と q で recording する必要はなくて、わかるんなら :let @x="Yp^A" ( "^A" は &lt;C-k&gt;&lt;C-a&gt;&lt;C-a&gt; で入力する ) みたいに直接書いちゃってもいいわけだよな。</p>
			<cite><a href="http://d.hatena.ne.jp/janus_wel/20091118/1258493279" target="_blank"> complex repeat - KBDAHOLIC - やぬすさんとこ</a></cite></blockquote>
			<p>普通は<code>&lt;C-v&gt;{char}</code>。</p>
			<p><code>&lt;C-k&gt;{char1}{char2}</code>はdigraphの入力であって、その使い方は本来の用途とは全く違う。<code>&lt;C-a&gt;</code>が入力されているのは偶然にすぎない。</p>
			<p>スクリプトで書くなら普通は:</p>
<pre class="syntax-highlight">
<span class="synStatement">let</span> @<span class="synStatement">x</span> <span class="synStatement">=</span> <span class="synConstant">&quot;Yp\&lt;C-a&gt;&quot;</span>
</pre>

			<blockquote title="KBDAHOLIC - やぬすさんとこ" cite="http://d.hatena.ne.jp/janus_wel/20091118/1258493279">
			<p>てことは最終的に register 消費か mapping 設定を書くかという問題になるわけで、</p>
			<cite><a href="http://d.hatena.ne.jp/janus_wel/20091118/1258493279" target="_blank"> complex repeat - KBDAHOLIC - やぬすさんとこ</a></cite></blockquote>
			<p>そもそもrecordingは対話的に記録/実行するもの。その動作も実行環境に依存するためポータビリティはない。それにrecordingはたまたま記録場所としてregisterを使っているだけであって、registerの用途はrecording以外にもある。filetype pluginなどスクリプト側でセットアップして任意のレジスタを潰すことは通常ありえない。</p>
			<p>ショートカットキーを定義するなら<a href="http://whileimautomaton.net/2008/09/27/02/27/35/diary" target="_blank">&quot;named&quot; key mappingsを定義しておいてユーザーが実際にタイプするkey mappingsは別途定義することが常道</a>。</p>
		</div>
]]></description>

			<dc:creator>ka-nacht</dc:creator>

			<pubDate>Wed, 18 Nov 2009 01:13:45 GMT</pubDate>



		</item>

		<item>
			<title>Re: :q -&gt; :bd に変える - basyura’s blo</title>
			<link>http://vim.g.hatena.ne.jp/ka-nacht/20091116/1258371232</link>

			<description><![CDATA[
		<div class="section">
			<p><a href="http://www.vim.org/scripts/script.php?script_id=2675" target="_blank">altercmd - Alter built-in Ex commands by your own ones : vim online</a>を使いましょう。それ以外だと:</p>
			<blockquote title="basyura’s blog" cite="http://d.hatena.ne.jp/basyura/20091116/p1">
<pre class="syntax-highlight">
<span class="synStatement">cnoreabbrev</span> <span class="synStatement">&lt;</span>expr<span class="synStatement">&gt;</span> <span class="synStatement">q</span>   <span class="synConstant">'bd'</span>
</pre>

			<cite><a href="http://d.hatena.ne.jp/basyura/20091116/p1" target="_blank"> :q → :bd に変える - basyura’s blog</a></cite></blockquote>
			<p>このケースだと&lt;expr&gt;を使う意味がない。普通は:</p>
<pre class="syntax-highlight">
<span class="synStatement">cnoreabbrev</span> <span class="synStatement">q</span>  <span class="synStatement">bd</span>
</pre>

			<blockquote title="basyura’s blog" cite="http://d.hatena.ne.jp/basyura/20091116/p1">
<pre class="syntax-highlight">
<span class="synStatement">cnoreabbrev</span> <span class="synStatement">&lt;</span>expr<span class="synStatement">&gt;</span> <span class="synStatement">wq</span>  <span class="synConstant">'WQ'</span>
<span class="synStatement">command</span>! <span class="synStatement">-</span><span class="synPreProc">nargs</span><span class="synStatement">=?</span> <span class="synStatement">-</span><span class="synPreProc">complete</span><span class="synStatement">=</span><span class="synType">dir</span> <span class="synStatement">-</span><span class="synPreProc">bang</span> WQ  <span class="synStatement">call</span> s:WriteClose(<span class="synConstant">'&lt;bang&gt;'</span>)
<span class="synStatement">function</span>! <span class="synSpecial">s:</span>WriteClose<span class="synStatement">(</span>bang<span class="synStatement">)</span>
  <span class="synStatement">...</span>
</pre>

			<cite><a href="http://d.hatena.ne.jp/basyura/20091116/p1" target="_blank"> :q → :bd に変える - basyura’s blog</a></cite></blockquote>
			<p>これもやるなら:</p>
<pre class="syntax-highlight">
<span class="synStatement">cnoreabbrev</span> <span class="synStatement">wq</span>  <span class="synStatement">write</span> | <span class="synStatement">bdelete</span>
<span class="synStatement">cnoreabbrev</span> <span class="synStatement">wq</span>!  <span class="synStatement">write</span> | <span class="synStatement">bdelete</span>!
</pre>

			<p>ただ根本的に以下の問題がある:</p>
<pre class="syntax-highlight">
:<span class="synStatement">cnoreabbrev</span> <span class="synStatement">x</span>  XXX
:<span class="synConstant">%</span><span class="synStatement">s</span><span class="synSpecial">/</span>w x y/<span class="synStatement">...</span>
<span class="synComment">:&quot; 実際に入力されるもの: %s/w </span><span class="synTodo">XXX</span><span class="synComment"> y/...</span>
</pre>

		</div>
]]></description>

			<dc:creator>ka-nacht</dc:creator>

			<pubDate>Mon, 16 Nov 2009 11:33:52 GMT</pubDate>



		</item>

	</channel>
</rss>
