質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

Q&A

解決済

1回答

1001閲覧

emmet-vimのカスタマイズ

退会済みユーザー

退会済みユーザー

総合スコア0

Vim

VimとはUnix / Linux 系のOSに標準搭載されているターミナル上で動くテキストエディタです。

0グッド

0クリップ

投稿2020/06/20 13:26

最近 emmet-vim を入れました。

ヘルプを見て

  • default_attributes でデフォルト属性を変更・追加できる
  • aliases でエイリアスが作れる
  • 複雑なものや全く新しいものは snippets で作る

のだと理解したのですが、

  1. デフォルトで設定されている default_attributes を削除する
  2. snippets で定義したスニペットと aliases を関連づける

この2つがわかりません。

例: デフォルトでは option<C-y>, opt<C-y>, どちらでも <option value="|"></option> が展開されます。これを <option></option> にしたいです。 default_attributes をいじればいいと思ったのですがどう書けばいいのか分からず

'aliases': { 'opt': 'option', }, 'snippets': { 'option': '<option>|</option>', }

としたのですが、これだとエイリアスが関連づけられていないようで opt<C-y>, は相変わらず <option value="|"></option> を展開してしまいます。スニペットで

'snippets': { 'option': '<option>|</option>', 'opt': '<option>|</option>', }

と両方とも定義すればとりあえずは使えるんですが、 冒頭で書いたように

  1. デフォルトで設定されている default_attributes を削除する
  2. snippets で定義したスニペットと aliases を関連づける

この2つができればもっとスマートにできそうだと思い質問しました。可能でしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

残念ながら出来ません。

さきほどそれを出来る様に修正しました。以下の様に v:null を設定して貰えると消せる様になります。

vim

1let g:user_emmet_settings = { 2\ 'html': { 3\ 'default_attributes': { 4\ 'option': {'value': v:null} 5\ }, 6\ }, 7\}

投稿2020/06/20 15:29

mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/06/21 01:20

なんと...!開発者さん自らそんなに素早くありがとうございます。`v:null` 確認できました。 すみません、あと2つ気になる点があるのですが、 1. デフォルトで `textarea` → `<textarea id="" name="" cols="30" rows="10"></textarea>` と展開されるのを `<textarea cols="10" rows="10"></textarea>` のように default_attributes を上書きする(v:nullのように全消しするではなく) 2. 自分で定義した snippets にむけて aliases を張る この2つは現状難しいでしょうか? また今後機能追加される可能性はありますか?
mattn

2020/06/21 04:04

textarea の id と name をそれぞれ v:null に設定すると良さそうですが、どうでしょうか。 let g:user_emmet_settings = { \ 'variables': {'lang': 'ja'}, \ 'html': { \ 'default_attributes': { \ 'textarea': {'id': v:null, 'name': v:null, 'cols': 10, 'rows': 10}, \ }, \ }, \}
退会済みユーザー

退会済みユーザー

2020/06/22 14:54

ありがとうございます!そちらで対応できました..!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問