「知っておくべき」Emacsコマンドとは何ですか?[閉まっている]


22

私はかなり新しいEmacsに変換し、主に新しい便利なコマンドを見つけ続けるため、エディターとして本当に気に入っています。私のリストに欠けている他のプログラマーの「必知」コマンドはありますか?

M-x replace-string     - Find and replace a given string.
M-x goto-line          - Goto a specific line
M-x column-number-mode - Show the current column number in text bar

9
Cx Cc。いいえ、真剣に、私はEmacsが大好きです。
アダムクロスランド

6
Mx viモード

1
org-modeはメモに最適です。ただし、コマンドではありません。
kasterma

別のコマンドではありませんが、ido-modeを見ると便利です。
kasterma

5
Mg Mgはgoto-lineの短い呼び出しです
フランクシェラー

回答:


20
  • Ch a-適切な検索関数
  • Ch b-describe-bindingを実行します
  • Ch k-describe-keyを実行
  • Ch f-describe-functionを実行します
  • Ch v-describe-variableを実行します

それらを知っていれば、emacsを探索して、まだ知らないものを見つけることができます。学ぶ方法を学ぶ、それは不可欠です。他のすべては後で見つけることができます。


6
aproposの検索機能- CH
ASM

3
Aproposはリストの一番上になければなりません。ドキュメントを読むには、まず物事を発見する必要があります。
スターブルー

23

さて、最初にテキスト編集の基本のいくつかを知る必要があります。

C-w : Cut 
M-w : Copy
C-y : Paste
C-x s : save
C-x c : save all and close

次に、ファイル内を移動する方法を学ぶと便利です。

M-b : back one word
M-f : foward one word
C-a : beginning of line
C-e : end of line
C-n : next line
C-p : previous line
M-< : beginning of buffer
M-> : end of buffer   

それから、複数のファイル/バッファとウィンドウでナビゲートする方法を学び始めるのは良いことです

C-x C-f : find file
C-x b : switch buffer
C-x k : kill buffer
C-x 2 : split-window-vertically
C-x 3 : split-window-horizontally
C-x o : switch window
C-x 0 : kill this window
C-x 1 : kill all other windows

その後、ここにいくつかのその他の項目があります。便利になるコマンド:

C-s : search
C-r : search backward
M-/ : autocomplete word (based on previous words in the file)
M-x : align-regexp
M-( : start keyboard macro
M-) : end keyboard macro
C-x e: execute keyboard macro.

完全なリファレンス:リンク


これを印刷し、何百万回も賛成する必要があると思います。
CodexArcanum

確かに、最後の3つのマクロは、emacsを大きな勝利にするものです。あなたはそれを微妙に使うことができ、人々はemacsが超能力だと思うでしょう。
マクニール

2
むしろM-/ : autocomplete word (based on previous words in the file)そうではありませんか?(バックスラッシュではなくスラッシュ?またはこれを他の何かと混同していますか?)
ヘイレム

@ヘイレム、あなたは正しい。答えを修正しました。
GSto

実際にM-xはですexecute-extended-command。バインドされていないコマンドに使用します(align-regexpその1つにすぎません)。
rsenna

11

コーディング中に非常に便利:

M-; : comment-dwim

comment-dwimは、現在の領域のコメントを切り替えます。コメントされていない場合はコメントし、逆も同様です。現在の言語モードにより、emacsはコメントの作成方法を知ることができます。

デフォルトでは、アクティブな領域がなく、行にテキストがある場合、行の最後にコメントが挿入されます。個人的には、現在の行全体をコメントにすることを好みます。

      ;; Original idea from
      ;; http://www.opensubscriber.com/message/emacs-devel@gnu.org/10971693.html
      (defun comment-dwim-line (&optional arg)
        "Replacement for the comment-dwim command.
        If no region is selected and current line is not blank and we are not at the end of the line,
        then comment current line.
        Replaces default behaviour of comment-dwim, when it inserts comment at the end of the line."
          (interactive "*P")
          (comment-normalize-vars)
          (if (and (not (region-active-p)) (not (looking-at "[ \t]*$")))
              (comment-or-uncomment-region (line-beginning-position) (line-end-position))
            (comment-dwim arg)))
      (global-set-key "\M-;" 'comment-dwim-line)

http://www.emacswiki.org/emacs/CommentingCodeから自分で盗んだ


いいね!これについては知りませんでした。
GSto

comment-or-uncomment-regionはコメントの目的を好みます。必要に応じて、コードブロックを一時的にコメントアウトできます。
イナイマティ

C-をバインドします。ラインケースを処理し、元の機能でコメントを泳ぎ続けるために、トグルコメントオンラインに。
クリスクラーク

エラー、およびトグル-コメント-オンライン機能を含める必要がありました:) (defun toggle-comment-on-line () (interactive) (comment-or-uncomment-region (line-beginning-position) (line-end-position)))
クリスクラーク

6

チュートリアル(Ch t)を試してください。それはあなたに多くの基本的なキーバインディングを教えます、そして、あなたはさらにもっと面白いものを探し始めることができます。


私はそのことを聞いたことがないと言って恥ずかしい!
ヘイレム

3

M-x apropos

M-x describe-key

M-x describe-bindings

C-x C-f ~/.emacs (これを実行する前にElispを知っていると役立ちます)

他のほとんどすべては個人的な好みです。Emacsがエディターであるかのように人々は時々話します。

それは真実ではない。

Emacsは、エディターを簡潔に表現するために設計された言語です(つまり、Elispが最高の「機能」です)。それからどれだけのマイレージを得るかは、この原則をどれだけよく理解しているかに直接および完全に依存します。


1
Lispがプログラム可能なプログラミング言語であることを考えると、素晴らしい対称性です。(または、プログラミング言語を簡潔に記述することを可能にするプログラミング言語。)
フランクシェラー

1
正しくない。EmacsはインタラクティブなLISP環境であり、特定のLISPの設計上の決定を、エディターとエディター拡張機能の作成を容易にする方法で解決しました。
ジョンR.ストローム

1
M-:

これにより、ミニバッファー内の任意のelispを評価できます

C-x C-q

ファイルの読み取り専用表示

C-c C-c

コメント領域

とりわけ!


1
  • Cj(Mx改行とインデント)
  • CM- \(Mxインデント領域)
  • M-。(Mx find-tag)コードでetagsを実行する必要があります
  • M- /(Mx dabbrev-expand)
  • MXコンパイル
  • Cx vv(Mx vc-next-action)
  • MXフォントロックモード

使用する言語モードのドキュメントを読む(Ch m(Mx describe-mode))

私も(Mxシェル)、M-の大ファンです!(Mxシェルコマンド)およびM- | (Mx shell-command-on-region)emacs内からコマンドを実行し、出力をカットアンドペーストできるのは非常に便利だからです。

また、Mxソートライン、Mxソートフィールド、およびMxソートnumフィールドは、アルファベット順または数値順に物の長いリスト(変数名など)を保持するのに役立ちます。



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