Emacs

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

1
Emacsに「ローカルアンドゥ」拡張機能はありますか?
変更をローカルまたは行単位で元に戻したいことがよくあります。たとえば、ソースコードの複数の行を変更し、そのうちの1つだけを元に戻したい場合は、元に戻すツリー全体をステップスルーして、戻りたい状態を見つける必要があります。マークされた領域またはポイントがあるラインのみを元に戻すことができればより良いでしょう。すでに存在するこのようなものはありますか?
16 editing  undo 

2
行末を超えて長方形に作用する方法は?
Vimのドキュメントには次のように書かれています。 仮想編集とは、実際の文字が存在しない場所にカーソルを配置できることを意味します。これは、タブの途中まで、または行の終わりを超えることができます。ビジュアルモードで四角形を選択し、テーブルを編集するのに便利です。 できれば、これをマイナーモードまたは組み込みの設定として実装してください。

2
magitのファイルをチェックアウトする方法は?
マージの競合があるとしましょう。次のような競合ファイルが表示されます。 Unstaged changes: Unmerged Foo/bar/wibble/plop/elbow.txt ここでTabキーを押して変更を開き、ファイル内の特定の場所にジャンプして手動で修正することもできますが、大きなファイルの場合は多くの競合が発生し、時間がかかる可能性があります。 競合を解決するために、gitにmagitを介してファイルのoursまたはtheirsバージョンをチェックアウトする方法を教えてください。パスをコピーしてからを使用Shift-:してカスタムgitコマンドを入力できますが、これにはキーボードショートカットが必要なようです。magitメニューまたは?ポップアップに明らかなものが表示されません。
16 magit 

1
ブログの<kbd>タグを組織モードで作成したい
私はブログをorg-modeとorg-pageで書いて公開しています。問題は、Emacsについて書きたいことです。StackExchangeが&lt;kbd&gt;タグで行うように、キーストロークを強調表示したいと思います。これを取得する:C-x C-f他の何かの代わりに! どのように、またはどのようにこれを達成できますか?
16 org-mode 

1
機能の先頭にジャンプしてから現在のポイントに戻る最良の(最小限のキーストローク)方法は?
時々、関数の開始が見えない長い関数の中にいます。最近(which-function-mode)、どの機能がモードラインで機能の名前を示しているかを学びましたが、機能の開始点にすばやくジャンプして、できるだけ簡単に戻ることができるようにしたいと思います。 これまでのところ、2つの解決策を見つけました。 マークを使用する C-SPC 現在のポイントをマーク C-M-a 機能の先頭に戻る C-x C-x 現在のポイントとマークを交換します(ジャンプして戻ります) C-g マークされた地域をキャンセル レジスタを使用する C-x r SPC p レジスタ「p」に現在のポイントを保存 C-M-a 機能の先頭に戻る C-x r j p レジスタ「p」に保存されたポイントにジャンプ もっと良い方法はありますか?.emacsファイルにelispを追加することに反対しません。

1
ウィンドウ分割の方向を切り替える、最速の方法
次のように2つのバッファを開いているとします。 ------------------------------------ | | buffer 1 | buffer 2 | | | ------------------------------------ これを得るためにバッファを切り替える最も速い方法は何ですか: ------------------------------------ buffer 1 | | ------------------------------------ buffer 2 | | ------------------------------------
16 buffers  window 

2
一致したペア内にあるかどうかを検出する方法は?
Q:ポイントが文字の一致ペア内にあるかどうかを検出する一般的な方法はありますか? つまり、ポイントが一致したペアまたは任意に選択された文字の間にあるかどうかを判断できる一般的な述語関数(または何か)はありますか?ポイントtを!参照して、たとえば次のシナリオで評価するものについて考えています: "!" (quotes in general) ``!'' (LaTeX quotes) $!$ (LaTeX math) (!) (lisp parens) *!* (org emphasis) 編集:syntax-ppss良い出発点のようですが、どのように複数文字の一致するペア(たとえば、「LaTeX引用符」、さらにはmatched &lt;b&gt;html tags&lt;/b&gt;)にそれを適応させるかは明確ではありません。一般的な解決策があるのか​​、それとも専用のパーサーが必要なのか疑問に思っています。
16 elisp  syntax 

2
Org Babelを使用して変数ファイル名に絡ませる
ファイルに絡むコードスニペットがあるが、時間の経過とともにファイル名が変わると予想される場合、Query-replaceよりもファイル名を変更するよりクリーンな方法はありますか? たとえば、コードを〜/ dir / my-file.elに絡めたとします。 #+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el (setq myvar1 "value1") #+END_SRC #+BEGIN_SRC emacs-lisp :tangle ~/dir/my-file.el (defun foo (bar) ... ) #+END_SRC etc. その後、私はファイルが別の場所に配置される方が良いことに気付きます: #+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el (setq myvar1 "value1") #+END_SRC #+BEGIN_SRC emacs-lisp :tangle ~/dir/my/file.el (defun foo (bar) ... ) #+END_SRC etc. 引数を:tangleに動的に変更する方法はありますか。 私は、elispを:tangle引数にフィードできることを調査し、発見しました。私が評価(setq myfile "~/dir/file.el)し、次を絡めた場合: #+BEGIN_SRC emacs-lisp …

