Emacs に最適なコード テンプレート機能は何ですか?[閉まっている]
-
09-06-2019 - |
質問
特に、最高のスニペット パッケージは何ですか?
特徴:
- 新しいスニペットの定義が簡単 (プレーンテキスト、デフォルトのカスタム入力)
- スニペット内の事前定義された位置間の簡単なナビゲーション
- 同じカスタム入力の複数の挿入
- 現在選択されているテキストをカスタム入力として受け入れます
- クロスプラットフォーム (Windows、Linux)
- 簡潔なプログラミング言語 (Perl、Python、Ruby が推奨) で記述された動的に評価される式 (埋め込みコード)
- Emacs の他のパッケージとうまく共存します
コードテンプレートの例、簡単な for
C のループ:
for (int i = 0; i < %N%; ++i) {
_
}
このような一般的なコードを入力するのは大変です。コードテンプレートまたはスニペットを呼び出したいので、
私にとってはその定型的なコードです。さらに、(TAB またはその他のキーストロークで) で停止します。 %N%
(私の入力はそれを置き換えます)そしてカーソルの最終的な位置は次のとおりです _
.
解決
TextMate のスニペット は最も近いものですが、クロスプラットフォームのソリューションではなく、Emacs 向けでもありません。
二番目に近いのは、 ヤスニペット (スクリーンキャスト 主な機能を示します)。でも邪魔するんだよ hippie-expand
私のセットアップにはパッケージがあり、埋め込み言語はEmacsLispですが、外部では慣れていません .emacs
.
編集:投票できるようにここに私の回答を投稿しました yasnippet
.
他のヒント
個人的に、私は Dmacro を何年も使ってきました (ftp://ftp.sgi.com/other/dmacro/dmacro.tar.gz).
ここでは、いくつかの代替案についても言及したレビューを示します。 http://linuxgazette.net/issue39/marsden.html
EmacsWiki には、 テンプレートエンジンのページ.
このうち、私が使ったのは、 テンポ (遠い) 過去にテーブルサポートを追加するために htmlヘルパーモード, しかし、過去15年間でそれがどのように進歩したかはわかりません。
に投票を追加します テンポスニペット ...セットアップが簡単で強力(テンプレート内で任意の elisp を実行できるため、小文字化、ファイル名とクラスの検索、カウントなどを行うことができます)、インデントの設定、略語との統合...私はそれをよく使います;)
私はに投票します http://cedet.sourceforge.net/srecode.shtml
非常にクリーンな構文を備えており、コード環境にアクセスできます。 Semantic
.
また、それは大きなサポートの一部です CEDET
ディストリビューション (24.x バージョン シリーズの Emacs に組み込まれています)。
アップデート https://github.com/capitaomorte/yasnippet 強力なテンプレート エンジンでもあります。ただし、醜いファイル命名スキーマ (ファイル名 === テンプレート名) が使用されているため、複数のテンプレートを 1 つのファイルに入れることができず、各国文字セットに問題があります...
軽量のソリューションを試すことができます ムーバンエル
これは完全に Elisp で書かれており、構文は非常に単純です。