3

Emacs を開いたときに、デフォルトで which-function-mode をオンにしたいと思います。次の行を .emacs ファイルに追加しました。

(setq which-func-mode t) 
(setq which-function-mode t) 

.cpp ファイルを開いて関数の本体に移動すると、下部のステータス バーに関数名が表示されません。次に Mx which-function-mode を実行すると、「Which-Function mode disabled」というメッセージが表示されるため、.emacs ファイルの行が実行されているように見えますが、まったく機能していません。

.emacs ファイルに間違った設定をしているのですか、それとも何か他の問題がありますか?

4

3 に答える 3

6

残念ながら、これは変数ではなく関数であるため、setqはこれに対して機能しません。「customize」を使用して変数を設定するか、「which-function-mode」関数を呼び出して「t」の値を渡す必要があります。

「カスタマイズ」は、emacsが最近のほとんどのパッケージの機能の構成を処理する方法です。多くの場合、「Mxcustomize-apropos」の後にパッケージの名前を付けると、そのパッケージのほとんどの構成オプションが表示されます。構成パラメーターの特定の名前がわかっている場合は、「customize-variable」を使用してその特定のパラメーターに移動することもできます。'customize-variable'の項目は、それ自体が必ずしも変数であるとは限らないことに注意してください。多くの場合、customizeは関数の呼び出しを呼び出したり、他のアクティビティを実行して実際に構成を実行したりします。

これにはおそらく「customize」を使用したいと思います。

M-x customize-variable<RET>
which-function-mode

次のようなものを提供する必要があります。

代替テキスト

値を「オン」に切り替えてから、現在のセッションに設定し、将来のセッションのために保存します。カスタマイズが気に入らない場合は、.emacsから関数を呼び出すことができます。

(which-function-mode t)

これはemacs23にありますが、22も同様であると思います。emacs21の場合、デフォルトでカスタマイズが含まれているとは思いません(長い間、間違っている可能性があります)。代わりに関数呼び出しフォームを使用する必要があります。

于 2009-11-13T19:41:12.607 に答える
5

which-func-modeファイルをロードするたびに自動的にオンにするフックが必要になるでしょう。

次のようなものを試してください:


(add-hook 'c++-mode-hook '(lambda () (which-func-mode t)))
于 2009-11-13T18:02:44.547 に答える
1

In your init.el or wherever you store your emacs configuration simply place the following line:

(which-function-mode 1)

これは、プログラミング モードと組織モードでのみ機能するはずです。表示されないことを確認するために、.txt ファイルでのみテストしました。粒度が必要な場合は、次のようにします。

(add-hook 'python-mode-hook (lambda() (which-function-mode 1)))

于 2014-11-30T04:20:32.847 に答える