Emacs

Emacsを使っている、拡張している、または開発している人のためのQ&A

3
Unicode UTF-8をUnicodeとして表示する方法は?
Emacsで奇妙なエスケープコードを表示するUTF-8でエンコードされたテキストファイルがいくつかあります。たとえば、次のテキスト: イスタクエスティオンプリモエクスポナムクイッドインテリゲンダムest per hoc nomen 'Deus'; secundo、respondebo ad quaestionem。 Emacsで次のように表示されます。 これはEmacsでのみ発生します。他のエディターはテキストを正しく表示します。この問題を修正するにはどうすればよいですか? アップデート1 ファイルを呼び出しrevert-buffer-with-coding-systemて選択するとutf-8、正しく読み込まれます。そのため、Gillesが正しく推測したように、Emacsはファイルエンコーディングを検出していません。コード; -*- coding: utf-8 -*-をファイルに追加すると、Emacsが開き、正しく表示されます。 更新2 「UTF-8 with BOM encoding」でファイルを再エンコードしましたが、Emacsで問題なく表示されます。2つのタイプの違いはわかりませんが、EmacsはBOMされたタイプのみを認識しているようです。

3
emacsサポートはプロジェクト全体の関数宣言に移動できますか?
emacsには、別のファイルで定義されていても、ユーザーが関数宣言にアクセスできる関数またはライブラリがありますか? もしそうなら、どの言語がサポートされていますか? この質問のインスピレーションは、emacsがIDEと競合できない理由のいくつかを説明する以下の記事から来ています。 http://henrikwarne.com/2012/06/17/programmer-productivity-emacs-versus-intellij-idea/
12 project  ide 


1
ファイルローカル変数mangle-whitespaceとは何ですか?
そうですか ;; Local Variables: ;; mangle-whitespace: t ;; End: さまざまな経験豊富なEmacsプログラマーによる多くのElispソースファイル。 しかし、Iのときdescribe-variable、Emacs 24.3は変数mangle-whitespaceが定義されていないと言います。 されるmangle-whitespaceのEmacs 24.4が提供しますか?またはいくつかの人気のあるパッケージで?(MELPAには「マングル」という名前はありません。) 何をmangle-whitespaceするの? 注:私はこことSOの両方でemacsタグの下でこれを検索しました。また、DuckDuckGoとGoogleの両方を試しましたが、検索結果は.elこれを使用したファイルの単なる例です。ここで尋ねるエルゴ。


2
リスト自体をバインドせずに、リストから複数の値を直接バインドします
Emacs Lispの一時変数を経由せずに、変数に複数の戻り値を直接割り当てることは可能ですか? たとえば、2つのリストのリストを返す関数があるとします。 (defun test-func () (setq a '(a b)) (setq b '(c d)) `(,a ,b)) 最初の戻り値をlist-aに、2番目の戻り値をに割り当てたい場合list-b、一時変数を使用してこれを行うことができます。temp例: (let* ((temp (test-func)) (list-a (car temp)) (list-b (cadr temp))) (message-box (prin1-to-string list-a)) (message-box (prin1-to-string list-b))) これをもっと簡単に行うことは可能ですか?(私はあなたが一時変数を指定する必要がないPerlとPythonに慣れています)

3
現在の文字がそのメジャーモードのコメント文字かどうかを検出するにはどうすればよいですか?
次の行を現在の行に引き上げるこの小さな機能に取り組んでいます。現在の行が行コメントで、次の行も行コメントである場合、「プルアップ」アクションの後にコメント文字が削除されるように機能を追加します。 例: 前 ;; comment 1▮ ;; comment 2 呼び出し中 M-x modi/pull-up-line 後 ;; comment 1▮comment 2 ;;以前の文字は削除されることに注意してくださいcomment 2。 (defun modi/pull-up-line () "Join the following line onto the current one (analogous to `C-e', `C-d') or `C-u M-^' or `C-u M-x join-line'. If the current line is a comment and the …

1
コードからコマンドを呼び出すときに「インタラクティブ」引数を使用する方法
私はtest単にユーザーからの入力を受け取り、それをエコーバックするというコマンドを持っています: (defun test (input) (interactive "MInput: ") (message "%s" input)) それを呼び出す別の関数を書きたいです。次は失敗します: (defun test-forward () (interactive) (test)) このエラーで test-forward: Wrong number of arguments: (lambda (input) (interactive "MInput: ") (message "%s" input)), 0 test1つの入力を取るため、これは理にかなっています。作るtestのはinput &optional簡単になりますtest-forwardリターンをnil何もせずに。これを行う正しい方法は何ですか?
12 elisp  commands 

2
カーソルの隣にエコーエリアを作成することは可能ですか?
問題:カーソルがある場所から一番下のエコー領域まで眼球を上下に動かすのはうんざりだとわかりました。 質問:エコーエリアをツールチップのようにカーソルの近くに動的に割り当てることは可能ですか?パッケージを検索しましたが、見つかりませんでした。私はそれが新しいアイデアだとは思わないし、誰かがやったに違いない。
12 echo-area 

4
組織モードのインデントをカスタマイズする方法は?
この問題は、モノスペースでないフォント(Sabon、Minion、Garamondなど)を使用したいために実際に発生します。これは、org-indent-modeを使用するときに問題を引き起こします。例: フォントはジョージアです。さて、コンソラに変更すると: 問題は、モノスペースでないフォントでは、「スペース」と*が同じスペースを占有しないことだと思います。私はこれを解決する方法を知りませんが。インターネットを検索しましたが、自分でインデントを微調整するためのチュートリアルを見つけることができませんでした。私はorg-indent.elを読み込もうとしましたが、理解するには長いショットです。ヘルプは大歓迎です!

