Fork me on GitHub

2011/12/07


このエントリーをはてなブックマークに追加
例えば
    Indented line full of <b>tags</b> an <em>text</em>
こんなhtmlを
    <p>
        Indented line full of <b>tags</b> an <em>text</em>
    </p>
こうしたい場合は
V<c-y>,p<cr>
とタイプして下さい。もし
    <p>Indented line full of <b>tags</b> an <em>text</em></p>
こうしたい場合は
^v$<c-y>,p<cr>
とタイプして下さい。もし
<p>    Indented line full of <b>tags</b> an <em>text</em></p>
こうしたい場合は
0v$<c-y>,p<cr>
とタイプして下さい。また複数行のテキストの一部分
そんな事より1よ、ちょいと聞いてくれよ。スレとあんま関係ないけどさ。
昨日、近所のブログでC++11の記事を書いたんです。ブログで。
そしたらなんかぜんぜんはてブが付かなかったんで落ち込んでたんです。
で、よく見たらなんかtwitterのレスに、define使ったらなんでもあり
、とか書いてあるんです。
上記の太字の部分を<b>でくくりたい場合は、/スレ<cr>v/り、<cr><c-y>,b<cr>とタイプして下さい。
そんな事より1よ、ちょいと聞いてくれよ。<b>スレとあんま関係ないけどさ。
昨日、近所のブログでC++11の記事を書いたんです。ブログで。
そしたらなんかぜんぜんはてブが付かなかったんで落ち込んでたんです。
で、よく見たらなんかtwitterのレスに、define使ったらなんでもあり</b>、とか書いてあるんです。
githubから最新版をpullして貰えると使えます。
mattn/zencoding-vim - GitHub

zen-coding for vim: http://code.google.com/p/zen-coding/

https://github.com/mattn/zencoding-vim
Posted at 16:17 in ソフトウェア::vim
Tagged as: vim, zencoding, zencoding-vim
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2011/10/26


このエントリーをはてなブックマークに追加
Zen-Codingの仕様はバージョン0.7がリリースされているのだけど、ちょっと腰が重くて対応が出来てません。
ただ、バージョン0.7の中で「これは便利だ」と思った機能があり、追加要望も受けていたので個別に対応した。
zencoding-vim-dollar-sharp

Upgraded “Wrap With Abbreviation” action

まず「Wrap With Abbreviation」がどういう物かというと、zencoding-vimのサイトの動画(?)を見て貰えれば分かるんですが、ビジュアル選択して「Tag: ul>li>*>img」みたいに入力すると、選択部分が包括されて展開されるという物。
今回これに「$#」というキーワードを使える様にした。