1
フレームの分割をブロックするにはどうすればよいですか?
現在、私はrubyとrspecを使用しています。コンパイルバッファを表示する別のモニターに別のフレームを持つというアイデアが本当に好きです。現在の設定では、「コード」フレーム(実際の作業を行う)と「テスト結果」フレーム(rspecの結果を見る)を使用しています。 問題は、「テスト結果」フレームでコンパイルエラーまたはファイルを開こうとすると、そのフレームでウィンドウが分割されることです。私が本当にやりたいのは、「コード」フレームで開くことです。 私はすでにオプションを使用していますdisplay-buffer-reuse-frames。コンパイル結果ウィンドウも設定しようとしましたが、dedicatedemacsが新しいウィンドウを開こうとするたびに、新しいフレームが作成されます(Helmを使用する場合は特にひどいです)。 これを達成する簡単な方法はありますか?
16 window  frames 

1
アーティストモードでユニコードで描画するにはどうすればよいですか?
アーティストモードでユニコードアートを作りたいです。ただし、アーティストモードはASCIIアートのみをサポートしているようです。 代わりにプロデュースするアーティストモードを設定するにはどうすればよいですか +---------------+ | | | +-------+--+ | | | | | | | | | | | | +-------+-------+ | | | | | | | +----------+ この ┌───────────────┐ │ │ │ ┌───────┼──┐ │ │ │ │ │ │ │ │ │ │ │ │ └───────┼───────┘ │ │ │ …
16 unicode 

3
「ibuffer」で列幅を設定する
の列の幅をカスタマイズする方法はありますibufferか?具体的には、「名前」列を広げて、バッファー名が切り捨てられる前に読み取れるようにします。私は試しましたBuffer-menu-name-widthが、Buffer-menu変数はによって使用されていないようですibuffer。私も試してみましたM-x customize-group RET ibuffer RETが、関連するものはありませんでした。

2
タブ補完にivyを使用するようにeshellをセットアップするにはどうすればよいですか?
私はivy完了が非常に好きで、Emacsが何らかの種類の完了を使用するほぼすべての場所(ivy-mode 1)を取得するのに単純なもので十分であるivyことを愛しています(これはオーバーライドすることで達成されますcompleteing-read)。しかし、これはタブ補完eshellに使用するようには設定されていませんivy。eshellの補完候補のリストは気に入っていますが、ivyUIの中から選択することを好みます。eshell完了候補を生成し、それを「ivy」に渡すために行うことを再利用する方法はありますか?
16 eshell  ivy 

1
`setq-local`は何をしますか、そしていつそれを使うべきですか?
ここでSXですべてのドキュメントと多数の投稿を読んだ後でも、バッファローカル変数のすべてのバリエーションについては明確ではありません。 私の理解の概要は次のとおりです。 (defvar foo ..)ファイルの動的変数を宣言します。ただし、変数は(1)defvar ステートメントも含まれていない限り、他のファイルには認識されません。(2)変数はバッファーローカルではなくスコープ内でグローバルです。 (make-variable-buffer-local foo)defvar上記は、変数fooが設定されている場合、変数fooが設定されているすべての場所でバッファローカルとして扱われることをコンパイラと他のすべての人に伝えた後です。そのため、このパターンは、バッファローカル変数を宣言するのに適したスタイルであり、ファイルに両方のステートメントを連続して配置します。 (defvar xxx ...) ;declare xxx with global scope (make-variable-buffer-local 'xxx) ;but now make it buffer-local everywhere 便宜上、(defvar-local xxx ...)フォームは上記の2行の代わりに1行として使用できます。 (defvar-local xxx ...) ;make xxx buffer local everywhere 上記のように宣言されると、変数xxxはsetqステートメントの他の変数と同様に使用できます。 既にグローバルダイナミック変数であるバッファローカル変数の単一のインスタンスが必要な場合は、次の宣言を使用します。最初のステートメントはグローバルスコープの動的変数を宣言し、2番目のステートメントはその変数のバッファーローカルバージョンのインスタンスを現在のバッファーに1つだけ作成します。 (defvar xxx ...) ;declare xxx with global scope (make-local-variable 'xxx) ;make xxx local …

2
Orgmodeエクスポート:コメント行の新しい行を防ぐ方法
現在、私のorgmode(v8.3.4)は、LaTeX(およびおそらく他の形式ですがチェックしていない)にエクスポートするときに、コメント行または連続したコメント行のブロックに新しい行を生成します。LaTeXでは新しい段落が作成されるため、これは望ましくありません。私が書くとき、私はしばしばパラグラフの真ん中の行または2つをコメントする必要がありますが、そのパラグラフを2つに分割したくありません。現在、このorgmodeの動作のため、これらのコメント行を段落の後に移動する必要があります。これは、テキストを修正するときに混乱を招く可能性があります。 以下は最小限の例です。orgmodeソースは次のとおりです。 First sentence. # Commented sentence. Last sentence. これは、orgmodeによってLaTeXにエクスポートされます(プリアンブルを省略): \begin{document} \tableofcontents First sentence. Last sentence. \end{document} 最初の文と最後の文の間には空の行があり、1つではなく2つの段落になります。 orgmodeのこの動作を停止する方法はありますか?コメント行、またはコメント行のブロックは、改行ではなく、0バイト/文字にエクスポートする必要があります。これは、コメントを処理するときのLaTeXの動作です。


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