7

ここ数日、TextmateからVimに切り替えることを余儀なくされてきました。ほとんどの場合、私の効率は、いくつかの重いVim構成の後でもほとんど同じです。代わりとなるものが見つからなかったワークフローの1つの側面は、ファイルをTextmateにドラッグアンドドロップすることです。ここで、画像はimgタグに変換され、ファイルはrequire呼び出しに変換されます。

画像タグとinclude/requireステートメントを動的に作成するにはどうすればよいですか?

4

1 に答える 1

8

<img>切り替えてからずっとその自動建物のことを考えていました。

Vim には、この問題の一部に対する組み込みのソリューションがあります。オムニ補完エンジンを使用すると、含めるファイルのパスを完成させることができます。

「パスのような」文字列を入力し始めたら — たとえば—候補の小さなリストを<img src="images/ヒットします。<C-x><C-f>ACP や snipMate などのオートコンプリート プラグインと組み合わせることで、プロセスは非常に高速になります。

widthしかし、とにはまったく役に立ちませんheight

<img>考えられる解決策は、スニペットにsnipMate を使用<C-x><C-f>し、画像のパスに使用し、パスをキャプチャしてコマンド ライン ユーティリティにフィードし、その出力で属性widthと属性を埋めることです。height

編集

このスクリプトは興味深いものですが、スペースを含むファイル パスでは正しく動作しません。これは、かなりうまく機能するわずかに変更されたバージョンです。この別のものは非常にクールに見えますが、重要な部分が欠けています.

編集終了

別の編集

このスニペットを追加しました~/.vim/bundle/snipMate/snippets/html.snippets(前のインデント$が a であることに注意して<Tab>ください):

snippet img custom
  ${1:`HTML_insertImg()`}

これはうまく機能しますが、出力の先頭に次HTML_insertImg()0ようなものを追加します。

0<img src="future_timeline.png" width="612" height="6370" alt="" />

ただし、これ0は少し問題です。このシステムは明らかに完璧ではありませんが、このしつこい0問題を取り除けば、snipMate ベースのプロセスの残りの部分にうまく収まるようになるでしょう。

ちなみに、これは私が使用するスクリプトの 2 番目の修正バージョンです。

別の編集を終了

拡張された 12 インチの再編集バージョン

と:

あなたはできる:

  • NERDTree を開き、画像を選択してヒットbすると、前のウィンドウのカーソル位置にほぼ完全な<img src="imagename.jpg" width="128" height="256" alt="" />タグが貼り付けられます
  • または、Vim フレーバーで許可されている場合は、入力:IMG<CR>してネイティブ ファイル選択ダイアログを開き、画像を選択<img src="imagename.jpg" width="128" height="256" alt="" />して、現在のウィンドウのカーソル位置にほぼ完全なタグを貼り付けます。
  • または、端末を使用している場合は、入力して、現在のウィンドウのカーソル位置に:IMG path/to/file.jpgほぼ完全なタグを貼り付けます<img src="imagename.jpg" width="128" height="256" alt="" />

snipMate ソリューションは、現時点では完全にはできていません。

実際にほとんどの作業を行ってくれた Petr Mach と@Matteo Rivaに感謝します。

はい、私は明らかに Vim の専門家ではありません。

END EXTENDED 12" 再編集バージョン

于 2011-04-19T06:24:29.293 に答える