Emacs komutlarının 'bilmesi gereken' komutları nelerdir? [kapalı]


22

Ben Emacs'a oldukça yeni bir dönüşüm yapıyorum ve editör olarak çok seviyorum, çünkü öncelikle yeni ve çok kullanışlı komutlar bulmaya devam ediyorum. Listemde eksik olan başka bir programcı 'bilmesi gereken' komutları var mı?

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. Hayır, cidden, Emacs'ı seviyorum.
Adam Crossland

6
Mx vi mod ....

1
org modu notlar için mükemmeldir. Yine de bir komut değil.
kasterma

başka bir komut değil, ama ido moduna bakmak güzel.
kasterma

5
Mg Mg,
goton

Yanıtlar:


20
  • Ch a - Apropos arama fonksiyonları
  • Ch b - açıklama bağlama çalıştırır
  • Ch k - tanım anahtarı çalıştırır
  • Ch f - tanımlama fonksiyonunu çalıştırır
  • Ch v - tanım değişkenini çalıştırır

Bunları biliyorsanız, emac'leri keşfedebilir ve hala bilmediğiniz şeyleri bulabilirsiniz. Öğrenmeyi öğrenin, bu gerekli. Her şey daha sonra bulunabilir.


6
Ch a - Apropos arama işlevleri
as

3
Apropos listenin başında olmalı. İlk önce, dokümanları okuyabilmeniz için önce bir şeyler keşfetmeniz gerekir.
starblue

23

Öncelikle, metin düzenlemenin temellerinden bazılarını bilmeniz gerekir:

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

Ardından, dosya etrafında nasıl gezinileceğini öğrenmek kullanışlı olacaktır:

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   

Ardından, birden fazla dosya / tampon ve pencereyle nasıl gezinileceğini öğrenmeye başlamak iyidir.

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

Ondan sonra, işte birkaç yanlış var. kullanışlı gelebilecek komutlar:

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.

Tam bir referans için: link


Sanırım bunu yazdırıp seni milyonlarca kez büyütmem gerekiyor.
CodexArcanum

Gerçekten de, son üç makro, emacs'ı büyük kazanç sağlayan şeydir. Nazikçe kullanabilirsiniz ve insanlar emacs psişik olduğunu düşüneceklerdir.
Macneil

2
bu değil M-/ : autocomplete word (based on previous words in the file)mi? (ters eğik çizgi yerine kesik mi? Yoksa bunu başka bir şeyle mi karıştırıyorum?)
haylem

@ haylem, haklısın. cevabında düzelttim.
GS,

Aslında M-xiçindir execute-extended-command. Sınırsız komutlar için kullanırsınız (ve align-regexpbunlardan sadece biridir).
rsenna

11

Kodlama yaparken inanılmaz derecede kullanışlı:

M-; : comment-dwim

comment-dwim şu anki bölge hakkında yorum yapacaktır; yorum yapılmadıysa yorum yapma ve tersi. Geçerli dil modunuz, emacs'ın yorum yapmayı bilmesini sağlar.

Varsayılan olarak, aktif bölge yoksa ve satırda metin varsa, satırın sonuna bir yorum ekleyecektir. Şahsen, bunun gerçekleştirdiği mevcut hattın tamamını yorumlamasını tercih ederim:

      ;; 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 adresinden kendim çaldım


Güzel! bunun hakkında bir şey bilmiyordum ve var olmasını dileyerek kendimi buldum.
GSto

Tercihim comment-or-uncomment-regionbenim yorum yapma amaçlı. Gerekirse geçici olarak bir kod bloğunu yorumlamama izin veriyor.
Inaimathi

C- yi bağlarım; satır halinde işlemek için on-line-toggle toggle ve yorum-dwim orijinal işlevselliği ile tutmak için.
Chris Clark

Err ve toggle-yorum-on-line işlevini içermelidir :) (defun toggle-comment-on-line () (interactive) (comment-or-uncomment-region (line-beginning-position) (line-end-position)))
Chris Clark

6

Öğreticiyi yapmayı deneyin (Ch t). Size temel tuşların birçoğunu öğretiyor ve daha sonra daha eğlenceli olanları aramaya başlayabilirsiniz.


Bunu hiç duymadığım için utanıyorum!
haylem

3

M-x apropos

M-x describe-key

M-x describe-bindings

C-x C-f ~/.emacs (Bunu çalıştırmadan önce Elisp'i tanıyorsanız yardımcı olur)

Hemen hemen her şey kişisel tercihtir. İnsanlar bazen Emacs hakkında bir editör gibi konuşurlar.

Bu doğru değil.

Emacs editörleri kısaca ifade etmek için tasarlanmış bir dildir (yani Elisp en iyi 'özelliğidir'). Bundan kaç kilometreden kaçtığınızı doğrudan ve tamamen bu prensibi ne kadar iyi anladığınıza bağlıdır.


1
Güzel simetri, lisp'in programlanabilir bir programlama dili olduğu düşünülürse. (Veya, bir programlama dilini
kısaca

1
QUITE doğru değil. Emacs, bazı LISP tasarım kararlarını editör ve editör eklentileri yazmayı kolaylaştıracak şekillerde çözülmüş etkileşimli bir LISP ortamıdır ve bazıları da editör yazmaya yardımcı olan altyapıya derlenmiş bir sürü hazır kod vardır.
John R. Strohm

1
M-:

bu, mini tampondaki keyfi elispleri değerlendirmenize olanak sağlar

C-x C-q

bir dosyanın salt okunur olarak görüntülenmesi

C-c C-c

yorum bölgesi

diğerleri arasında!


1
  • Cj (Mx newline-ve-girinti)
  • CM- \ (Mx girintili bölge)
  • M-. (Mx bulma etiketi) kodunuzda etags çalıştırılmasını gerektirir
  • M- / (Mx dabbrev-genişlet)
  • Mx derleme
  • Cx vv (Mx vc-sonraki işlem)
  • Mx yazı tipi kilidi modu

ve kullandığınız dil modunun belgelerini okuyun (Ch m (Mx açıklama modu))

Ben de (Mx shell) büyük bir hayranıyım, M-! (Mx kabuk komutu) ve M- | (Mx shell-on-region-region) çünkü ben emacs içinden komutu çalıştırmak ve çıktıyı kesip yapıştırmak için çok kullanışlı buluyorum.

Ayrıca, Mx sıralama-çizgileri, Mx sıralama-alanları ve Mx sıralama-num-alanları, uzun şeylerin listesini (değişken isimleri gibi) alfabetik veya sayısal sırada tutmak için kullanışlıdır.


-1

Mx geri döndürme-arabellek çok kullandığım bir tanesidir.


(global-auto-revert-mode 1) emacs dosyanızda, çok da kullandım.
asm

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.