Що таке команди "must know" 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-mode ....

1
org-mode відмінно підходить для нот. Не команда, хоча.
kasterma

інша не команда, але приємно дивитися на ido-mode.
kasterma

5
Mg Mg - коротша виклик
гото

Відповіді:


20
  • Ч а - функції пошуку
  • Ch b - виконує опису-зв'язування
  • Ch k - виконує опис-ключ
  • Ch f - виконує функцію опису
  • Ch v - виконує описувальну змінну

Якщо ви знаєте їх, ви можете досліджувати emacs і знаходити речі, які досі не знаєте. Дізнайтеся, як навчитися, це важливо. Про все інше можна дізнатися пізніше.


6
Ch a - Функції пошуку Apropos
asm

3
Апропос повинен бути вгорі списку. Спочатку ви повинні відкрити речі, перш ніж ви зможете прочитати документацію.
starblue

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

Дійсно, останні три макроси - це те, що робить emacs великим виграшем. Ви можете використовувати його тонко, і люди будуть вважати, що emacs є психічним.
Macneil

2
чи не так M-/ : autocomplete word (based on previous words in the file)? (коса риса замість зворотної косої риси? Або я плутаю це з чимось іншим?)
haylem

@haylem, ти маєш рацію. зафіксував це у відповіді.
GSto

Фактично M-xдля execute-extended-command. Ви використовуєте його для незв'язаних команд (і align-regexpце лише одна з них).
rsenna

11

Неймовірно зручно при кодуванні:

M-; : comment-dwim

comment-dwim буде перемикати коментарі щодо поточного регіону; коментуючи, якщо це не коментується, і навпаки. Ваш поточний мовний режим дозволяє емакам знати, як робити коментарі.

За замовчуванням, якщо немає активного регіону та є текст у рядку, він додасть коментар у кінці рядка. Особисто я вважаю за краще, щоб він коментував весь поточний рядок:

      ;; 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для своїх коментарів. Це дозволяє мені коментувати блок коду тимчасово, якщо мені потрібно.
Inaimathi

Я зв’язую С-; щоб переключити коментарі в режимі on-line, щоб обробити регістр рядка і зберегти comment-dwim з його оригінальною функціональністю.
Кріс Кларк

Помилка, і повинна була бути включена функція перемикання коментарів в режимі он-лайн :) (defun toggle-comment-on-line () (interactive) (comment-or-uncomment-region (line-beginning-position) (line-end-position)))
Кріс Кларк

6

Спробуйте зробити підручник (Ch t). Це вчить вас безлічі основних клавішних зв'язків, а потім ви можете почати шукати ще веселіші.


Соромно сказати, що я ніколи про це не чув!
haylem

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, вирішені способами, які спрощують запис редакторів та розширень редактора, і безліч консервованих кодів, деякі з них складені в інфраструктуру, які допомагають писати редактори.
Джон Р. Стром

1
M-:

це дозволяє оцінити довільний еліпс у мінібуфері

C-x C-q

лише перегляд файлу

C-c C-c

область коментарів

серед інших!


1
  • Cj (Mx новий рядок і відступ)
  • CM- \ (відступ регіону Mx)
  • М-. (Mx find-tag) вимагає запуску етагів у вашому коді
  • M- / (Mx dabbrev-розширити)
  • Компіляція Mx
  • Cx vv (Mx vc-наступна дія)
  • Режим блокування шрифту Mx

і читати документацію для використовуваного мовного режиму (Ch m (опис Mx-режиму))

Я також величезний фанат (Mx shell), M-! (Команда оболонки Mx) та M- | (Mx shell-command-on-region), бо я вважаю, що це дуже зручно, щоб можна було запускати команди зсередини emacs та вирізати та вставити вихід.

Крім того, рядки сортування Mx, поля сортування Mx та поля сортування Mx сортування Mx корисні для зберігання довгих списків речей (наприклад, імен змінних) в алфавітному чи числовому порядку.


-1

Mx revert-буфер - це той, який я багато використовую.


(режим глобального автоматичного повернення 1) у вашому файлі emacs, я також багато використовував.
асм

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.