<?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>howtohp</title>
	<atom:link href="http://howtohp.com/feed" rel="self" type="application/rss+xml" />
	<link>http://howtohp.com</link>
	<description></description>
	<lastBuildDate>Fri, 27 Apr 2012 08:09:39 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>リニューアルしてたらなんとなくWordPressの作業の流れが固まってきた。(下準備編)</title>
		<link>http://howtohp.com/other/wordpress-development-ready.html</link>
		<comments>http://howtohp.com/other/wordpress-development-ready.html#comments</comments>
		<pubDate>Fri, 13 Apr 2012 05:30:29 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=707</guid>
		<description><![CDATA[これでデザインを変えたのは4回目になります。 このブログは2007年にはじめて5年目になるのに、記事数が30にも満たないという、えげつないペースでの更新頻度ですが、裏側は結構いじってます。 リニューアルするにあたって、J [...]]]></description>
			<content:encoded><![CDATA[<p>これでデザインを変えたのは4回目になります。<br />
このブログは2007年にはじめて5年目になるのに、記事数が30にも満たないという、えげつないペースでの更新頻度ですが、裏側は結構いじってます。</p>
<p>リニューアルするにあたって、Jykellを使おうかと思ったんですが、サーバー乗り換えなきゃいけないっぽかったので、今回もWordpressでいきました。</p>
<p>今回の作業で、自分のやり方が固まってきたので、こんな感じで作業してますってのを書いてみます。<br />
もっとこうすればいいのにってのがあれば、突っ込んでもらえると助かります。</p>
<p><span id="more-707"></span></p>
<section>
<h1>まずは下準備</h1>
<ol>
<li>ローカルサーバーの設定</li>
<li>Gitでバージョン管理</li>
<li>ファイル転送用コマンドのエイリアス作成</li>
</ol>
<h2>1.ローカルサーバーの設定</h2>
<p>この辺は前にも書いたことあるので、省略しますが、ローカルのサーバーでWordpressが動くようにしときます。<br />
自分の環境はApache+MySQLの組み合わせです。メールの設定なんかはスルーしてます。</p>
<h2>2.Gitでバージョン管理</h2>
<p>とりあえず、コーディング前の準備としてGitで管理するようにします。<br />
なんかあったとき用ですね。これもローカルだけの管理なので、HDDが死んだらアウトです。</p>
<pre class="brush:bash;gutter:false">
git init
</pre>
<p>次に.gitignoreファイルを作成します。githubにWordpress用の.gitignoreファイルが公開されてるので、それを参考にいらないものを記述します。</p>
<p><a href="https://github.com/github/gitignore/blob/master/Wordpress.gitignore" class="external">github / WordPress.gitignore</a></p>
<h3>.gitignore</h3>
<pre class="brush:plain">
#sass
.sass-cache/

#mac
.DS_Store

#win
Thumbs.db

#dreamweaver
_notes/
dwsync.xml

wp-*.php
xmlrpc.php
wp-admin/
wp-includes/
wp-content/plugins/　#追記
wp-content/uploads/
wp-content/blogs.dir/
wp-content/upgrade/*
wp-content/backup-db/*
wp-content/advanced-cache.php
wp-content/wp-cache-config.php
wp-content/cache/*
wp-content/cache/supercache/*
sitemap.xml
sitemap.xml.gz
readme.html
license.txt
</pre>
<p>ここで、wp-content/plugins/を追記したのは、プラグイン内のファイルでwp-*.phpにマッチしちゃうファイルが結構あって、コンフリクトしちゃうので、めんどくさいからプラグインも無視するようにしました。<br />
本番とテストでプラグインは別々になっちゃいますけど、どうせ設定なんかはそれぞれ管理画面からやらなきゃいけないので、まいっかってことで分けるようにしました。</p>
<p>これを使えば、基本的にはテーマディレクトリ以下のみが無視されないようになります。</p>
<h2>3.ファイル転送用コマンドのエイリアス作成</h2>
<p>ファイルの転送もコマンドでできるようにします。GUIのFTPクライアントは使いません。<br />
いくつか方法はあると思いますが、自分はRsyncコマンドを使います。オプションやら色々設定すると長すぎて毎回入力するのはキツイのでエイリアスを作って簡単に覚えれるようにしときます。</p>
<p>このサイトはさくらのサーバーで運用してるので、下記の様なコマンドを.bashrcに記述しておきます。</p>
<pre class="brush:bash;gutter:false">
alias synchowtohp="rsync -avvrh --update --exclude-from ~/work/howtohp/.gitignore  --delete -e ssh ~/work/howtohp/ ユーザー名@サーバー名.sakura.ne.jp:~/www/"
</pre>
<p>~/work/howtohp/の部分は自分のローカル環境のWordpressのルートディレクトリになります。</p>
<p>&#8211;exclude-fromオプションで、先ほど記述した.gitignoreを利用してるので、.gitignoreに記述してるファイルは無視されます。.gitigrenoreとrsyncでexcludeするファイルの記述ルールは少し違いますが、ここでは、共通して利用できる形で.gitignoreを記述してます。</p>
<p>これで、synchowtohpと打つだけで同期がとれます。このコマンドでは&#8211;deleteのオプションを付けてるので、ローカル環境で削除したファイルは同期のタイミングで本番からも削除されます。</p>
<h3>Rsyncコマンドの参考サイト</h3>
<ul>
<li><a href="http://www.itmedia.co.jp/enterprise/articles/0804/21/news013.html" class="external"> はじめてrsyncを使う方が知っておきたい6つのルール</a></li>
<li><a href="http://x68000.q-e-d.net/~68user/unix/pickup?rsync" class="external">UNIXの部屋 コマンド検索: rsync</a></li>
</ul>
</section>
<p>最後の流れまで全部一気に書こうと思ってたけど、長くなりすぎるので、とりあえず下準備編として今回はこのへんで。</p>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/other/wordpress-development-ready.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS4で追加されるかもしれないテーブル周りの擬似セレクタについて</title>
		<link>http://howtohp.com/css/column-selector-level4.html</link>
		<comments>http://howtohp.com/css/column-selector-level4.html#comments</comments>
		<pubDate>Mon, 13 Feb 2012 08:16:32 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=582</guid>
		<description><![CDATA[CSS3では、:nth-childなんかが追加されて行を特定してマッチさせる事ができるようになったり、:emptyで空の要素を指定できるようになって、かなり便利になったんですが、Level 4ではさらに列をマッチさせるこ [...]]]></description>
			<content:encoded><![CDATA[<p>CSS3では、:nth-childなんかが追加されて行を特定してマッチさせる事ができるようになったり、:emptyで空の要素を指定できるようになって、かなり便利になったんですが、Level 4ではさらに列をマッチさせることができるようになるっぽいです。</p>
<p><span id="more-582"></span></p>
<p>追加されるのはGrid-Structural Selectors(表構造セレクターと訳せばいいのかな？)で以下の三つ。</p>
<ul>
<li><a href="#column"><code>:column(selector-list)</code></a></li>
<li><a href="#nth-column"><code>:nth-column(an+b)</code></a></li>
<li><a href="#nth-last-column"><code>:nth-last-column(an+b)</code></a></li>
</ul>
<section id="column">
<h1>:column(selector-list)</h1>
<p>これは引数で指定されたセルエレメントにマッチします。</p>
<h2>サンプル</h2>
<h3>HTML</h3>
<pre class="brush:html">
&lt;table&gt;
   &lt;col span="2" /&gt;
   &lt;col class="selected" /&gt;
   &lt;tr&gt;
       &lt;td&gt;A&lt;/td&gt;
       &lt;td&gt;B&lt;/td&gt;
       &lt;td&gt;C&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td span="2"&gt;D&lt;/td&gt;
       &lt;td&gt;E&lt;/td&gt;
   &lt;/tr&gt;
   &lt;tr&gt;
       &lt;td&gt;F&lt;/td&gt;
       &lt;td span="2"&gt;G&lt;/td&gt;
   &lt;/tr&gt;
&lt;/table&gt;
</pre>
<h3>CSS</h3>
<pre class="brush:css">
:column(col.selected) {
    background: #bada55;
}
</pre>
<p>この場合、CとEとGにスタイルが適用されます。</p>
<p>ここで、<code>display:table;</code>とされてるものや、まだWorking Draftの段階のgrid-layoutでの列はマッチするのかという疑問がでてきたので、Working Draftを見てみると下記のように書いてました。</p>
<blockquote>
<p>The :column(selector-list) pseudo-class notation represents a cell element belonging to a column that is represented by the element selected by its argument. </p>
<p><strong>Column membership is determined based on the semantics of the document language only: whether and how the elements are presented is not considered.</strong> If a cell element belongs to more than one column, it is represented by a selector indicating any of those columns.</p>
</blockquote>
<p><cite>引用:<a href="http://www.w3.org/TR/selectors4/#column-pseudo" class="exlink">Selector Level 4 &#8211; ‘:column()’ pseudo-class</a></cite></p>
<p>ざっくり下線部分を訳してみると、<strong>列の集合は、ドキュメント言語のセマンティックスのみに基づいて決定されます。要素がどのように表示されているかは考慮されません。</strong></p>
<p>翻訳は得意ではないけど、大体こんな感じの意味になるかと思います。</p>
<p>つまりgrid-layoutや、display:tableとかで表っぽく見せても、見た目だけの話だから考慮しませんと捉えれるんじゃないでしょーか。間違ってたらごめんなさい。</p>
<p>実際、CSSで指定されたカラムとマッチさせるにはブラウザー側で、２回CSSを処理しないといけなくなるので、現実的にはなさそうですよね。たぶんそんなのはダメ的なのがCSS 2.1で言われてたきがします。</p>
</section>
<section id="nth-column">
<h1>:nth-column(an+b)</h1>
<p>これは、:nth-child()と同じ引数を受けつけます。evenやoddも使えます。縦ストライプとか、１列目から4列目までとかそういうのが簡単にできます。</p>
</p>
</section>
<section id="nth-last-column">
<h1>:nth-last-column(an+b)</h1>
<p>これも、:nth-last-childと同じ引数を受けつけます。これを使えばカレンダーの週末の列だけとか、インボイスの小計の列などがサクっと選択できます。</p>
<h2>サンプル</h2>
<p>めんどくさいのでHTMLは省略します。</p>
<h3>CSS</h3>
<pre class="brush:css">
:nth-last-column(-n+2) {
    background: red;
    color: white;
}
</pre>
<p>こんな感じで後ろから２列が簡単に選択できます。子要素を選択する:nth-childなどと違って列を選択するので、少し毛色は違いますけど、使い方はほぼ同じなので、導入しやすい方じゃないでしょうか。</p>
</section>
<section>
<h1>最後に</h1>
<p>まだWorkingDraftの段階なので、将来的に名称が変わったり、削除される可能性もありますけど、これに関しては結構そのままいきそうな気がします。</p>
<p>メーリングリストなんか読んでみると正規表現でのセレクターの話題が出てたり、Chromeの開発者の一人であり、CSS WGのメンバーのTab Atkins Jrさんなんかは、自身のブログでCSSでの変数や、Mixinの仕様を個人的なドラフトとしてブログに書いてたり、CSSはどんどん進化してますね。</p>
<p>実は昔、一度だけW3CのTPACという年に一度の会議に出たことがあるんですが、CSS WGの席で、CSSを良くする事とは、出来る事を増やすという意見で満場一致だったので、今後どんどんプロパティや、機能が増えて複雑化していくことは間違いないようです。</p>
<p>その時、あんまり複雑化するとパフォーマンスはどうするんだ？というような話が出たのですが、誰が言ったのかは覚えてないですが、&#8221;そんなもん、開発者の言い訳だ&#8221;みたいな一言でバッサリ斬られてたのが印象的でした。</p>
<h3>参考サイト</h3>
<ul>
<li><a href="http://www.w3.org/TR/selectors4/#table-pseudos" class="external">W3C &#8211; Selector Level 4</a></li>
<li><a href="http://lists.w3.org/Archives/Public/www-style/2011Jul/0264.html" class="external">メーリングリストでの正規表現でのセレクターのスレ</a>(おまけ)</li>
<li><a href="http://www.xanthir.com/blog/b4AD0" class="external">Tab Atkins Jrさんの個人的な変数のドラフト</a>(おまけ)</li>
</ul>
</section>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/css/column-selector-level4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chrome使いなら覚えといた方がいい、デベロッパーツールのTips (CSS)</title>
		<link>http://howtohp.com/tools/chrome-developer-tools.html</link>
		<comments>http://howtohp.com/tools/chrome-developer-tools.html#comments</comments>
		<pubDate>Wed, 08 Feb 2012 12:57:31 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=531</guid>
		<description><![CDATA[まだまだ、開発環境はFirefox + Firebug最強だろ常識的に考えてって言う人も多いかと思いますが、自分は、Chrome出た頃からのユーザーなんですが、意外とChromeのDeveloper Toolsも使える事 [...]]]></description>
			<content:encoded><![CDATA[<p>まだまだ、開発環境はFirefox + Firebug最強だろ常識的に考えてって言う人も多いかと思いますが、自分は、Chrome出た頃からのユーザーなんですが、意外とChromeのDeveloper Toolsも使える事を知られてないようなので、ちょっと紹介します。</p>
<p><span id="more-531"></span></p>
<p>色んな機能がありすぎて、一度じゃ紹介しきれないので、今回はCSSに関する事に特化してご紹介。</p>
<h2>目次</h2>
<ol>
<li><a href="#enlarge-font-size">フォントサイズを大きくする</a></li>
<li><a href="#edit-css">CSSを編集する</a></li>
<li><a href="#revert-revision">編集したCSSのバージョンを戻す</a></li>
<li><a href="#save-as">ファイルを保存</a></li>
<li><a href="#compare-to-firebug">FirebugとDeveloper Toolsどっちを使うべき？</a></li>
</ol>
<section id="enlarge-font-size">
<h1>1.フォントサイズを大きくする</h1>
<p>デベロッパーツールのフォントサイズがちゃいちーで見えねーよって人は、ユーザースタイルシートで変更する事ができます。</p>
<p>ファイルの場所は以下で、ファイルを保存するとオンザフライで反映されます。</p>
<ul>
<li>Win: C:\Users\<user>\AppData\Local\Google\Chrome\User Data\Default\User StyleSheets</user></li>
<li>Mac: ~/Library/Application Support/Google/Chrome/Default/User Stylesheets</li>
</ul>
<p>上記の場所にCustom.cssというファイルを作成し、以下のCSSでフォントサイズなどを変更することができます。</p>
<pre class="brush:css">
body.platform-mac .monospace, body.platform-mac .source-code {
    font-family: Monaco, monospace;
}
body.platform-mac.platform-mac-snowleopard .monospace,
body.platform-mac.platform-mac-snowleopard .source-code {
    font-size: 14px !important;
    line-height: 1.2;
    font-family: Menlo, monospace;
}

body.platform-windows .monospace, body.platform-windows .source-code {
    font-size: 14px !important;
    line-height: 1.2;
    font-family: Consolas, Lucida Console, monospace;
}
</pre>
<p>見ての通り、プラットフォーム毎にセレクターが違いますので、環境に合わせて使ってください。</p>
<figure class="bordered">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/02/Screen-Shot-2012-02-07-at-1.48.25-AM-560x508.png" /></p>
<figcaption>Chrome Developer Tools スクリーンショット</figcaption>
</figure>
<p>フォントサイズをある程度大きくすると、こんな感じでコンソール部分のテキストの行間が詰まって重なってしまうので、注意してください。コンソール部分にはline-heightが効かないっぽいです。</p>
<p>デベロッパーツールから直接変更する方法もあると思うんですが、調べてもわからなかったので、知ってる人いたら教えてください。</p>
</section>
<section id="edit-css">
<h1>2.CSSを編集する</h1>
<figure class="bordered">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/02/Screen-Shot-2012-02-08-at-9.29-560x433.png" alt="" title="Screen-Shot-2012-02-08-at-9.29" width="560" height="433" class="aligncenter size-large wp-image-568" /></p>
<figcaption>Chrome &#8211; Edit CSS</figcaption>
</figure>
<p>ここではふつーに編集できます。Firebugだとプロパティ毎の編集だったと思うんですが、Chromeでは普通のエディタみたいにスペースや、改行も自由です。</p>
<p>ここでも編集がリアルタイムに反映されるので、レイアウトとかいじってると書いてる途中は崩れちゃうので、要注意。<br />
慣れればリロードもいらないので、かなり便利。</p>
</section>
<section id="revert-revision">
<h1>3.編集したCSSのバージョンを戻す</h1>
<figure class="bordered">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/02/Screen-Shot-2012-02-08-at-10.38-560x384.png" width="560" height="384" class="aligncenter size-large wp-image-559" /></p>
<figcaption>Chrome &#8211; Revert to selected revision</figcaption>
</figure>
<p>ファイルを保存すると、そのたびに、バージョンファイルが作成されます。</p>
<p>特定のバージョンに戻したい場合は、選択して右クリックするとリビジョンを戻すメニューがでてくるので、クリックするだけ。</p>
</section>
<section id="save-as">
<h1>4.ファイルとして保存する</h1>
<figure class="bordered">
<img src="/wp/wp-content/uploads/2012/02/chrome-save-as-560x523.png" width="560" height="523" class="aligncenter size-large wp-image-547" /></p>
<figcaption>Chrome &#8211; Save As&#8230;</figcaption>
</figure>
<p>編集したら、保存したいですよね。いちいちコピーしてペーストとかめんどいですし。右クリックするとファイルとして保存するメニューがでてきます。</p>
</section>
<section id="compare-to-firebug">
<h1>5.FirebugとDeveloper Toolsどっちを使うべき？</h1>
<p>どっちでもええがな</p>
</section>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/tools/chrome-developer-tools.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS3で追加されたHSLカラーについて</title>
		<link>http://howtohp.com/css/hsl-color.html</link>
		<comments>http://howtohp.com/css/hsl-color.html#comments</comments>
		<pubDate>Thu, 02 Feb 2012 14:31:06 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=444</guid>
		<description><![CDATA[CSS3では16進数で表現するRGBよりも直感的な数値を指定できるHSLカラーが追加されました。 もう勧告になってるので、使い方を覚えておくためにちょっと調べてみました。 HSL色空間とはなんぞや Wikipediaで調 [...]]]></description>
			<content:encoded><![CDATA[<p>CSS3では16進数で表現するRGBよりも直感的な数値を指定できるHSLカラーが追加されました。</p>
<p>もう勧告になってるので、使い方を覚えておくためにちょっと調べてみました。</p>
<p><span id="more-444"></span></p>
<section>
<h1>HSL色空間とはなんぞや</h1>
<p>Wikipediaで調べてみた所、こんな感じで書いてました。</p>
<blockquote cite="http://ja.wikipedia.org/wiki/HLS%E8%89%B2%E7%A9%BA%E9%96%93"><p>
HLS色空間（エイチエルエスいろくうかん）とは、色相（Hue）、彩度（Saturation）、輝度（Lightness/Luminance または Intensity）の3つの成分からなる色空間。HSV色空間によく似ている。 HSL、HSIと呼ばれることもある。</p>
<p>HLSのカラーモデル<br />
色相：色味を0～360度の範囲の角度で表す。0度は赤で、その反対側に位置する180度は赤の反対色にあたる青緑。すなわち、反対色を見つけるのも容易。色相についてはHSVと同じ。<br />
彩度：HSVとは違い、純色から彩度が落ちるということは、すなわち灰色になっていくという考え方に基づいている。<br />
輝度：明度100%を純色とし、そこからどれだけ明るさが失われるかを示すHSVとは違い、輝度0%を黒、100%を白とし、その中間（50%）を純色とする。50%以下はHSVの明度を示し、50%以上はHSVの彩度を示すと考えると分かりやすいだろう。<br />
HLS色空間を使う代表的なアプリケーションとしては Microsoft Windows （ペイントを含む）、CSS3、Paint Shop Pro など。
</p></blockquote>
<p><cite>引用:<a href="http://ja.wikipedia.org/wiki/HLS%E8%89%B2%E7%A9%BA%E9%96%93">HLS色空間 &#8211; Wikipedia</a></cite></p>
<p>つまり、色相を角度、彩度、輝度を%で指定する。そっから色相の値を替えずに、彩度と輝度をいじっていけば、同じ色合いの色を直感的に指定できますね。</p>
</section>
<section>
<h1>CSS3でのHSL(A)カラー指定方法</h1>
<pre class="brush:css">
/* Green */
.hoge {
    color: hsl(120, 50%, 50%);
}
/* アルファを加えたもの */
.huga {
    color: hsla(120, 50% 50%,.3);
}
</pre>
</section>
<figure class="bordered">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/02/hue.png" alt="色相環イメージ" width="400" height="400" /></p>
<figcaption>色相環イメージ</figcaption>
</figure>
<p>こんな感じで、赤から段々色がかわって、一周してまた赤に戻るイメージです。</p>
<p>Photoshopのカラーピッカーではこんな感じになってます。</p>
<figure class="bordered">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/02/photoshop-colorpicker-560x410.png" alt="Photoshop Colorpicker" width="560" height="410" /></p>
<figcaption>Photshop Colorpicker</figcaption>
</figure>
<p>縦に並んで無いので要注意ですね。</p>
<section>
<h1>画像にフィルターをかけてみる</h1>
<h2>HTML</h2>
<pre class="brush:html">
&lt;figure class="sample"&gt;
    &lt;img src="dog.png" alt="実家の犬" /&gt;
&lt;figure&gt;
</pre>
<h2>CSS</h2>
<pre class="brush:css">
.sample {
    position:relative;
    display:inline-block;
}

.sample:before {
    content: '';
    display:block;
    position:absolute;
    width:100%;
    height:100%;
    background: hsla(270,100%,50%,0.1);
    /* SASS(Compass)を使ってるとコンパイル時にRGBAに変換されます */
    background: rgba(127, 0, 255, 0.1);
}
</pre>
<style>
.dog-filter {
    position:relative !important;
    display:inline-block !important;
    padding:0 !important;
    margin-left:30px;
}
.dog-filter .figcaption {
    background:#fff;
    padding-bottom:0;
}
.dog-filter:before {
    content: '';
    display:block;
    position:absolute;
    width:100%;
    height:100%;
    background: rgba(127, 0, 255, 0.1);
}
</style>
<h2>結果</h2>
<div class="clearfix">
<div style="float:left">
<p style="font-family:serif;text-align:right;margin-bottom:0;font-style:italic;">Before</p>
<figure style="padding:0;">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/02/mydog-200x300.png" alt="実家の犬" width="200" height="300" /><br />
</figure>
</div>
<div style="float:left"">
<p style="font-family:serif;text-align:right;margin-bottom:0;font-style:italic;">After</p>
<figure class="dog-filter">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/02/mydog-200x300.png" alt="実家の犬" width="200" height="300" /><br />
</figure>
</div>
</div>
<p>ブラウザのサポートはFirefox 3.0+, Safari 3+, Chrome 6+, Opera 10+, IE9となってます。</p>
<p>最近はSASSやらLESSやらが流行ってるから、変換してくれる機能使ってHSLからRGBに出力する事にしといて、HSLに慣れとく方がいいかもしれません。</p>
<h3>参考サイト</h3>
<ul>
<li>公式: <a href="http://www.w3.org/TR/2011/REC-css3-color-20110607/" class="external">CSS Color Module Level 3 &#8211; W3C</a></li>
<li>日本語訳: <a href="http://standards.mitsue.co.jp/resources/w3c/TR/css3-color/" class="external">CSS カラーモジュール Level 3</a></li>
<li>SASS : <a href="http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html#hsl-instance_method" class="external"> Module: Sass::Script::Functions</a></li>
</ul>
</section>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/css/hsl-color.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTMLを送ると対応したCSSを返してくれるbear CSS</title>
		<link>http://howtohp.com/web-site/convert-htmltocss-bear_css.html</link>
		<comments>http://howtohp.com/web-site/convert-htmltocss-bear_css.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 11:19:18 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[Web Site]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=428</guid>
		<description><![CDATA[これは、いままでなかった新しいサービスなんじゃないでしょうか。HTMLファイルを送ると、IDやClassを書いたCSSファイルを用意してくれるウェブサービスです。 bear css 試しに、適当に書いたHTMLを送ってみ [...]]]></description>
			<content:encoded><![CDATA[<p>これは、いままでなかった新しいサービスなんじゃないでしょうか。HTMLファイルを送ると、IDやClassを書いたCSSファイルを用意してくれるウェブサービスです。</p>
<p><span id="more-428"></span></p>
<p><a href="http://bearcss.com/">bear css</a></p>
<p>試しに、適当に書いたHTMLを送ってみました。</p>
<h2>HTMLファイル</h2>
<pre class="brush:html">

&lt;div id="header-container"&gt;
    &lt;div id="header"&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div id="main-container"&gt;
    &lt;div id="main"&gt;
        &lt;div id="contents"&gt;
        &lt;/div&gt;
        &lt;div id="sidebar"&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div id="footer-container"&gt;
    &lt;footer id="footer"&gt;
    &lt;/footer&gt;
&lt;/div&gt;
</pre>
<h2>CSS ファイル</h2>
<pre class="brush:css">

html { 

 } 

body { 

 } 

/*******************************************************************
LAYOUT
*******************************************************************/

div { 

 } 

#header-container { 

 } 

#header { 

 } 

#main-container { 

 } 

#main { 

 } 

