Jakie są polecenia Emacsa „musisz wiedzieć”? [Zamknięte]

22

Jestem dość nowym konwerterem na Emacsa i naprawdę uwielbiam go jako edytora, przede wszystkim dlatego, że wciąż znajduję nowe i bardzo przydatne polecenia. Czy na mojej liście brakuje innych poleceń programistycznych „musi znać”?

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
Chris Smith
źródło
9
Cx Cc. Nie, serio, kocham Emacsa.
Adam Crossland,
6
Tryb VI vi ....
1
Tryb org świetnie nadaje się do notatek. Ale to nie polecenie.
kasterma
kolejna nie komenda, ale miło patrzeć na tryb ido.
kasterma
5
Mg Mg jest krótszą inwokacją linii goto
Frank Shearar

Odpowiedzi:

20
  • Ch a - Funkcje wyszukiwania Apropos
  • Ch b - uruchamia wiązanie opisowe
  • Ch k - uruchamia klawisz opisu
  • Ch f - uruchamia funkcję opisu
  • Ch v - uruchamia zmienną opisową

Jeśli je znasz, możesz badać emacsa i znajdować rzeczy, których wciąż nie znasz. Naucz się, jak się uczyć, to podstawa. Wszystko inne można dowiedzieć się później.

Alexey Voinov
źródło
6
Ch a - Funkcje wyszukiwania Apropos
asm
3
Apropos powinien znajdować się na górze listy. Najpierw musisz odkryć rzeczy, zanim zaczniesz czytać dokumentację.
starblue,
23

Cóż, najpierw musisz znać niektóre z podstaw edycji tekstu:

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

Następnie warto nauczyć się poruszać po pliku:

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   

Następnie dobrze jest zacząć uczyć się nawigacji w wielu plikach / buforach i oknach

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

Po tym, oto kilka innych misc. polecenia, które mogą się przydać:

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.

Aby uzyskać pełne odniesienie: link

GSto
źródło
Myślę, że muszę to wydrukować i zagłosować milion razy.
CodexArcanum,
Rzeczywiście, ostatnie trzy makra sprawiają, że emacs jest wielką wygraną. Możesz go używać subtelnie, a ludzie będą myśleć, że emacs jest medium.
Macneil,
2
prawda M-/ : autocomplete word (based on previous words in the file)? (slash zamiast back-slash? A może mylę to z czymś innym?)
Haylem,
@haylem, masz rację. naprawiłem to w odpowiedzi.
GSto,
W rzeczywistości M-xjest za execute-extended-command. Używasz go do niezwiązanych poleceń (i align-regexpjest tylko jednym z nich).
rsenna
11

Niezwykle przydatne podczas kodowania:

M-; : comment-dwim

comment-dwim przełącza komentowanie bieżącego regionu; komentowanie, jeśli nie jest komentowane, i odwrotnie. Twój obecny tryb językowy pozwala emacsowi wiedzieć, jak komentować.

Domyślnie, jeśli nie ma aktywnego regionu i na linii jest tekst, wstawi on komentarz na końcu linii. Osobiście wolę, aby komentował całą bieżącą linię, co osiąga:

      ;; Original idea from
      ;; http://www.opensubscriber.com/message/[email protected]/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)

Ukradłem to sam z http://www.emacswiki.org/emacs/CommentingCode

Jason Viers
źródło
miły! nie wiedziałem o tym i chciałem, żeby istniał.
GSto,
Wolę comment-or-uncomment-regionw celach komentowania. Pozwala mi to tymczasowo skomentować blok kodu.
Inaimathi,
Wiążę C-; przełączać komentarze na linii, aby obsłużyć wielkość liter i zachować komentarz-dwim dzięki swojej oryginalnej funkcjonalności.
Chris Clark,
Err, i powinien był włączyć funkcję przełącz-komentuj-on-line :) (defun toggle-comment-on-line () (interactive) (comment-or-uncomment-region (line-beginning-position) (line-end-position)))
Chris Clark
6

Spróbuj wykonać samouczek (Ch t). Uczy wielu podstawowych skrótów klawiszowych, a następnie możesz zacząć szukać jeszcze więcej zabawy.


źródło
Wstydzę się powiedzieć, że nigdy o tym nie słyszałem!
haylem,
3

M-x apropos

M-x describe-key

M-x describe-bindings

C-x C-f ~/.emacs (pomaga, jeśli znasz Elisp przed uruchomieniem tego)

Prawie wszystko inne jest osobistą preferencją. Ludzie czasem mówią o Emacsie, jakby był redaktorem.

To nieprawda.

Emacs to język zaprojektowany, by zwięźle wyrażać redaktorów (to znaczy Elisp jest jego najlepszą „funkcją”). To, ile przejechujesz, zależy bezpośrednio od tego, jak dobrze rozumiesz tę zasadę.

Inaimathi
źródło
1
Niezła symetria, biorąc pod uwagę, że lisp jest programowalnym językiem programowania. (Lub język programowania, który pozwala z powodzeniem opisać język programowania.)
Frank Shearar,
1
Niepoprawnie. Emacs to interaktywne środowisko LISP, w którym niektóre decyzje projektowe LISP zostały rozwiązane w sposób, który ułatwia pisanie edytorów i rozszerzeń edytora, oraz całą masę kodu standardowego, częściowo skompilowanego w infrastrukturę, które pomagają pisać edytory.
John R. Strohm,
1
M-:

pozwala to ocenić dowolną elipsę w minibuforze

C-x C-q

tylko do odczytu pliku

C-c C-c

region komentarza

pośród innych!

Brad Clawsie
źródło
1
  • Cj (Mx nowa linia i wcięcie)
  • CM- \ (region wcięcia Mx)
  • M- (Mx find-tag) wymaga uruchomienia etagów w kodzie
  • M- / (Mx dabbrev-expand)
  • Kompilacja MX
  • Cx vv (Mx vc-next-action)
  • Tryb blokady czcionek MX

i przeczytaj dokumentację dla używanego trybu językowego (Ch m (tryb opisu Mx))

Jestem także wielkim fanem (powłoki Mx), M-! (Mx-polecenie powłoki) i M- | (Mx shell-command-on-region), ponieważ uważam za bardzo przydatne, aby móc uruchomić polecenie z emacsa i wyciąć i wkleić dane wyjściowe.

Ponadto linie sortowania Mx, pola sortowania Mx i pola sortowania Mx są przydatne do utrzymywania długich list rzeczy (np. Nazw zmiennych) w kolejności alfabetycznej lub numerycznej.


źródło
-1

Bufor przywracania MX jest tym, którego często używam.

Paul Nathan
źródło
(global-auto-revert-mode 1) w twoim pliku emacs, również tego często używałem.
asm