私はいくつかのメジャーモードでバッファを持ち、別のバッファでモードファイル自体(* .el)を持っています。 * .elファイルを編集した後、最初のバッファに反映された変更を確認したいので、emacsを再起動する必要はありません。私は、-mode関数を実行しようとしましたが、バッファを変更しませんでした。 ありがとうemacsメジャーモードをリロードするには?
答えて
モードのソースを編集するときは、内部でEmacsが古いコードを使用するため、ファイルを単独で保存するだけでは不十分です。
たとえば、M-C-eで作業している関数定義の最後にジャンプし、関数をC-x C-eで評価することができます。その時点から、Emacsは現在の定義を使用します。
これはモード定義でも機能しますが、Mx mode-nameのモードを呼び出すときは、トグルとして実装されます。一度呼び出すと、モードをアクティブにし、再度呼び出して、モードを無効にします。 。だから、あなたはM-xモード名を2回しなければならないかもしれません。
M-x load-file your-mode.el
または
M-x eval-buffer
はその後、おそらく
M-x your-mode
M-x your-mode
を行うことによって、バッファ内のオンとオフ動作を切り替えるか、あなたのモードは、前置引数を認識した場合
C-u 1 M-x your-mode
注:あなたがdefvar
のファイルは既存の値を上書きしないので、呼び出しの値をdefvar
に変更する場合は、CMxの式をdevfar
の式で実行するか、 Mx:と入力してください。 Emacsでlispを評価する方法については、this pageを参照してください。 (provide 'foo-mode)
を使用して
を参照してください。モードを切り替えるのではなく、 'Mx normal-mode'を実行してください – scottfrazer
あなたのモードが機能を提供している場合(それが必要として!)あなたは適切な自動ロードを持っているならば、あなたはその後、
M-x unload-feature RET foo-mode RET
とはfoo-mode
を使用して(通常通り、再びモードをロードすることができ、またはload-library
を使用しますか、それ以外の場合はload-file
)。
私は以前これを見ていませんでした。ドキュメンテーションは、機能を必要とする他のロードされたコードがある場合にはエラーを発生させますが、プレフィックスargを使用して強制的にアンロードすることができます。 – phils
モジュールをリロードしても、他のモジュールが古い関数定義を参照し続ける可能性があるため、他のロードされたコードがモジュールを使用するケースを認識すると便利です。この場合、新しい定義を参照するように他のモジュールもリロードする必要があります。 –
+1、これはトレイジャクソンの答えと組み合わせて、私のためにそれをしました。 –
- 1. メジャーモードのリロードなしでemacsのフォントロックキーワードを更新する
- 2. EmacsのJavascriptメジャーモード
- 3. Emacs Lispメジャーモードのデバッグ
- 4. 現在のemacsメジャーモードを編集する
- 5. Emacsでメジャーモードのマイナモードに入る
- 6. Emacsメジャーモードへのプリプロセッサの追加
- 7. 省略モード(Emacs)のメジャーモード間の略語を共有する
- 8. Emacs - メジャーモードに入るとマイナーモードに自動的に入る方法は?
- 9. Emacs rubyメジャーモードを更新しています
- 10. emacs:特定のメジャーモードで特定のディレクトリにあるすべての.txtファイルを開きます。
- 11. ディレクトリローカルファイルにデフォルトのメジャーモードを設定する方法は?
- 12. .emacsループを使用していくつかのメジャーモードにマイナーモードを割り当てます。
- 13. TreeStoreをリロードするには?
- 14. php/ajax/mysqlは、ページ全体をリロードせずにリロードする
- 15. メジャーモードに関係なく、タブの代わりにスペースを入れるには?
- 16. xcodeはテーブルビューをリロードする
- 17. メインクラスをJavaでリロードするには?
- 18. MooTools - イメージをリロードするには?
- 19. emacsにフォーカスがないときにemacsでカーソルを無効にするには?
- 20. フレームをリロードする
- 21. ビューをリロードする
- 22. UIViewをリロードする
- 23. UITableViewをリロードする
- 24. コンテンツスクリプトをリロードする
- 25. emacsでipythonバッファをクリアするには?
- 26. emacsシェルを終了するには
- 27. Emacsでポップアップを表示するには?
- 28. EmacsでRacketを実行するには?
- 29. EmacsのターミナルカラーをEmacsのGUIカラーと同じようにするには?
- 30. リロードはリロードされません
elispを(再)評価するすべての方法については、http://www.masteringemacs.org/articles/2010/11/29/evaluating-elisp-emacs/ – phils