2011-06-27 11 views
8

M-x < TAB>は、定義されたすべての機能を出力します。定義済みのすべての変数をemacsで表示するには?

(boundp 'variable-name)C-x C-eは、変数名がnillであればtを出力します。

emacsで定義されたすべての変数を表示する方法。

+0

なぜこれをやりたいですか? –

+1

"M-xは定義されたすべての関数を出力します"とはどういう意味ですか?'M-x'は対話型コマンドの名前を入力するように促し、それを実行します。 (そして、もしあなたがTABを押して自動補完リストを見ることができるのであれば、それは "すべての定義された関数"ではなく、単に対話的な関数です)。 – phils

+0

Mx として投稿されました。 Mx < TAB \>、これは動作します –

答えて

8

M-xの表示方法が多少特殊になっているので、完全な記号のリストで何をしたいのかははっきりしていません。ここで、あなたがプログラムで定義されているすべてのシンボルのリストを取得したいと仮定すると

auto-complete.elはそれをしない方法は次のとおりです。あなたもM-x describe-var RETを入力して、[のソート済みリストを取得するにはTABを押すことができます

(loop for x being the symbols 
    if (boundp x) 
    collect (symbol-name x)) 

注意すべての記号。

+1

あなたが本当に望むものは、 'Mx customize-group RET org RET'です。 – sanityinc

+0

ありがとう、それは間違いなくorgモードの設定例を理解するのに役立ちます。 –

4

私は(apropos-variable "." t)と仮定すると、その時点で定義されているすべての変数が表示されます。

編集:間違っていると思われます。

これは興味深いことですが、実際には、自動補完よりも結果が大幅に少なくなっています(describe-var)。

誰でもそのことを明らかにすることはできますか?

  • C-UM-Xapropos-variableRETwinner-RET
  • C-HVwinner-TAB
012: winner-modeが有効になっているこれらの違い、

edit 2:ああ... aproposがドキュメント文字列がないシンボルを無視するようです。

可能な場合は、受け入れられた回答を再割り当てすることをおすすめします。

2

尋ねられていることは、ここではすべてのバッファローカル変数をその値できれいに表示する方法です。これは、モードが予期したとおりに動作しない理由を調べるのに非常に便利です。

この物件を取得するには、実行します。このリストから

M-x pp-eval-expression RET (buffer-local-variables) RET 

関連する部分は、複数のファイルで使用するための.dir-locals.elファイルにほとんど逐語的に追加することができます。

関連する問題