Emacs

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

9
括弧で迷子にならずにelispを編集する方法
linum.elのelispコードを修正しています: (custom-set-variables '(linum-format 'dynamic)) (defadvice linum-update-window (around linum-dynamic activate) (let* ((w (length (number-to-string (+ (count-lines (point-min) (point-max)) 1)))) (linum-format (concat " %" (number-to-string w) "d "))) ad-do-it)) に変更する(count-lines (point-min) (point-max))ことで、インデントが1つずつずれていたバグを修正できました(+ (count-lines (point-min) (point-max)) 1)。それは簡単でした。 ただし(concat " %" (number-to-string w) "2d ")、行番号のカウントが10未満の場合にif-conditional whereを追加して、最小幅が2になるように変更します。 これは簡単なはずです!1つの条件を追加し、連結をコピー/貼り付けます。ケーキだよね?つまり、何をすべきかはわかっていますが、elispに触れることはめったになく、多くの括弧で何かを変更しなければならないときはいつも気が遠くなります。 私が理解していることから、「正しい」スタイルは、インデントに基づいてコードを構造化し、それ自体ではなく行末で括弧をラップすることです。他の「C」スタイルの言語から来て、私はこの方法でコードを読み書きするのに苦労しています。だから私の質問は次のとおりです。私は何が間違っていますか?elispを編集してコードをナビゲートし、そこに座ってすべての括弧を数える必要がないようにするにはどうすればよいですか? elispで深くなりすぎるものを扱うときは、ドアを閉め、ブラインドを引っ張り、K&Rスタイルの括弧を配置する必要があります。 明らかに私はこれをすべて間違っています。どうすればこのようなelispを恐れることなくタッチできますか? 私の質問は、スタイルに関する質問としてではなく、elispをナビゲートおよび編集する方法です。私はすでにスタイルガイドとして次を使用しています:https : //github.com/bbatsov/emacs-lisp-style-guide 更新: …

4
名前付き文字列の置換?
私はしばしば同じ文字列のいくつかの置換を行わなければなりません: (format "%s %s %s" "a" "a" "a") ;; gives: "a a a" (これは単なるダミーの例です。この場合、「a」を空白で接着する方が良いですが、一般的にはより複雑な状況に対処します) 名前付き置換を行う方法はありますか?たとえば、Pythonでは次のように記述します。 "{0} {0} {0}".format("a") # or: "{name} {name} {name}".format(name="a")
13 elisp  string 

1
after-init-hook vs eval-after-load / with-eval-after-load
パッケージがEmacs 24でどのように機能するかはかなり有用であることがわかりましたが、経験豊富なユーザーまたはコア開発者から、24.4の典型的なケースで実際にどちらが優先されるかについての明確な回答が欲しいです。 Afaik (add-hook 'after-init-hook ...)は、パッケージのカスタマイズを設定するためのいわゆる総当たり的なアプローチです。ただし、拡張性の段階的で個別の遅延ロードとうまく機能する、より動的できめの細かい構成にはeval-after-load、より構文的にシュガーwith-eval-after-loadが適しています。 私の理解は正しいですか?他に何を心に留めておくべきですか?


1
顧問Mxは常に「^」を表示します
カウンセル/アイビー/スワイパーをインストールしましたが、これまでのところすべてが正常に機能しています。しかし、キーバインドMxを介してカウンセルMxを呼び出すと、常に「^」文字が追加されます。なぜこれが起こっているのか、どうやってそれを取り除くのか、私には手がかりがありません(それは、counsel-Mxコマンドに干渉せず、単に迷惑です)。OS Xでemacsを使用しており、メタキーをコマンドキー(setq mac-command-modifier 'meta)に再マップしましたが、標準としてAltを使用しても、カウンセルMxを呼び出すと、「^」が自動的に挿入されます。 ここで提供される基本設定を使用します (ivy-mode 1) (setq ivy-use-virtual-buffers t) (setq enable-recursive-minibuffers t) (global-set-key (kbd "M-x") 'counsel-M-x)
13 search  counsel 

2
あなたの 'python-shell-interpreter'はreadlineをサポートしていないようです
Ubuntu 16.10の25.1とPython 3.5でこの問題が発生しましたが、どこでも解決されていないと思います。最新の状況はどうなっていたのか。再現: > emacs -Q --eval '(setq python-shell-interpreter "python3")' その後 M-x run-python 与える Warning (python): Your ‘python-shell-interpreter’ doesn’t seem to support readline, yet ‘python-shell-completion-native’ was t and "python3" is not part of the ‘python-shell-completion-native-disabled-interpreters’ list. Native completions have been disabled locally. 私はM-x find-function python-shell-completion-native-try、関数がディープからプルアップし、(/usr/local/share/emacs/25.1/lisp/progmodes/python.el.gz最後の行がそうであるはずであり、そうnil "_")))ではないはずだった1つのアイデアを見ましたnil "")))。ここでの別の会話は変化について話しますinputrc 別のユーザーに切り替えたところ、警告なしに「run-python」を使用できました。それは私のreadline設定であることがわかりました。Bash 4.3には、新しいreadline機能が追加されました。.inputrcにあった「set color-stats …
13 python  repl 


3
組織モードのドキュメントから公開されたPDF内のハイパーリンクのスタイルを変更するにはどうすればよいですか?
組織モードのドキュメントをPDFにエクスポート(公開)しています。ハイパーリンクを除いて、結果は素晴らしいです。彼らはひどく見える。 Webへのハイパーリンクは同じように見えますが、アウトラインは淡い青色です。エクスポートされたPDFドキュメントのリンクのスタイルをどのように制御できますか?(私はLaTeXを知りませんが、必要に応じてLaTeXで簡単な設定変更を行うことができます)。