例えば
foo.jpg
bar.jpg
というテキストをビジュアル選択し
Tag: ul>li*>a[href="$#"]>img[src="$#"]+{ファイル名は $# です}
とタイプする。すると
<ul>
 <li>
  <a href="foo.jpg"><img src="foo.jpg" alt="" />ファイル名は foo.jpg です</a>
 </li>
 <li>
  <a href="bar.jpg"><img src="bar.jpg" alt="" />ファイル名は bar.jpg です</a>
 </li>
</ul>
こんな感じに、「$#」が元々選択していたアイテムとして扱われて展開してくれます。
上記の様に画像ファイル名だけの一覧から、リスト形式のHTMLまで瞬時に変換出来ます。

よろしかったら試して下さい。

ZenCoding.vim : vim plugins for HTML and CSS hi-speed coding. : vim online

This is vim script support expanding abbreviation like zen-coding

http://www.vim.org/scripts/script.php?script_id=2981
vim.orgからダウンロードして貰っても良いですし、最新版でよければgithubから取得して下さい。
mattn/zencoding-vim - GitHub

zen-coding for vim: http://code.google.com/p/zen-coding/

https://github.com/mattn/zencoding-vim
Posted at 21:41 in ソフトウェア::vim
Tagged as: vim, zencoding, zencoding-vim
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2010/11/19


このエントリーをはてなブックマークに追加
というのが出たらしい。
zencoding.vimも少しだけ登場してるらしい。
HTML+CSSコーディングが10倍速くなるZen Coding HTML+CSSコーディングが10倍速くなるZen Coding
こもり まさあき
インプレスジャパン / ¥ 2,310 (2010-11-26)
 
発送可能時間:在庫あり。

めんどうなタグ入力も、一瞬でラクラク変換!
Zen Codingを使えば、かんたんな「省略形」だけでHTML/CSSタグがどんどん入力でき、複雑なHTML/CSSも、あっという間にコーディング可能です!
同じタグの繰り返しや入れ子構造、連番も一発で自動変換。
コーディングが画期的にスピードアップできます。
日々大量のタグを打つWebデザイナー、マークアップエンジニア、サイト更新担当者らが泣いて喜ぶマジックツール、Zen Codingのはじめての解説書です。
ところで今日、随分と放ったらかしであったzencoding.vimのhelpを書いた。20分程度の作業。
相変わらず英語下手だな。と思った。
Posted at 00:55 in その他
Tagged as: book, zencoding
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2010/03/09


このエントリーをはてなブックマークに追加
禅全国1億8千万人のzen-codingファンの皆様、如何お過ごしでしょうか。
先日の記事zen-codingをpure vimscriptに移植した「zencoding.vim」をご紹介させて頂きました。
あの時は略語の展開(Expand Abbreviation)しか機能がなく物足りなかったかもしれません。まぁ殆どの移植品はExpand Abbreviationしか無いのですが。

zen-codingには他どんな機能があるかというと、実はまだ便利な機能があったりします。 オフィシャルのサイトによると
  • Expand Abbreviation
  • Wrap with Abbreviation
  • Balance Tag Inward/Outward
  • Go to Next/Previous Edit Point
  • Update Image Size
  • Merge Lines
  • Remove Tag
  • Split/Join Tag
  • Toggle Comment
とあります。日本とだと以下のサイトが分かりやすいです。
Zen-Codingのショートカットをまとめてみました - EC studio デザインブログ

前回の記事ではZen-Codingの導入方法について解説しました。今回はZen-Codingの機能とそれを実行するためのショートカットの解説をします。

http://designblog.ecstudio.jp/htmlcss/zen-coding-shortcut-key.html
以前までのzencoding.vimが対応していたのは一番上のExpand Abbreviationだけです。
ここ数日、zencoding.vimのコードを弄りまくって、残りのあと少しで100移植出来る所まで来ました。

以下チュートリアル的なものを書いておきます。

Expand Abbreviation

まずは略語展開。もう皆さん知ってると思いますが
div>p#foo$*3>a{こんにちわ}
と書いて<c-y>,(コントロールとyを押してカンマ)をタイプすると
<div>
    <p id="foo1">
        <a href="">こんにちわ</a>
    </p>
    <p id="foo2">
        <a href="">こんにちわ</a>
    </p>
    <p id="foo3">
        <a href="">こんにちわ</a>
    </p>
</div>
と展開してくれる機能です。括弧によるグルーピングもサポートしています。

Wrap with Abbreviation

ラップを作成する略語展開です。
おはよう
こんにちわ
こんばんわ
とあるテキストをビジュアル選択して<c-y>,をタイプすると「Tag:」とタグを聞かれます。ここにラップするタグを記述します。
Tag: bq
とすると
<blockquote>
おはよう
こんにちわ
こんばんわ
</blockquote>
といった感じにラップしてくれます。また
Tag: ul>li*>a>span
とすると
<ul>
    <li>
        <a href=""><span>おはよう</span></a>
    </li>
    <li>
        <a href=""><span>こんにちわ</span></a>
    </li>
    <li>
        <a href=""><span>こんばんわ</span></a>
    </li>
</ul>
こんな感じになります。便利す。

Balance Tag Inward/Outward

タグの外側、内側を選択します。
<ul>
    <li>
        <a href=""><span>おはよう</span></a>
    </li>
    <li>
    _   <a href=""><span>こんにちわ</span></a>
    </li>
    <li>
        <a href=""><span>こんばんわ</span></a>
    </li>
</ul>
上記"_"の位置にカーソルがある状態で<c-y>dをタイプすると
<ul>
    <li>
        <a href=""><span>おはよう</span></a>
    </li>
    <li>
        <a href=""><span>こんにちわ</span></a>
    </li>

    <li>
        <a href=""><span>こんばんわ</span></a>
    </li>
</ul>
こんな感じに選択してくれます。もちろん<li>の前で実行すると<ul>全体が選択されます。なお、タグの内側で実行するとタグ自身が選択されます。
これとは逆にタグを含まないで中身のみを選択する場合には<c-y>Dをタイプします。

Go to Next/Previous Edit Point

編集位置へカーソルを移動します。<c-y>nで空の属性値や中身が空のタグ内側へジャンプします。逆向きは<c-y>Nです。

Update Image Size

IMGタグの画像サイズを更新します。
<img src="http://mattn.kaoriya.net/images/logo.png"/>
この様なIMGタグの上で<c-y>iをタイプするとwidth/heigth属性を埋めてくれます。ローカルのファイルだと絶対パスもしくは編集中のファイルからの相対パスが扱え、URLも対応しています。
<img src="http://mattn.kaoriya.net/images/logo.png" width="96" height="96" />
こんな感じです。ちなみにvimが不得意とする
<img id="foo" src="logo.png"/> <img src="github-logo.png" class="bar" />
<img src="http://mattn.kaoriya.net/images/logo.png"/>
この様な1行複数個のIMGタグでも正しく動作します。
この画像ファイルを扱う部分だけperl拡張を使いました。モジュールとしてはImage::Infoが入っていれば動くはずです。ちなみにこの機能さえ使わなければ、別にperl拡張が入っていなくても良いです。

Merge Lines

これはvimだけの機能で出来るので実装していません。ビジュアル選択してJですね。

Remove Tag

以下の様なHTMLで「cursor is here」の部分にカーソルがあった場合
<div class="foo">
    <a>cursor is here</a>
</div>
<c-y>kをタイプすると
<div class="foo">
    
</div>
となり、さらに<c-y>kをタイプすると

となる機能です。

Split/Join Tag

先ほどと同様のカーソル位置で
<div class="foo">
    <a>cursor is here</a>
</div>
<c-y>jをタイプすると
<div class="foo"/>
となります。なお、このdivタグの上で再度タイプすると今度は
<div class="foo">
</div>
と分割されます。

Toggle Comment

タグの上で<c-y>/をタイプするとそのタグ全体をコメントアウトしてくれます。
<blockquote>
    <a href="">aaa</a>  
</blockquote>
このHTMLのaの上でタイプすると
<blockquote>
    <!-- <a href="">aaa</a> -->  
</blockquote>
となり、aの前あたりでタイプすると
<!-- <blockquote>
    <a href="">aaa</a>  
</blockquote> -->
となります。

おまけ1

URLの上で<c-y>aをタイプするとHTMLを取得してきてアンカータグを作ってくれます。
http://www.google.com/
これが
<a href="http://www.google.com/">Google</a>
こうなります。

おまけ2

おまけ1とさほど変わりませんが... URLの上で<c-y>Aをタイプすると本文抽出して引用文を作ってくれます。
http://www.google.com/
これが
<blockquote class="quote">
    <a href="http://www.google.com/">Google</a><br />
    <p>広告掲載 - ビジネス ソリューション - Google について - Google.com in English&copy;2010 - プライバシー ...</p>
    <cite>http://www.google.com/</cite>
</blockquote>
こうなります。ほぼ俺様用!

100% zen-coding 互換まであと少しです。
mattn's zencoding-vim at master - GitHub

zen-coding for vim: http://code.google.com/p/zen-coding/

http://github.com/mattn/zencoding-vim

Hacking Vim: A Cookbook to Get the Most Out of the Latest Vim Editor Hacking Vim: A Cookbook to Get the Most Out of the Latest Vim Editor
Kim Schulz
Packt Publishing / ¥ 3,278 (2007-05-30)
 
発送可能時間:在庫あり。

Posted at 03:14 in ソフトウェア::vim
Tagged as: zen-coding, zencoding, zencoding.vim
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip