Emacs

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

2
elispイディオム(ブール値と引用符付きの引数)を理解していますか?
elispに関する基本的な質問があります。 私はしばしば次のようなものを見ます (search-forward "something" nil 'noerror) そして時々私は次のようなものを見ます (search-forward "something" nil :noerror) 違いは何ですか?他のフォームよりも1つのフォームを優先する必要がありますか? 私が理解している限り、空のリスト以外はブール値のコンテキストではtrueと評価されます。しかし、どうして次のようになります: 「何か」という検索'noerror用語がバッファに存在しない場合、の代わりにを使用すると、ポイントはバッファの最後にジャンプしtます。ときは、tそれがポイントの滞在を使用しています。 最初のケース: (search-forward "something" nil 'noerror);; 1.Evaluate this ;; end of buffer 2.point jumps here 2番目のケース: (search-forward "something" nil t);; 1.Evaluate this, 2. Point stays here ;; end of buffer
7 boolean 


1
関数をローカルでオーバーライドしますが、元の関数の呼び出しを許可します
アドバイス機能により、関数の動作をグローバルに変更できます。アドバイス定義は、元の関数を呼び出すことができます。 (defadvice foo (around foo-bar activate compile) "Always set `qux' to t when running `foo'." (let ((qux t)) ad-do-it)) clパッケージは提供しflet、ローカルの機能を無効にするマクロを。 (defun foo () "global") (flet ((foo () "local")) (some-code-that-calls-foo)) それは元のfoo関数への参照を許可しません。ローカルのオーバーライドで元の関数を呼び出す必要がある場合はどうなりますか? (defun foo () "global") (flet ((foo () (concat (foo) "+local"))) ;; this will cause an infinite loop when (foo) is …



3
# 'そして無効な関数ですか?
リストのすべての値が真実かどうかを確認しようとしています。何らかの理由で、次の(apply #'and lst)エラー: 無効な関数:および これは私が試し(cl-reduce #'and lst)たときにも起こります。 ただし、(apply #'max lst)正常に動作するようです。 現在、私はを使用(eval `(and ,@lst))していますが、それは醜く感じます。
7 functions 


1
パッケージをインストールする簡単な方法は何ですか?
私はすでにMELPAを使用しています。この質問は、パッケージをインストールする実際のメカニズムについてです。私の現在のプロセスは: M-x パッケージリストパッケージ C-s name-of-package C-s その単語の別のインスタンスだけでなく、パッケージの実際の名前になるのに十分な回数。 RET (これにより、パッケージの詳細が別のバッファーで開かれるので...) C-x o 他のバッファに切り替える down down C-e left 「インストール」という単語の上にカーソルを置く RET y RET 手順4〜8(特に#5と#6)を実行するための、それほど扱いにくい方法はないと思います。私は知ってM-x package-installいますが、*Packages*バッファ内の説明を読みたいです。任意のヒント?

1
Emacs Macポート(railwaycat)でcommand-h hideを無効にする方法
私は私からの切り替えしようとしている、マックOSX上でEmacsを実行マックOSX用のEmacsにEmacsのマックポート。キーバインドに問題があります。 たとえば、command-hをにバインドしようとしていreplace-stringます。 (setq mac-command-modifier 'super) (define-key key-minor-mode-map (kbd "s-h") 'replace-string) これはうまくいきませんでした。だから私はそれをハイパーとしてバインドしようとしました: (define-hyper-key "h" 'replace-string) しかし、それもうまくいきませんでした。 他のキーバインドを変更する(動作するようには思えないs-o、s-pなど)。 これは関連している可能性があります:「その他を非表示」をrailwaycat / emacs-mac-portのキー「Msh」にバインドする方法は? command-h for replace-stringは、Emacs for Mac OSXで動作しますが、Emacs Mac Portでは、アプリケーションウィンドウを非表示または最小化するだけです。Emacs Macポートでのキーバインドの動作は、Emacs for Mac OSXでの動作とは異なりますか?一部のキーバインドはEmacs Macポートにハードコードされていますか?その場合、どのようにしてそれらをオーバーライドできますか? 更新:他のユーザーが同じ問題を抱えているようです。https://github.com/railwaycat/emacs-mac-port/issues/78

2
Neotreeバッファーの固定幅を調整するにはどうすればよいですか?
emacs 24を使用して、Neotreeパッケージを使用しようとすると、ウィンドウの固定幅の変更で問題が発生します。私はlispの責任のあるチャンクを見つけたと思いますが、値を変更してもリロードに役立ちません。 (defcustom neo-window-width 25 "*Specifies the width of the NeoTree window." :type 'integer :group 'neotree)
7 window  osx 

3
.dir-locals.elのホワイトリスト
それはロードすることが可能である.dir-locals.el私に、私は、そのファイルに設定していた値を追加することなく、また私にメッセージを表示せずにファイルを、しかし、init.elでcustom-set-variables?私が欲しいのは、そのファイルには機密データが含まれており、自分のを共有する癖があるinit.elため、ロードするだけだからです。一般的に、.dir-locals.el評価すべきではない不適切なコードが含まれている可能性があることを理解しています。なので、たぶんのホワイトリストみたいなものがあるのではないかと思っていました.dir-locals.el。 更新 一般的に私が達成したいのは、追加の手間をかけずにロードされる「プロジェクト」全体のemacs構成ファイルを用意することです。だからそれが不可能な場合.dir-locals.el-私は他の解決策を受け入れる:D


2
大きなハッシュテーブルの読み込みをスピードアップする方法は?
マニュアル(http://www.gnu.org/software/emacs/manual/html_node/elisp/Creating-Hash.htmlの最後の段落)と質問/programming/11745097から理解できるように/ stackoverflowでは、ハッシュテーブルの印刷バージョンをディスクに保存して、後で使用するためにロードすることができます。 たとえば、以下によって作成されたハッシュテーブルの印刷版 (setq ht (make-hash-table :test 'equal)) (puthash "orange" 1 ht) (puthash "apple" 2 ht) 以下のとおりであります #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ("orange" 1 "apple" 2)) この印刷されたバージョンは、Emacsが使用できる(速度を考慮して)すでに最良のフォーマットですか?Emacsがこのハッシュテーブルをより速くロードするために、上記の印刷されたフォーマットをより良いフォーマット(おそらく機械可読のみ)に再フォーマットする(バイトコンパイルする、変更する)特別な手順はありますか?答えが肯定的な場合、それを行う方法は何ですか。

2
clone-indirect-buffer-other-windowで構文の強調表示が失敗する
私は通常、Pythonコードをpythonモードで編集するときに間接バッファーを使用し、を実行してそれらを作成しますclone-indirect-buffer-other-window。メインバッファーの構文の強調表示は問題ないように見えますが、間接バッファーでは正しくない場合があります。具体的には、一部の終了引用符が無視され、コードの大きなチャンクが長いリテラル文字列の一部であるかのように色付けされているようです。 私はこれについて他の場所での言及を見つけていませんし、なぜそれが起こりうるのか手がかりもありません。これがなぜであるか、および/またはそれを解決する方法を誰かが知っていますか? この質問は関連している可能性があります。彼が間接バッファに言及していないため(私はそれらにのみ問題があります)、また、間接バッファは数分待っても適切な構文強調表示に更新されません。

4
構文強調表示されたコードをRTFまたはHTMLとしてコピーするにはどうすればよいですか?
Emacsを使用して、後でMS-Word文書に貼り付けて構文の強調表示を維持したいコードサンプルを作成しています。これを行うには、テキストをRTFまたはHTML形式でコピーする必要があることを理解しています。 現在私はEmacsからhttp://www.tohtml.comに殺し、そこからコピーしてWordに貼り付けています。誰かがどこかでおそらくこのプロセスを少なくとも数回のキーストロークを短くするためにいくつかのLispを書いたと思われますが、既存の解決策やこれが可能であることを示唆するドキュメントで何かを見つけることができません。 だから私は自分の構成に含めることができる既製のソリューションがあるかどうか、またはこれを達成するために何かを書く方法について誰かがポインタを持っているかどうか知りたいと思っています。 私はEmacsをかなり愛していますが、それを愛していますが、私のe-Lispは現在非常に基本的です。

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