4
電気ペアモードの追加のモード固有のペアを定義する方法
electric-pair-modeは、現在の主モードに基づいて、一致する区切り文字のペア(括弧、大括弧など)を自動的に挿入するための組み込みモードです。 次のように追加のペア(グローバルになる)を定義できることを知っています。 (push '(?\' . ?\') electric-pair-pairs) ; Automatically pair single-quotes (push '(?\' . ?\') electric-pair-text-pairs) ; ... in comments 私の質問は、モード固有のペアをどのように定義できるかです(たとえば//、==for org-mode)?

2
バッファ固有のキーバインディング
バッファに固有のキー割り当てを設定することは可能ですか? 組織ファイルの1つに次のものが含まれています。 # Local Variables: # eval: (local-set-key (kbd "<f10>") 'some-custom-defun-specific-to-this-buffer) # End: ただし、このバインディングは他の組織モードファイルでも持続します。別のメジャーモードでファイルを開くと、デフォルトのキーバインディングが起動します。 local-set-keyバッファ固有ではなく、メジャーモード固有のバインディングを設定しているようです。 特定のバッファーでのみアクティブになるバインディングをどのようにして持つことができますか?

3
ファイルに2つのビューを含めることはできますか?
私はabc.orgというファイルを編集していて、org-narrow-to-blockを呼び出して、編集したいコードブロックに絞り込みます。編集プロセスでは、abc.orgの別の部分にアクセスする必要があり、それを別のウィンドウに表示したいだけです。「Cx 2」を実行すると、ウィンドウにabc.orgが表示されているが、絞り込まれていることがわかります。ファイルに2つの「ビュー」を持たせることはできますか?1つは絞り込み、もう1つは絞り込みませんか? 絞り込みのタグが付いた7つの質問を確認しましたが、類似の質問は見つかりませんでした。

4
組織ファイルの上部にあるLATEX_HEADERの混乱を減らす
私はよく組織モードでメモを書き、latexにエクスポートします。ただし、一部のドキュメントは複雑であるため、次のように先頭に多くのラテックスパッケージを含める必要があります。 #+LATEX_HEADER: \usepackage[margin=1.15in]{geometry} #+LATEX_HEADER: \usepackage{parskip} #+LATEX_HEADER_EXTRA: \usepackage{graphicx} #+LATEX_HEADER_EXTRA: \usepackage{mdframed} #+LATEX_HEADER_EXTRA: \usepackage{needspace} #+LATEX_HEADER_EXTRA: \usepackage{hyperref} #+LATEX_HEADER_EXTRA: \usepackage{titling} #+LATEX_HEADER_EXTRA: \usepackage{enumitem} #+LATEX_HEADER_EXTRA: \usepackage{etoolbox} #+LATEX_HEADER_EXTRA: \usepackage{color} #+LATEX_HEADER_EXTRA: \usepackage{underscore}... すべてのラテックスヘッダーコマンド(\ usepackage、マクロ定義など)を別のtexファイルに保存して、orgファイルの先頭に1行だけインクルードできるようにすることは可能ですか?これにより、混乱が大幅に減り、パッケージの追加が容易になります。
13 org-mode  latex 

3
デフォルトのフォントサイズを設定する方法
自分が作業しているコード行をさらに表示するために、使用しているすべてのバッファーで一貫してズームアウト(Cx C--)していることに気づきました。 インタラクティブではなく、.emacsでズームレベルを設定する方法はありますか?または、フォントサイズの設定を検討する必要がありますか?私はズームを使用してきました。ズームが最も簡単で迅速な解決策だからですが、もっと永続的な解決策を見つけたいです。どちらか一方を使用することに不利または利点はありますか?違いはよくわかりません。
13 fonts 

1
EmacsでのExcelスプレッドシートとcsvファイルの表示と編集
ビュー/編集Excelスプレッドシート(例えばにどのような方法がありxlsとxlsxのEmacsでファイル)? 何についてのcsvファイル?(例:列揃えコンテンツ)。 参考までに.xlsx、Emacsでファイルを開こうとすると、次のようになります。 M Filemode Length Date Time File - ---------- -------- ----------- -------- -------------------------- -rw------- 842825 7-Jan-2015 09:28:42 xl/worksheets/sheet1.xml -rw------- 550 7-Jan-2015 09:28:42 xl/workbook.xml -rw------- 313346 7-Jan-2015 09:28:42 xl/sharedStrings.xml -rw------- 784 7-Jan-2015 09:28:42 docProps/app.xml -rw------- 592 7-Jan-2015 09:28:42 docProps/core.xml -rw------- 1167 7-Jan-2015 09:28:42 [Content_Types].xml -rw------- 1403 7-Jan-2015 09:28:42 xl/styles.xml …
13 csv 

3
cc-modeのbefore-save-hook
cc-mode保存する前に関数を実行するようにカスタマイズしたい。1つの解決策は、cc-modeキーマップを変更C-x C-sして、必要な作業を実行して保存する関数にバインドすることです。 私の質問は、これのためにカスタマイズできるフックがあるかどうかです。CCフックドキュメントは言及していないbefore-save-hook、特にためにcc-mode。フックを介してこれをどのように行う必要がありますか? または、これをどのように行うのdefadviceですか?マニュアルを読んだところ、私が見た唯一の方法は、保存する前にアドバイスを有効にし、作業が終わったら無効にすることでした。これは面倒に聞こえます。advicesの慣用的な使い方は何でしょうか?
13 hooks  cc-mode  advice 

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