2
組織アジェンダモードでTODOキーワードの階層を表示するにはどうすればよいですか?
ある種の階層でさまざまな(簡単な)タスクがあります。 * TODO Make a pizza ** TODO Get cheese *** TODO Buy a cow ** TODO Get tomatoes *** TODO Grow tomatoes **** TODO Buy tomatoes ** TODO Buy oven *** TODO Win Lottery **** TODO Buy Lottery ticket これらを組織アジェンダで表示すると、フラットな方法で表示されます。 .TODO: TODO Make a pizza .TODO: TODO Get cheese …

5
控えめにテキストのレンダリングを変える方法は?
音声認識で使用するためのemacs拡張機能を作成しています。特定の機能に関するヘルプを探しています。音声認識エンジン(Dragon)が一貫して認識できない単語もあります。何回訓練してもかまいませんが、特定の単語を認識するのは簡単ではありません。通常、トピックについて書いているときやコーディングしているときは、同じ単語を何度も何度も使用します。 そのため、オーバーレイを使用して、バッファ内の単語のレンダリング方法を変更するモードを作成しました。単語にランダムな文字を使用し、ランダムな色で下線を引き、その上にランダムな発音区別符号(アクセント、ウムラウトなど)を付けます。以下にスクリーンショットを示します(おそらく、マーク/下線を表示するにはズームする必要があります)。 次に、「purple p hair」と言うと、「a」の下に紫色の下線が付いた単語が検索されます。そのため、上記のスクリーンショットでは、emacsが「regexp-quote」と入力してしまうと言っています。 これにより、認識機能が一貫して認識に優れている有限の単語セットを使用して、画面上にある既に使用した単語を参照できます。 たまに衝突が発生する場合を除き、非常にうまく機能します。それを行うために(random)、衝突を回避するようにアルゴリズムを変更する代わりに、またはアルゴリズムに変更を割り当てることで、単語のmd5ハッシュからのバイトを使用するのと同じ方法で一貫して単語を参照することを学ぶことができます。私は6つの簡単に区別できる色(下線が1文字幅で1ピクセルの太さだけでは難しい)と3つの簡単に区別できる発音区別記号(互いに区別しやすく、上記の下線と混同しにくい)だけを見つけました線または下線と重なる)、上のソースの上部に表示されます。 衝突の頻度を減らすために、レンダリングを変更する方法がもっと必要です。理想的には、レンダリングの変更は次のようになります。 テキストの残りの部分から不快にならないでください。これにより、たとえば、inverse-videoプロパティを却下することになりました。 他の変更と簡単に混同しないでください。上線は、前の行の下線と間違えやすい。フォントサイズが非現実的に大きくない限り、多くの発音区別符号は似ています。 他の変更がある場所の空間的に近くにあります。今、目がターゲティングキャラクターを見つけると、すべての情報、マーカー、下線、文字がそこにあります。 ダイアクリティカルマークを正しくレンダリングする固定幅フォント(コーディングに必要)でうまく動作します(マークを正しくレンダリングするには、ConsolasからDejaVu Sans Monoに切り替える必要がありました) ラテン系のアルファベット文字に取り組みます。たとえば、アラビア語の結合マークがありますが、ラテンアルファベット文字では結合しません。 文字の色は変更しないでください。これは既に構文の強調表示に使用されているためです。 実際、emacs lispを使用してemacsで実行可能になります;) レンダリングを制御する特殊なUnicode文字が悪用されて、新しい可能性が開かれる可能性がありますか?または、より多くの色を簡単に区別できるように下線を太くする方法はありますか?または、Unicode以外の文字の上にマークをレンダリングできる他のあいまいなemacs機能がありますか?

1
PWDがシェルモードおよび用語モードで変更されたときに、デフォルトディレクトリを自動的に更新する
およびでdefault-directory作業ディレクトリが変更された場合に更新されるオプションまたはパッケージはshell-modeありterm-modeますか?cdつまり、を使用する場合、ソリューションはこの特定のコマンドや他のいくつかのコマンドを探すよりも堅牢である必要があります- $PWDコマンドごとに値を実際にチェックする必要があると思います。 さらに重要なことは、ローカルディレクトリとして最初に作成されたバッファshell-modeまたはterm-modeバッファ内からリモートマシンに接続するときにも動作するはずdefault-directoryです。これは実際に私が本当に必要とする機能です。そのような端末に入力したコマンドがリモートマシンで実行されているかどうかをプログラムで判断できることです。その情報を適切に設定しdefault-directory、図の形式で取得したい場合、それを取得する方法があれば、これを行うツールも上記のようにローカルで機能します。

1
開いているすべてのバッファでマイナーモードを無効にする
多くの場合、多くのバッファを開いていますが、何らかの理由で、特定のマイナーモードを使用したくない場合があります。現在、すべてのオープンバッファに対して特定のマイナーモードを無効にする組み込みの方法がありますか、それともカスタムelisp関数を記述する必要がありますか?

1
AUCTeXによる\ ifステートメントの自動インデント
if -likeステートメントを含むAUCTeXプリミティブtexコードの現在の動作は、周囲の条件と同じレベルで条件ステートメントをインデントすることです。すなわち次のようなコード \if@sometoggle% \dosomething% \else% \doanotherthing% \fi% テキストの大きなブロックとして表示されます。AUCTeX次のようにスニペットをインデントします。 \if@sometoggle% \dosomething% \else% \doanotherthing% \fi% これは可能ですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.