#contents { 

 } 

#sidebar { 

 } 

#footer-container { 

 } 

footer { 

 } 

#footer { 

 }
</pre>
<p>うーん。フッターだけ変な感じになっちゃってますね。<br />
初期セットとしては必要ないかもしれませんが、HTMLをいじらずにCSSだけで新しくしなきゃいけない状況とかがあったら、便利なのかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/web-site/convert-htmltocss-bear_css.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vimのキーストロークの少なさを競うVimGolf</title>
		<link>http://howtohp.com/web-site/vimgolf.html</link>
		<comments>http://howtohp.com/web-site/vimgolf.html#comments</comments>
		<pubDate>Mon, 30 Jan 2012 14:03:57 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[Web Site]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=409</guid>
		<description><![CDATA[まぁタイトルが全てなんですが、Vimが好きでたまらない人や、Vim教信者として自分の地位を証明したい人なんかにはうってつけなんじゃないでしょうか。 自分みたいに最近Vimはじめましたって人でもVimのポテンシャルを知るに [...]]]></description>
			<content:encoded><![CDATA[<p>まぁタイトルが全てなんですが、Vimが好きでたまらない人や、Vim教信者として自分の地位を証明したい人なんかにはうってつけなんじゃないでしょうか。</p>
<p>自分みたいに最近Vimはじめましたって人でもVimのポテンシャルを知るにはすごく参考になるかと思います。</p>
<p><span id="more-409"></span></p>
<p>ただ、完全に初心者で、正規表現も触ったことないって人は逆に嫌悪感を抱かせる可能性もありますので、そういう方はとりあえず１週間、全てのテキストファイルの編集を辛くてもVimだけで編集する事おすすめします。苦しみは初めにまとめて味わって置いた方がいいかと思います。</p>
<p>VimGolf<br />
<a href="http://vimgolf.com/" class="external">http://vimgolf.com/</a></p>
<figure class="bordered">
<img src="http://howtohp.com/wp/wp-content/uploads/2012/01/vimgolf-ss-560x420.png" alt="" title="vimgolf-ss" width="560" height="420" class="aligncenter size-large wp-image-415" /></p>
<figcaption>VimGolf</figcaption>
</figure>
<p>ランキングされてる人たちのスコアを見ると圧倒されてしまいますが、試しに参加してみるのもいいんじゃないでしょうか。</p>
<h2>参加方法</h2>
<p>とりあえず、サイトの右上にあるSign in with TwitterのリンクをクリックしてTwitterアカウントでサインインします。</p>
<p>サインインすると画面右上のところに、VimGolf Keyが表示されるので、コピーしときます。<br />
そしてVimGolfをgemで取得します。</p>
<pre class="brush:bash;gutter:false">
gem install vimgolf
vimgolf setup
#ここでAPI Keyを尋ねられるので入力
</pre>
<p>プレイするにはトップページにチャレンジのリストがあるので、チャレンジしてみたいページに行くと右上のところにvimgolf put xxxxxxxxxxxxxxxみたいな感じでプレイするためのコマンドとチャレンジIDが表示されるので、そのままそれをコピーして実行するとチャレンジ開始されます。</p>
<h2>CSS to Sassをチャレンジしてみる</h2>
<p><a href="http://vimgolf.com/challenges/4d5110077667ad04c4000018">VimGolf: CSS to Sass</a></p>
<pre class="brush:bash;gutter:false">
vimgolf put 4d5110077667ad04c4000018
</pre>
<p>チャレンジが完了して、保存して終了するとスコアが付けられ、VimGolfのサイトにアップロードするかどうか聞かれるので、yesとタイプすれば送信されます。</p>
<p>VimGolfの競技ではvimrcの設定はVimGolfで設定されているものになるので、オリジナルキーバインドなんかは使えないので要注意です。</p>
<h2>VimGolfで使用されるvimrc</h2>
<p><script src="https://gist.github.com/759425.js?file=vimgolf.vimrc"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/web-site/vimgolf.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5のplaceholder属性で、表示される文字色を変更する方法</title>
		<link>http://howtohp.com/css/html5-placeholder-style.html</link>
		<comments>http://howtohp.com/css/html5-placeholder-style.html#comments</comments>
		<pubDate>Sun, 29 Jan 2012 10:38:14 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=387</guid>
		<description><![CDATA[デザインをそろそろ変えようと思って、リニューアル作業をしてたらつまづいてしまったので、メモ。 input要素のplaceholderにスタイルを適用させる /*for Webkit*/ input::-webkit-in [...]]]></description>
			<content:encoded><![CDATA[<p>デザインをそろそろ変えようと思って、リニューアル作業をしてたらつまづいてしまったので、メモ。</p>
<p><span id="more-387"></span></p>
<section>
<h1>input要素のplaceholderにスタイルを適用させる</h1>
<pre class="brush:css">
/*for Webkit*/
input::-webkit-input-placeholder {
    color:    #999;
}

/*for Firefox*/
input:-moz-placeholder {
    color:    #999;
}
</pre>
</section>
<section>
<h1>inputとtextarea両方に適用させる</h1>
<pre class="brush:css">
::-webkit-input-placeholder {
    color:    #999;
}
:-moz-placeholder {
    color:    #999;
}
</pre>
<p>今のとこWebkitとFirefoxしかプレイスホルダーのスタイリングに対応していないようです。</p>
</section>
<section>
<h1>Mixin</h1>
<p>text-shadowとかも効くんですが、とりあえず色だけかえるためのSCSSでmixinにしてみるとこんなかんじになります。</p>
<pre class="brush:scss">
@mixin placeholder-color($color) {
     &#038;:-moz-placeholder {
         color:$color;
     }
     &#038;::-webkit-input-placeholder {
         color:$color;
     }
 }

//使い方
input {
    @include placeholder-color(#aaa);
}
textarea {
    @include placeholder-color(#ccc);
}
</pre>
</section>
<p>HTML5、CSS3の対応がちょっとずつされてきて、互換性の問題がだんだんひどくなってきましたね。</p>
<p>去年の2011年6月にCSS2.1がやっとRecommendationになった所だから、モジュール化されて、モジュール毎の勧告となった今でも、Color、NamespaceとSelectorしか勧告に至ってないんですよね。いつまでかかるやら。</p>
<p>逆に、Selectorがもう勧告になっちゃってるから、placeholder用のセレクターはLevel 4までまたないといけないって事ですね。</p>
<p>ソース:現状のステータスが一覧で見れるページ<br />
<a href="http://www.w3.org/Style/CSS/current-work.en.html">http://www.w3.org/Style/CSS/current-work.en.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/css/html5-placeholder-style.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compassで本番用と開発用で設定を振り分けてみる。</title>
		<link>http://howtohp.com/css/compass-environment_setting.html</link>
		<comments>http://howtohp.com/css/compass-environment_setting.html#comments</comments>
		<pubDate>Thu, 19 Jan 2012 12:17:36 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Compass]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=358</guid>
		<description><![CDATA[何故か、去年の9月に書いた前回のCompassについての記事が最近になって、やたらはてブやらTweetやらされてて焦ってます。このタイミングでなんか書かないとと思ったので、この流れに乗って、Compassの設定について。 [...]]]></description>
			<content:encoded><![CDATA[<p>何故か、去年の9月に書いた前回のCompassについての記事が最近になって、やたらはてブやらTweetやらされてて焦ってます。このタイミングでなんか書かないとと思ったので、この流れに乗って、Compassの設定について。</p>
<p><span id="more-358"></span></p>
<section id="introduction">
<p>今回は設定なので、導入方法なんかは、<a href="http://howtohp.com/css/compass.html" title="CSS書くならcompass使った方がいいよ。SASS使ってる人なら特に。">前回の記事</a>を参考にしてみてください。</p>
</section>
<section id="setting">
<p>設定を変更するには<strong>config.rb</strong>ファイルを編集します。<br />
今回振り分けるのはoutput_styleとline_commentsの2箇所で、下記の2行を追加するだけです。</p>
<pre class="brush:ruby;">
#圧縮するかどうかの設定(:nested, :expanded, :compact, or :compressed)
output_style = (environment == :production) ? :compressed : :expanded

#SASS内の行番号の出力(true or false)
line_comments = (environment == :production) ? :false : :true
</pre>
<p>config.rbはrubyですので、environmentを三項演算子で条件分岐してます。<br />
コロンが連続して続くけど、全く意味が違うってのがなんか変な感じを受けてしまいます。</p>
<p>で、config.rbの設定、もしくはコマンドのオプションで切り替えます。</p>
<h1>config.rbの設定</h1>
<pre class="brush:ruby">
#何も書かなければデフォルトは:development
environment = :development
</pre>
<h1>コマンドオプション</h1>
<pre class="brush:bash;gutter:false">
compass watch -e production
</pre>
<p>一つ注意しなければいけないのが、ファイルの変更が全くない状態で、productionとdevelopmentを切り替えても、ファイルが生成されません。</p>
<p>前回書いてなかったけど、compass watchの引数に監視するファイルパスを指定しなければ、sass_dirで設定したパスの中身のファイルを全部監視します。</p>
<p>1つのファイルだけ指定してても、そのファイルがインポートしてるファイルも監視してくれるので、そこら辺がSASSと違うところかな。</p>
</section>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/css/compass-environment_setting.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS書くならCompass使った方がいいよ。SASS使ってる人なら特に。</title>
		<link>http://howtohp.com/css/compass.html</link>
		<comments>http://howtohp.com/css/compass.html#comments</comments>
		<pubDate>Mon, 19 Sep 2011 03:41:29 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Compass]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=329</guid>
		<description><![CDATA[以前書いた、CSSのベンダープレフィックスをいい感じに追加してくれるPrefixrが便利そう。でSASSにベンダープレフィックスを自動で追加してくれる機能あればいいのにって言ってたんですが、Compassにありました。ク [...]]]></description>
			<content:encoded><![CDATA[<p>以前書いた、<a href="http://howtohp.com/web-site/css-prefix.html" title="CSSのベンダープレフィックスをいい感じに追加してくれるPrefixrが便利そう。">CSSのベンダープレフィックスをいい感じに追加してくれるPrefixrが便利そう。</a>でSASSにベンダープレフィックスを自動で追加してくれる機能あればいいのにって言ってたんですが、Compassにありました。クソ便利。<br />
<br />正確に言うと、CompassにはSASSのmixinとしてひと通り用意されてるってことです。</p>
<p><span id="more-329"></span></p>
<p>Compass公式サイト<br />
<a href="http://compass-style.org/" class="external">http://compass-style.org/</a></p>
<ol>
<li><a href="#compass_install">インストール</a></li>
<li><a href="#compass_default">初期設定</a></li>
<li><a href="#compass_import">Compassの機能をインポート</a></li>
<li><a href="#compass_generate">SASSファイルからCSSファイルを生成</a></li>
<li><a href="#compass_usage">Compassを使って書いてみる。</a></li>
</ol>
<section id="compass_install">
<h1>1.Compassをインストール</h1>
<p>Compassをインストールするには、SASS同様、Rubyがインストールされている必要があります。<br />
Macの方は元々入ってるので、心配無用です。Linux使ってる人なら、自分で入れれるでしょう。<br />
Windowsの方はお近くのAppleStoreで(ry。嘘です。<br />
<a href="http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Ruby+Install+Guide" class="external">Ruby Install Guide</a>を参考にすればいいと思うよ。</p>
<p>ターミナルで下記のコマンドでインストール</p>
<pre class="brush:bash;gutter:false">
gem update --system
gem install compass
</pre>
<p>これでインストールは完了。</p>
<p><!-- / #compass_install --></section>
<section id="compass_default">
<h1>2.初期設定</h1>
<p>インストールが完了したら、Compassのコマンドが使える様になってるはずなので、コマンドでサクっと初期設定します。<br />
ターミナルで、SASSファイルや、cssを置く予定の場所で、下記のコマンドを実行します。</p>
<pre class="brush:bash;gutter:false">
compass create
</pre>
<p>実行するとこんな感じのファイルが生成されます。</p>
<pre class="brush:plain;gutter:false">
├── config.rb
├── sass
│   ├── ie.scss
│   ├── print.scss
│   └── screen.scss
└── stylesheets
    ├── ie.css
    ├── print.css
    └── screen.css
</pre>
<p>自分の場合、CSSファイルは&#8221;css&#8221;ってフォルダ名にしたいので、ちょろっと、オプションを付けます。<br />
あと、画像用のフォルダと、JavaScript用のフォルダも設定しておきます。あとで、config.rbを編集すればいつでも変更はできます。</p>
<pre class="brush:bash;gutter:false">
compass create --sass-dir "sass" --css-dir "css" --javascripts-dir "js" --images-dir "img"
</pre>
<h2>SASSシンタックスを使いたい場合</h2>
<p>デフォルトではSCSSのシンタックスなので、SASSシンタックスを使いたい場合もオプションで変更できます。<br />
SCSSの方がCSSっぽくて楽だと思いますけど。</p>
<pre class="brush:bash;gutter:false;">
compass create --syntax sass
</pre>
<p>これで初期設定は完了。</p>
<p>他にも色々な設定があるので詳しくは公式の<a href="http://compass-style.org/help/tutorials/configuration-reference/" class="external">Configuration Reference</a>を参考にしてください。</p>
<p><!-- / #compass_basic --></section>
<section id="compass_import">
<h1>3.Compassの機能をインポート</h1>
<p>Compassには様々なMixinやスタイルが用意されています。使い方は簡単で、@importでインポートするだけです。</p>
<pre class="brush:css">
@import "compass/css3/border-radius"; /* CSS3のborder-radiusのみインポート */
@import "compass/css3/"; /* CSS3関連のMixinを丸っとインポート */
@import "compass/utilities" /* クリアフィックス等のユーティリティ系Mixinをインポート */
@import "compass" /* コンパスの機能を全部インポート 基本的にはこれだけでOKだと思います。　*/

@import "compass/reset/" /* リセット用CSSをインポート */;
</pre>
<p>上記のresetに関してはMixinではなく、CSSそのものなので、インポートした場所に<a href="http://meyerweb.com/eric/tools/css/reset/" class="external">Eric Meyer&#8217;s reset 2.0</a>をベースにしたスタイルが書きこまれます。</p>
<aside>※@import &#8220;compass&#8221;で全ての機能をインポートしてもリセット用スタイルは個別にインポートしないと書きこまれません。</aside>
<p><!-- / #compass_import --></section>
<section id="compass_generate">
<h1>4.SASSファイルからCSSファイルを生成</h1>
<p>SCSSファイルからCSSを生成するには、SASS同様コマンドラインでコンパイル or ウォッチします。</p>
<h2>コマンド</h2>
<pre class="brush:bash;gutter:false">
compass compile sass/style.scss
compass watch sass/style.scss #変更を監視して、保存の度にコンパイル
compass watch --output-style compressed sass/style.scss #一行に圧縮
</pre>
<p>たったこれだけです。SASSの場合、出力先のCSSファイル名も指定しなきゃいけなかったけど、Compassは最初に設定しているので、必要ありません。</p>
<p>設定したCSS用フォルダに同じ名前(この場合style.css)のCSSファイルが生成されます。</p>
<p><!-- / #compass_generate --></section>
<section id="compass_usage">
<h1>5.Compassを使って書いてみる。</h1>
<h2>Clearfix</h2>
<p>例えばクリアフィックスをする場合、下記の様に書きます</p>
<h3>Compass (SCSS)</h3>
<pre class="brush:scss">
@import "compass/utilities/general/clearfix";

.sample {
    @include clearfix;
}
</pre>
<h3>CSS</h3>
<pre class="brush:css">
.sample {
    overflow: hidden;
    *zoom: 1;
}
</pre>
<p>こんな感じで出来上がり。でも、これぐらいなら、あんまり便利さが実感できませんね。</p>
<h2>コンフィグレーション変数とMixinの組み合わせ</h2>
<p>Compassにはコンフィグレーション変数という機能があります。<br />
プロパティに対して、デフォルトのバリューが用意されており、デフォルトのバリューを使う場合は、省略することができます。<br />
もちろん、各自変数の中身を上書きすることができます。</p>
<h3>Compass (SCSS)</h3>
<pre class="brush:scss">
@import "compass/css3/border-radius";

//$default-border-radius:5px; /* compassの初期設定 */
$default-border-radius:10px;  /* 上書き */

.sample1 {
    @include border-radius; /* デフォルトを使用してバリューを省略した場合 */
}

.sample2 {
    @include border-radius(2px); /* 通常の使い方 */
}
</pre>
<h3>CSS</h3>
<pre class="brush:css">
.sample1 {
   -moz-border-radius: 10px;
   -webkit-border-radius: 10px;
   -o-border-radius: 10px;
   -ms-border-radius: 10px;
   -khtml-border-radius: 10px;
   border-radius: 10px;
}

.sample2 {
   -moz-border-radius: 2px;
   -webkit-border-radius: 2px;
   -o-border-radius: 2px;
   -ms-border-radius: 2px;
   -khtml-border-radius: 2px;
   border-radius: 2px;
}
</pre>
<p><!-- / #compass_usage --></section>
<p>もっと色々サンプル書いてみようと思ったんですが、長くなってきたんで、この辺にしておきます。</p>
<p>どうでしょう、もうインストールせざるを得ませんよね？Compassにはまだまだ他にも一杯機能があるので、またおいおい紹介したいと思います。<br />
<a href="http://www.blueprintcss.org/" class="external">Blueprint</a>、<a href="http://960.gs/" class="external">960</a>、<a href="http://susy.oddbird.net/" class="external">Susy</a>なんかのフレームワークも簡単に使えるようなので、今後試してみたいと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/css/compass.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vim道に入門したので、色々メモしておく(初心者)</title>
		<link>http://howtohp.com/tools/vim-shortcuts.html</link>
		<comments>http://howtohp.com/tools/vim-shortcuts.html#comments</comments>
		<pubDate>Mon, 12 Sep 2011 17:22:33 +0000</pubDate>
		<dc:creator>kymmt</dc:creator>
				<category><![CDATA[Tools]]></category>
		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://howtohp.com/?p=318</guid>
		<description><![CDATA[MacにしてからDreamweaverからVimに乗り換えたので、メモしておく。 いままでDreamweaver以外にも、AptanaとかCodaとかMacにしてからというもの、色々試した。そらぁもう試した。あ、emac [...]]]></description>
			<content:encoded><![CDATA[<p>MacにしてからDreamweaverからVimに乗り換えたので、メモしておく。</p>
<p>いままでDreamweaver以外にも、AptanaとかCodaとかMacにしてからというもの、色々試した。そらぁもう試した。あ、emacsには手をだしてません。</p>
<p>結論から言うとAptanaは起動重すぎ。Codaはいいかなって思ったけど、有料なのがアレ。TextMateも試そうと思ったけど、有料だったので(ry</p>
<p>かと言って、まだまだvimには慣れてない。でも、今後vimでいこうと思う。なんか流行ってるし。<br />
使い始めてからvimに関するブログエントリーとかが目につくだけかもしれないけど、流行ってる気がする。</p>
<p>ラップトップにしてから、ベッドに寝転びながら触る事が多くなって、キーボードだけで色々できるってのが一番の理由かもしれない。</p>
<p>自分みたいに最近Macに乗り換えて、かつ、Vim流行ってるから手を出してみた見たいな人の参考になればと思います。</p>
<p><span id="more-318"></span></p>
<section id="vim_basic">
<h1>基本的な奴</h1>
<p>正直これ覚えたぐらいでは、普通のGUIのエディターよりも不便</p>
<table>
<tbody>
<tr>
<th>入力</th>
<th>説明</th>
</tr>
<tr>
<td><kbd>i</kbd></td>
<td>インサートモード(カーソル位置の右側)へ移行</td>
</tr>
<tr>
<td><kbd>a</kbd></td>
<td>インサートモード(カーソル位置の左側)へ移行</td>
</tr>
<tr>
<td><kbd>v</kbd></td>
<td>文字単位のビジュアルモードへ移行</td>
</tr>
<tr>
<td><kbd>V</kbd></td>
<td>行単位のビジュアルモードへ移行</td>
</tr>
<tr>
<td><kbd>:</kbd></td>
<td>コマンドモードへ移行</td>
</tr>
<tr>
<td><kbd>&lt;Esc&gt;</kbd></td>
<td>ノーマルモードへ移行</td>
</tr>
<tr>
<td><kbd>I</kbd></td>
<td>行の最初の文字に移動してインサートモード</td>
</tr>
<tr>
<td><kbd>A</kbd></td>
<td>行末に移動してインサートモード</td>
</tr>
<tr>
<td><kbd>o</kbd></td>
<td>改行してインサートモード</td>
</tr>
<tr>
<td><kbd>u</kbd></td>
<td>前回の動作の取り消し。繰り返し可能。(undo)</td>
</tr>
<tr>
<td><kbd>x</kbd></td>
<td>カーソルの位置にある文字を削除(Delete)</td>
</tr>
<tr>
<td><kbd>X</kbd></td>
<td>カーソル位置の前の文字を削除(BackSpace)</td>
</tr>
<tr>
<td><kbd>dw</kbd></td>
<td>カーソル位置から１単語削除してレジスター(クリップボード的な奴)に登録</td>
</tr>
<tr>
<td><kbd>dd</kbd></td>
<td>現在の行を削除して、レジスターに登録</td>
</tr>
<tr>
<td><kbd>y</kbd></td>
<td>選択範囲をヤンク(レジスターに登録)</td>
</tr>
<tr>
<td><kbd>yy</kbd></td>
<td>１行ヤンク</td>
</tr>
<tr>
<td><kbd>p</kbd></td>
<td>デフォルトのレジスターをペースト</td>
</tr>
<tr>
<td><kbd>/</kbd>sample</td>
<td>sampleを検索。nで次の検索結果へ移動、Nで前の検索結果へ移動</td>
</tr>
<tr>
<td><kbd>&#58;w</kbd></td>
<td>保存　w index.htmlの様にするとindex.htmlとして保存</td>
</tr>
<tr>
<td><kbd>&#58;q</kbd></td>
<td>終了 開いてるファイルを閉じる</td>
</tr>
<tr>
<td><kbd>&#58;q!</kbd></td>
<td>強制的に終了　ファイルに変更があっても保存せずに終了します。!無しだと保存されてませんよ？って警告が出ます。</td>
</tr>
<tr>
<td><kbd>&#58;wq</kbd></td>
<td>保存して終了</td>
</tr>
<tr>
<td><kbd>&#58;x</kbd></td>
<td>保存して終了</td>
</tr>
<tr>
<td><kbd>&#58;help</kbd></td>
<td>ヘルプを表示</td>
</tr>
</tbody>
</table>
</section>
<section id="vim_cursor">
<h1>カーソル移動</h1>
<p>これに慣れると、もうやめられない。他のエディタ使っててもついついやっちゃう。</p>
<table>
<tr>
<th>入力</th>
<th>説明</th>
</tr>
<tr>
<td><kbd>h</kbd>, <kbd>j</kbd>, <kbd>k</kbd>, <kbd>l</kbd></td>
<td>カーソル移動(h:←,j:↓,k:↑,l:→)</td>
</tr>
<tr>
<td><kbd>w</kbd></td>
<td>単語単位でカーソルを移動(日本語だとちょっとアレ)</td>
</tr>
<tr>
<td><kbd>gg</kbd></td>
<td>ファイルの先頭へ移動</td>
</tr>
<tr>
<td><kbd>H</kbd></td>
<td>画面の先頭へ移動</td>
</tr>
<tr>
<td><kbd>0</kbd></td>
<td>行頭へ移動</td>
</tr>
<tr>
<td><kbd>^</kbd></td>
<td>行の最初の文字へ移動</td>
</tr>
<tr>
<td><kbd>$</kbd></td>
<td>行末へ移動</td>
</tr>
<tr>
<td><kbd>L</kbd></td>
<td>画面末尾へ移動</td>
</tr>
<tr>
<td><kbd>G</kbd></td>
<td>ファイル末尾へ移動</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+B</kbd></td>
<td>１画面分上にスクロール</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+U</kbd></td>
<td>半画面分上にスクロール</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+Y</kbd></td>
<td>１行上にスクロール</td>
</tr>
<tr>
<td><kbd>zz</kbd></td>
<td>カーソル位置が画面中央に来るようにスクロール</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+E</kbd></td>
<td>1行下にスクロール</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+D</kbd></td>
<td>半画面下にスクロール</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+F</kbd></td>
<td>１画面下にスクロール</td>
</tr>
<tr>
<td><kbd>zb</kbd></td>
<td>カーソル位置が画面最下部に来るようにスクロール</td>
</tr>
</table>
</section>
<section id="still_vim_basic">
<h1>まだまだ基礎(ちょっと応用)</h1>
<table>
<tr>
<th>入力</th>
<th>説明</th>
</tr>
<tr>
<td><kbd>10w</kbd></td>
<td>10単語分カーソル移動(日本語だと(ry)</td>
</tr>
<tr>
<td><kbd>10dd</kbd></td>
<td>10行削除してレジスターに登録</td>
</tr>
<tr>
<td><kbd>10yy</kbd></td>
<td>10行ヤンク</td>
</tr>
<tr>
<td><kbd>&#58;E</kbd></td>
<td>エクスプローラーを起動。カーソル移動はノーマルモードと同じで、<br />エンターでファイルを開く</td>
</tr>
<tr>
<td><kbd>&#58;pwd</kbd></td>
<td>シェルコマンドと同じでカレントディレクトリを表示</td>
</tr>
<tr>
<td><kbd>&#58;ls</kbd></td>
<td>シェルコマンドと同じでカレントディレクトリ以下のファイルを表示</td>
</tr>
<tr>
<td><kbd>&#58;cd</kbd></td>
<td>シェルコマンドと同じディレクトリを移動</td>
</tr>
<tr>
<td><kbd>&#58;reg</kbd></td>
<td>レジスターの中身を表示</td>
</tr>
</table>
<p><!-- / #still_vim_basic --></section>
<section id="vim_window">
<h1>ウィンドウ系</h1>
<table>
<tr>
<th>入力</th>
<th>説明</th>
</tr>
<tr>
<td><kbd>&#58;new [file]</kbd></td>
<td>上下に画面を分割してファイルを開く</td>
</tr>
<tr>
<td><kbd>&#58;vnew [file]</kbd></td>
<td>左右に画面を分割してファイルを開く</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+w w</kbd></td>
<td>次のウィンドウへ移動</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+w h</kbd></td>
<td>カーソルを左のウィンドウへ移動</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+w j</kbd></td>
<td>カーソルを下のウィンドウへ移動</td>
</tr>
<tr>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+w k</kbd></td>
<td>カーソルを上のウィンドウへ移動</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+w l</kbd></td>
<td>カーソルを右のウィンドウへ移動</td>
</tr>
<tr>
<td><kbd>&#58;tabe [file]</kbd></td>
<td>新規タブでファイルを開く。&#58;tabe index.htmlみたいな感じ。ファイルを選択するときは&lt;TAB&gt;キーで補完されます。</td>
</tr>
<tr>
<td><kbd>&lt;CTRL&gt;+w gf</kbd></td>
<td>htmlなんかで他のファイルへのリンクが貼ってあるファイルパス上でやると新規タブでパスの先のファイルを開く</td>
</tr>
<tr>
<td><kbd>gt</kbd></td>
<td>次のタブへ移動</td>
</tr>
</table>
<p><!-- / #vim_window --></section>
<section id="vim_easteregg">
<h1>イースターエッグ</h1>
<table>
<tr>
<th>入力</th>
<th>説明</th>
</tr>
<tr>
<td><kbd>&#58;help 42</kbd></td>
<td>グーグル検索にも同じようなのありましたね。</td>
</tr>
<tr>
<td><kbd>&#58;help holy-grail</kbd></td>
<td>意外と便利かも</td>
</tr>
<tr>
<td><kbd>&#58;help!</kbd></td>
<td>やってみてのお楽しみ</td>
</tr>
<tr>
<td><kbd>&#58;help UserGettingBored</kbd><kbd></kbd></td>
<td>まぁ、そういう事もあるでしょう。</td>
</tr>
<tr>
<td><kbd>&#58;Ni!</kbd></td>
<td>ちょっと、何言ってるのかよくわからないです</td>
</tr>
</table>
</section>
<p>まだまだこんなもんじゃないんですが、基礎？としてはこれぐらいにしときます。バッファとかの概念がよくわからないので、スルーしてます。</p>
]]></content:encoded>
			<wfw:commentRss>http://howtohp.com/tools/vim-shortcuts.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.771 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-19 20:07:28 -->

