問題タブ [minor-mode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
emacs - emacsでアクティブなマイナーモードをどのようにリストしますか?
emacsでアクティブなマイナーモードをどのようにリストしますか?
emacs - Emacsでカスタムマイナーモードのキーバインディングを作成する方法
質問:
マイナーモードのカスタムキーバインディングを作成するにはどうすればよいですか?このようなもの。
これが私がこれまでに持っているものです。カスタムキーバインディングを1つだけ機能させようとしています。
カスタムマイナーモード「num-mode」を呼び出してミニバッファでオンになっていることを確認した後、numパッドで「1」を押すと、エラーが発生します<kp-1> is undefined
。私がしたいa
のは、を押したときにポインタがどこにあるかが出力されること<kp-1>
です。(単なるテスト)
コンテクスト:
したがって、私は通常、numパッドを使用してバッファ間を移動します(矢印キーで適切な方向に移動します)。これはグローバルに設定されます。数字を入力するだけの数字パッドを使用したいときに呼び出すことができるマイナーモードを作成したいと思います。
デフォルトでは、num-padのキーは未定義です。テンキーのキーバインドを定義するために使用<kp-0>
します。<kp-9>
呼び出すことができるマイナーモードを作成することはできますが、キーバインディングをアタッチすることはできません。これは、他のどこにも定義されていないものを含め、すべてのキーバインディングに当てはまります。
助けてくれてありがとう!
emacs - ほぼグローバルなEmacsマイナーモード
私はEmacsマイナーモードに取り組んでいますが、メジャーモードが特定のモード(つまり)の場合にのみ適用したいと思いますjs-mode
。言い換えると、my-super-modeをアクティブ化するときに、それが定義するキーマップをすべてのJSバッファー(グローバルであるように)で使用できるようにしたいのですが、js以外のバッファーには影響しません。
私はそれがフックを介して可能であることを知っていますが、私はこの解決策を避けたいと思います。理想的には、私のマイナーモードは、Mxを介して必要な場合にのみアクティブ化されます(アクティブ化されると、すべてのJSバッファーで有効になります)。可能?
emacs - 自分のノードを呼び出した後、他のマイナー モードを有効にする
実行時に他のいくつかのモードを切り替えるマイナーモードを書きたいと思います。ある種の傘モード。
今、私は最も単純なタスクでスタックしています - 単一の他のモードを有効にするモードを作成します。
書きました
このモードを Mx から切り替えると、何も起こりません。しかし、直接評価すると (空白モード ±1)、期待どおりに動作します。
何が恋しいですか?
emacs - マイナーモードのキーマップを正しく定義する方法
どのプログラム モードにも適合するように、改善のためにカスタム モードを定義したいと考えています。そして、このすべてのモードのキー バインディングを定義する必要があります。私は最小限の労力でキー バインディングを宣言するためdefine-minor-mode
に withを使用することにしました。:keymap
kbd マクロは、このキー シーケンスのマジック ナンバーを与えてくれcomment-or-uncomment-region
ました。"C-;"
[67108923]
動作しないサンプルを書きました
モードを登録してオンに切り替えましたが、押すС-;
とキーシーケンスが定義されていないという通知が表示されます
その後、私はスクラッチ バッファに書き込んで、global-set-key
期待どおりに実行された単純なものを評価しました。
を押すC-;
と、期待されるcomment-or-oncomment-region
動作が生成されるようになりました。
経由で機能情報を検索して問題をデバッグしようとしましたC-h f
。奇妙な出力を生成し、異なるキー シーケンスに2 回comment-or-oncomment-region
バインドされます。
最初の 1 つはマイナー モードのトグルで表示および非表示になり、もう 1 つはglobal-set-key
呼び出しから表示されます。
両方のマップに同じキー定義を使用した場合、どうすればよいでしょうか? 私が見逃した詳細は何ですか?
emacs - Emacs:モードをグローバルに有効にする方法は?
グローバルに有効にしたいアドオンのモードがあります。手でオンにするには、入力する必要がありますM-x highlight-indentation-mode。だから、以下は私がまだ試したことのリストです: (highlight-indentation-mode t)
, (highlight-indentation-mode 1)
, (setq highlight-indentation-mode t)
. 何も機能しませんでした。次に、モードをグローバルに有効にする必要があるかもしれないと判断し、それについて Google を開始しました。私が次に試したこと:
いいえ、これは私が探しているドロイドではありません。変数をオンにしますが、モードはまだ機能しません。
これら 2 つは私の Emacs を壊しました: config でこの 2 つのコマンドを使ってファイルを開こうとすると、Emacs はエラーを書き、ファイルを開くことを拒否しました。
UPD:私も試したコメントに基づいて
なしでも同じ(interactive)
です。これでファイルを開こうとすると、Emacs は開くことを拒否し、エラーを書き込みます:
emacs - Emacs マイナー モード スティッキー コントロール
単一の文字を表すすべてのキーストロークにコントロール キーをアタッチする emacs のマイナー モードはありますか? Vim のアクション モードに似たものを取得したかったのです。私は Viper を見たことがありますが、すべてのキー バインディングを再学習するのに時間をかけたくありません。
emacs - Emacs マイナー モード プログラミング: トグルオフ手順をキャンセルしますか?
この最小限の例に似たイディオムとマクロを使用して、独自の Emacs マイナー モードをプログラミングしています。
マイナーモードのトグルオフ中に、トグルオフ'certain-situation
をキャンセルしなければならない場合があります。現在、私はdefine-minor-mode
マクロを使用しているので、救済することはできず(foo-mode 1)
、コードに見られるようにプログラムでモードを再度オンにする必要があると考えています。
このルートに行く場合、有効化機能でこれを別の方法で処理する必要があります-最初の質問は、上記のコードdo-enable-foo
のプレースホルダーを使用してこのケースを検出する方法ですか?'test-something
(foo-mode 1)
または、モードの切り替えが行われないようにする代わりにエラーを通知するなど、キャンセルを実現するためのよりクリーンな方法はありますか?