12

Vim は初めてで、慣れようとしています。.vimrc ファイルを作成し、Vim に行番号を表示させ、インクリメンタル検索を実行させました。構文の強調表示も有効にしました。ここで、HTML を簡単に記述できるようにしたいと考えています。/usr/share/vim で html.vim を検索したところ、次のものが見つかりました。

/usr/share/vim/vim72/syntax/html.vim
/usr/share/vim/vim72/ftplugin/html.vim
/usr/share/vim/vim72/indent/html.vim

では、HTML の自動インデントを有効にするにはどうすればよいでしょうか? それらのファイルを ~/.vim にコピーしますか? それらをシンボリックリンクしますか?または、Vim は自動的に /usr/share/vim/ からロードしますか? (すでに HTML 構文の強調表示が行われているので、可能だと思いますが、HTML の自動インデントは行われません) set autoindent.vimrc でうまくいくと聞きましたが、.c ファイルとは何ですか? が必要だと思いましたがset cindent、cindent は HTML で動作しますか?

4

2 に答える 2

22

最初にすべきことはvimtutor、数回試して完了することです。基本がカバーされたら、プラグインで遊び始めることができます…</p>

SnipMateは TextMate のスニペットにインスパイアされており、とても美しいです。デフォルトで多くの HTML スニペットがあり、独自のスニペットを追加するのは非常に簡単です。それを使用するには、入力してdivからヒットTabして取得します。

<div id="|">

</div>

""ID を入力する準備ができている間にキャレットを使用します。もう一度Tab押して、キャレットを空白行に移動します。

<div id="myId">
    |
</div>

美しい。ただし、多くのエディターにはこの機能があります。

大量の HTML を作成する必要がある場合 (たとえば、1 日に数通のメールやニュースレターなど)、SparkUpという別のプラグインを使用すると、数回のキーストロークと CSS の知識だけで複雑な HTML を作成できます。次のように入力して開始します。

table[id=myTable] > tr*3 > td*2 > img

次に<C-e>( CtrlE) を押して次を取得します。

<table cellspacing="0" id="myTable">
  <tr>
    <td>
      <img src="|" alt="" />
    </td>
    <td>
      <img src="" alt="" />
    </td>
  </tr>
  <tr>
    <td>
      <img src="" alt="" />
    </td>
    <td>
      <img src="" alt="" />
    </td>
  </tr>
  <tr>
    <td>
      <img src="" alt="" />
    </td>
    <td>
      <img src="" alt="" />
    </td>
  </tr>
</table>

最初の空の中にキャレットを入れます""<C-n>とを押し<C-p>て、次/前のフィールドに移動します。

魔法の。ただし、プラグインはより多くのエディターで利用できます。

信じられないほど便利な text オブジェクトと Surround.vim を 2 番目に使用します。

もう 1 つの優れた機能は、:help visual-blockテキストの列を選択できるビジュアル ブロック モード ( ) です。あなたが持っているとしましょう:

<ul>
    <li><p>My text doesn't mean anything</p></li>
    <li><p>My text doesn't mean anything</p></li>
    <li><p>My text doesn't mean anything</p></li>
    <li><p>My text doesn't mean anything</p></li>
</ul>

カーソルを>最初の の上に置き、<li>次にヒット<C-v>して、カーソルを下の 4 番目に移動します<li>。の直前Iに (大文字の I) を押して INSERT モードに入り、次のように>入力class="myElement"<Esc>て取得します。

<ul>
    <li class="myElement"><p>My text doesn't mean anything</p></li>
    <li class="myElement"><p>My text doesn't mean anything</p></li>
    <li class="myElement"><p>My text doesn't mean anything</p></li>
    <li class="myElement"><p>My text doesn't mean anything</p></li>
</ul>

ほら!

真剣に、Vim は素晴らしいです。

于 2011-05-10T07:12:07.787 に答える
13

AutoCloseTag プラグインを見て、入力時にタグを閉じます。そして、set autoindentHTML インデントを処理する必要があります。

また、ドキュメントを読んで:help text-objects、内側と外側のタグ選択の使用について学習する必要があります。たとえば、通常モードではcit、現在のタグ内のテキストを変更できます。または、ビジュアル モードでatは、カーソルの周囲のタグをカプセル化するためにビジュアル選択を展開します。

最後に、Surround.vim プラグインを見てください。これは、選択範囲またはテキスト オブジェクトをタグで囲んだり、周囲のタグを変更したりできます。

于 2011-05-09T20:56:55.670 に答える