man/text
man · Metin İşleme

$ mg

Bölüm 1 · Metin İşleme

Emacs benzeri metin düzenleyici

Özet

mg [-nR] [-b dosya] [-f mod] [-u dosya] [+sayı] [dosya ...]

Açıklama

mg, şu ya da bu nedenle Emacs çalıştırmak istemeyen (veya çalıştıramayan) ya da vi(1) düzenleyicisine aşina olmayan kişiler için küçük, hızlı ve taşınabilir bir düzenleyici olarak tasarlanmıştır. Emacs ile uyumludur, çünkü Emacs veya vi(1) dışında daha fazla düzenleyici türü öğrenmek için hiçbir neden olmamalıdır.

Seçenekler

  • +sayı: Sayı ile belirtilen satıra gider (+ işareti ile sayı arasına boşluk koymayın). Negatif bir sayı belirtilirse, satır numarası dosyanın sonundan geriye doğru sayılır; yani +-1 dosyanın son satırı, +-2 sondan ikinci satırı olur ve bu şekilde devam eder.

  • -b dosya: Toplu iş (batch) modunu açar, belirtilen dosyadaki mg komutlarını yürütür ve ardından sonlanır.

  • -f mod: Scratch arabelleği ve tüm dosyalar dahil olmak üzere, komut satırı argümanlarından oluşturulan tüm arabellekler için mod komutunu çalıştırır.

  • -n: Yedek dosya oluşturmayı kapatır.

  • -R: Komut satırında belirtilen dosyalar salt okunur olarak açılır.

  • -u dosya: Varsayılan ~/.mg yerine, belirtilen dosyayı başlangıç dosyası olarak kullanır.

Pencereler ve Arabellekler

mg içine bir dosya yüklendiğinde bir arabellekte (buffer) saklanır. Bu arabellek ekranda birden fazla pencerede görüntülenebilir. Şu anda pencereler yalnızca yatay olarak bölünebilmektedir, bu nedenle her pencere alttaki bir durum satırı (modeline) ile sınırlandırılmıştır. Bir arabellekte değişiklik yapılırsa, bu değişiklik tüm açık pencerelere yansır.

Eğer bir dosya mg dışında değiştirilmişse ve arabelleği değiştirilmek üzereyse, mg değişikliğin devam edip etmeyeceğini (y), devam etmeyeceğini (n) veya arabelleğin diskteki en son dosyaya geri döndürülüp döndürülmeyeceğini (r) sorar.

Bir arabellek adı yıldız işareti (*) ile başlayıp bitiyorsa, bu arabellek tek kullanımlık (throwaway) olarak kabul edilir; yani arabellek kapatıldığında (kill) kullanıcıya değişiklikleri kaydetmesi için herhangi bir soru sorulmaz.

İmleç Noktası ve İşaret (Point ve Mark)

mg içindeki geçerli imleç konumuna imleç noktası (point veya dot) adı verilir. İşaret (mark) adı verilen ikinci bir konum ayarlayarak pencereye özel bir metin bölgesi tanımlamak mümkündür. Bölge, imleç noktası ile işaret arasındaki (bunlar dahil) metindir. İşaret konumundaki karakterin silinmesi, işareti silme noktasında bırakır.

Not: Diğer Emacs türevlerinin aksine mg'de imleç noktası ve işaret arabelleğe değil, pencereye özeldir.

Yedek Dosyaları

Yedek dosyalarının adına bir ‘~’ karakteri eklenir ve bunlar varsayılan olarak geçerli çalışma dizininde oluşturulur. Yedek dosyası oluşturulup oluşturulmayacağı make-backup-files komutu ile açılıp kapatılabilir. Yedek dosyası konumu geçerli çalışma dizininde olabilir veya benzersizliği korumak için dosyaların yol adlarını koruduğu bir ~/.mg.d dizinine tüm yedekler taşınabilir. Bu iki konum arasında geçiş yapmak için backup-to-home-directory komutunu kullanın. Ayrıca, herhangi bir uygulama /tmp içinde yedek dosyaları oluşturursa, bunlar leave-tmpdir-backups komutu ile orada bırakılabilir.

Etiketler (Tags)

mg, ctags(1) tarafından oluşturulan etiket dosyalarını destekleyerek kullanıcının çeşitli nesne tanımlarını hızlı bir şekilde bulmasını sağlar. Ancak Emacs'in ctags değil etags kullandığını unutmayın.

Cscope

mg, cscope kullanarak kaynak kodda gezinmeyi destekler. Ancak bunun çalışabilmesi için mg'nin PATH içinde cscope ve cscope-indexer yürütülebilir dosyalarının bulunmasını gerektirdiğini unutmayın.

Varsayılan Tuş Bağlantıları

Normal düzenleme komutları GNU Emacs'e çok benzer. Aşağıdaki örneklerde C-x, Control-x anlamına gelir ve M-x, Meta-x anlamına gelir; burada Meta tuşu klavyedeki özel bir tuş veya ALT tuşu olabilir; aksi takdirde ESC tuşunun ardından X tuşuna basılması da işe yarar.

C-SPC	 set-mark-command
C-a		 beginning-of-line
C-b		 backward-char
C-c s c	 cscope-find-functions-calling-this-function
C-c s d	 cscope-find-global-definition
C-c s e	 cscope-find-egrep-pattern
C-c s f	 cscope-find-this-file
C-c s i	 cscope-find-files-including-file
C-c s n	 cscope-next-symbol
C-c s p	 cscope-prev-symbol
C-c s s	 cscope-find-this-symbol
C-c s t	 cscope-find-this-text-string
C-d		 delete-char
C-e		 end-of-line
C-f		 forward-char
C-g		 keyboard-quit
C-h C-h	 help-help
C-h a	 apropos
C-h b	 describe-bindings
C-h c	 describe-key-briefly
C-j		 newline-and-indent
C-k		 kill-line
C-l		 recenter
RET		 newline
C-n		 next-line
C-o		 open-line
C-p		 previous-line
C-q		 quoted-insert
C-r		 isearch-backward
C-s		 isearch-forward
C-t		 transpose-chars
C-u		 universal-argument
C-v		 scroll-up
C-w		 kill-region
C-x C-b	 list-buffers
C-x C-c	 save-buffers-kill-emacs
C-x C-f	 find-file
C-x C-j	 dired-jump
C-x C-g	 keyboard-quit
C-x C-l	 downcase-region
C-x C-o	 delete-blank-lines
C-x C-q	 toggle-read-only
C-x C-r	 find-file-read-only
C-x C-s	 save-buffer
C-x C-u	 upcase-region
C-x C-v	 find-alternate-file
C-x C-w	 write-file
C-x C-x	 exchange-point-and-mark
C-x (	 start-kbd-macro
C-x )	 end-kbd-macro
C-x 0	 delete-window
C-x 1	 delete-other-windows
C-x 2	 split-window-vertically
C-x 4 C-f	 find-file-other-window
C-x 4 C-g	 keyboard-quit
C-x 4 b	 switch-to-buffer-other-window
C-x 4 f	 find-file-other-window
C-x =	 what-cursor-position
C-x ^	 enlarge-window
C-x `	 next-error
C-x b	 switch-to-buffer
C-x d	 dired
C-x e	 call-last-kbd-macro
C-x f	 set-fill-column
C-x g	 goto-line
C-x h	 mark-whole-buffer
C-x i	 insert-file
C-x k	 kill-buffer
C-x n	 other-window
C-x o	 other-window
C-x p	 previous-window
C-x s	 save-some-buffers
C-x u	 undo
C-y		 yank
C-z		 suspend-emacs
M-C-v	 scroll-other-window
M-SPC	 just-one-space
M-!		 shell-command
M-.		 find-tag
M-*		 pop-tag-mark
M-%		 query-replace
M-<		 beginning-of-buffer
M->		 end-of-buffer
M-\		 delete-horizontal-space
M-^		 join-line
M-b		 backward-word
M-c		 capitalize-word
M-d		 kill-word
M-f		 forward-word
M-h		 mark-paragraph
M-l		 downcase-word
M-m		 back-to-indentation
M-q		 fill-paragraph
M-r		 search-backward
M-s		 search-forward
M-t		 transpose-words
M-u		 upcase-word
M-v		 scroll-down
M-w		 copy-region-as-kill
M-x		 execute-extended-command
M-z		 zap-to-char
M-{		 backward-paragraph
M-|		 shell-command-on-region
M-}		 forward-paragraph
M-~		 not-modified
M-DEL	 backward-kill-word
C-_		 undo
)		 blink-and-insert
DEL		 delete-backward-char

mg komutlarının tam açıklaması için MG KOMUTLARI bölümüne bakın. İstediğiniz zaman etkin tuş bağlantılarını görmek için M-x describe-bindings yazın.

Mg Komutları

Komutlar M-x ile veya bir tuşa bağlanarak çağrılır. Birçok komut isteğe bağlı bir sayısal parametre (n) alır. Bu parametre, komuttan önce ya M-<n> (n sayısal argümandır) tuşlanarak ya da genellikle C-u tuşuna bağlı olan universal-argument komutunun bir veya daha fazla kez çağrılmasıyla ayarlanır. Bu şekilde çağrıldığında, iletilecek sayısal parametrenin değeri M-x'ten önce mini arabellekte (minibuffer) görüntülenir. Parametrenin yaygın kullanım alanlarından biri mod geçişleridir (örneğin make-backup-files). Hiçbir parametre sağlanmazsa, mod alternatif durumuna geçirilir. Pozitif bir parametre sağlanırsa, mod açık olmaya zorlanır. Aksi takdirde, kapalı olmaya zorlanır.

  • apropos: Apropos Yardımı. Kullanıcıdan bir dize ister, *help* arabelleğini açar ve bu dizeyi içeren tüm mg komutlarını listeler.

  • audible-bell: Sesli sistem zilini açıp kapatır.

  • auto-execute: Bir otomatik yürütme kancası (auto-execute hook) kaydeder; yani, belirtilen kalıpla eşleşen bir dosya bir arabelleğe okunduğunda yürütülecek bir dosya adı kalıbı (kabuğun dosya adı eşleştirme kurallarına uygun) ve ilişkili bir işlev belirtir.

  • auto-fill-mode: Geçerli arabellekte, doldurma sütununu aşan metnin otomatik olarak yeni bir satıra kaydırıldığı auto-fill modunu (bazen mail-mode olarak adlandırılır) açıp kapatır. set-default-mode ile genel (global) olarak ayarlanabilir.

  • auto-indent-mode: Geçerli arabellekte, yeni bir satıra geçildikten sonra girintinin korunduğu girinti modunu açıp kapatır. set-default-mode ile genel (global) olarak ayarlanabilir.

  • back-to-indentation: İmleç noktasını (dot) geçerli satırdaki ilk boşluk olmayan karaktere taşır.

  • backup-to-home-directory: Yedek kopyaları çalışma dizini yerine bir ~/.mg.d dizinine kaydeder. make-backup-files seçeneğinin açık olmasını gerektirir.

  • backward-char: İmleci bir karakter geriye taşır.

  • backward-kill-word: Metni geriye doğru n kelime siler (kill).

  • backward-paragraph: İmleci geriye doğru n paragraf taşır. Paragraflar , veya ile sınırlandırılır.

  • backward-word: İmleci belirtilen kelime sayısı kadar geriye taşır.

  • beginning-of-buffer: İmleci arabelleğin en üstüne taşır. Ayarlanmışsa işaretin (mark) konumunu korur, aksi takdirde geçerli konumda ayarlar. Sayısal bir n argümanı, en üstten itibaren yolun n/10'u kadar hareket ettirir.

  • beginning-of-line: İmleci satırın başına taşır.

  • blink-and-insert: Bir karakteri doğrudan ekler, ardından geriye doğru arama yapar ve eşleşen sınırlayıcısını yanıp söndürür. Parantez, köşeli parantez ve süslü parantez dışındaki sınırlayıcılar için karakterin kendisi kendi eşleşmesi olarak kullanılır. Başlangıç dosyasında global-set-key komutu ile kullanılabilir.

  • bsmap-mode: DEL ve C-h tuşlarının yer değiştirdiği bsmap modunu açıp kapatır.

  • c-mode: C program dosyalarını düzenlemek için KNF uyumlu bir modu açıp kapatır.

  • call-last-kbd-macro: Klavye makrosunu çağırır.

  • capitalize-word: n kelimeyi büyük harfle başlatır; yani kelimenin ilk karakterini büyük harfe, sonraki harfleri ise küçük harfe dönüştürür.

  • cd: Genel çalışma dizinini değiştirir. Ayrıca global-wd-mode komutuna bakın.

  • column-number-mode: Sütun numarasının durum satırında (modeline) gösterilip gösterilmeyeceğini açıp kapatır.

  • copy-region-as-kill: Bölgedeki tüm karakterleri silme arabelleğine (kill buffer) kopyalar ve ardından işareti temizler. Bu, kill-region komutunun ardından yank komutunun çalıştırılmasına benzer.

  • count-matches: Sağlanan düzenli ifade (regular expression) ile eşleşen satırların sayısını sayar.

  • count-non-matches: Sağlanan düzenli ifade (regular expression) ile eşleşmeyen satırların sayısını sayar.

  • cscope-find-this-symbol: Verilen sembol için eşleşmeleri listeler.

  • cscope-find-global-definition: Verilen sabit değer (literal) için genel tanımları listeler.

  • cscope-find-called-functions: Verilen işlevden çağrılan işlevleri listeler.

  • cscope-find-functions-calling-this-function: Verilen işlevi çağıran işlevleri listeler.

  • cscope-find-this-text-string: Verilen metin dizesiyle eşleşen konumları listeler.

  • cscope-find-egrep-pattern: Verilen genişletilmiş düzenli ifade kalıbıyla eşleşen konumları listeler.

  • cscope-find-this-file: Verilen dosya adıyla eşleşen dosya adlarını listeler.

  • cscope-find-files-including-file: Verilen dosya adını #include ile dahil eden dosyaları listeler.

  • cscope-next-symbol: Bir sonraki eşleşmeye gider.

  • cscope-prev-symbol: Bir önceki eşleşmeye gider.

  • cscope-next-file: Bir sonraki dosyaya gider.

  • cscope-prev-file: Bir önceki dosyaya gider.

  • cscope-create-list-of-files-to-index: Belirtilen dizinde cscope'un Listesini ve Dizinini oluşturur.

  • define-key: Kullanıcıdan adlandırılmış bir tuş haritası (mod), bir tuş ve bir mg komutu ister, ardından uygun haritada bir tuş bağlantısı oluşturur.

  • delete-backward-char: Geriye doğru n karakter siler. delete-char gibi, bir argümanla sunulduğunda aslında silme (kill) işlemi yapar.

  • delete-blank-lines: İmleç noktasının etrafındaki boş satırları siler. İmleç noktası boş bir satırda bulunuyorsa, bu komut geçerli satırın üstündeki ve altındaki tüm boş satırları siler. Aksi takdirde, geçerli satırdan sonraki tüm boş satırları siler.

  • delete-char: İleriye doğru n karakter siler. Herhangi bir argüman varsa, silmek yerine yok eder (kill) ve sonucu silme arabelleğine (kill buffer) kaydeder.

  • delete-horizontal-space: İmleç noktasının etrafındaki tüm boşlukları siler.

  • delete-leading-space: Geçerli satırdaki baştaki boşlukları siler.

  • delete-trailing-space: Geçerli satırdaki sondaki boşlukları siler.

  • delete-matching-lines: İmleç noktasından sonra, sağlanan düzenli ifadeyle eşleşen bir dize içeren tüm satırları siler.

  • delete-non-matching-lines: İmleç noktasından sonra, sağlanan düzenli ifadeyle eşleşmeyen bir dize içeren tüm satırları siler.

  • delete-other-windows: Geçerli pencereyi ekranda görünen tek pencere yapar.

  • delete-window: Geçerli pencereyi siler.

  • describe-bindings: Tüm genel ve yerel tuş bağlantılarını listeleyerek sonucu *help* arabelleğine yerleştirir.

  • describe-key-briefly: Klavyeden bir tuş okur ve bunu tuş haritasında arar. Şu anda tuşa bağlı olan işlevin adını görüntüler.

  • diff-buffer-with-file: Arabellek ile onunla ilişkili dosya arasındaki farkları görüntüler.

  • digit-argument: Klavye ile çağrılan işlevler için sayısal bir argümanı işler.

  • dired-jump: Geçerli arabelleğin dizin konumunu içeren bir dired arabelleği açar.

  • downcase-region: Bölgedeki tüm karakterleri küçük harfe dönüştürür.

  • downcase-word: İmleç noktasından başlayarak n kelime sonrasına kadar olan karakterleri küçük harfe dönüştürür.

  • emacs-version: Bir mg sürüm dizesi döndürür.

  • end-kbd-macro: Bir klavye makrosu tanımlamayı durdurur.

  • end-of-buffer: İmleci arabelleğin sonuna taşır. Ayarlanmışsa işaretin konumunu korur, aksi takdirde geçerli konumda ayarlar. Sayısal bir n argümanı, sondan itibaren yolun n/10'u kadar hareket ettirir.

  • end-of-line: İmleci satırın sonuna taşır.

  • enlarge-window: Üstündeki veya altındaki pencereyi daraltarak geçerli pencereyi büyütür.

  • eval-current-buffer: Geçerli arabelleği bir dizi mg komutu olarak değerlendirir. mg başlangıç dosyalarını test etmek için kullanışlıdır.

  • eval-expression: Kullanıcıdan tek bir satır alır ve bunu çalıştırır. mg başlangıç dosyalarındaki ifadeleri test etmek için kullanışlıdır.

  • exchange-point-and-mark: Geçerli penceredeki "dot" (imleç noktası) ve "mark" (işaret) değerlerinin yerini değiştirir. Herhangi bir işaret ayarlanmamışsa hata döndürür.

  • execute-extended-command: Genişletilmiş bir komutu çağırır; yani M-x. Komut adını okumak ve buna otomatik tamamlama uygulamak için mesaj satırı yordamını çağırır. Geri döndüğünde, adı sembol tablosunda arar ve bulunursa, argümanları gerektiği gibi ileterek komutu çalıştırır. Bir sorun varsa hata yazdırır.

  • fill-paragraph: Metni geçerli doldurma sütununda kaydırarak bir paragrafı hizalar.

  • find-file: Düzenlemek üzere bir dosya seçer. İlk önce dosyanın başka bir arabellekte bulunup bulunmadığını kontrol eder; eğer oradaysa, sadece o arabelleğe geçer. Dosya bulunamazsa, yeni bir arabellek oluşturur, dosyayı diskten okur ve yeni arabelleğe geçer.

  • find-file-read-only: find-file ile aynıdır, ancak yeni arabellek salt okunur olarak ayarlanır.

  • find-alternate-file: Geçerli dosyayı alternatif bir dosyayla değiştirir. Yedek dosyayı bulma semantiği find-file ile aynıdır, ancak geçiş yapılmadan önce geçerli arabellek kapatılır (kill). Kapatma işlemi başarısız olursa veya iptal edilirse, orijinal dosyaya geri dönülür.

  • find-file-other-window: Belirtilen dosyayı ikinci bir arabellekte açar. Gerekirse geçerli pencereyi böler.

  • find-tag: İmleç noktasındaki etiketin (tag) tanımına atlar.

  • forward-char: İmleci ileriye (veya n negatifse geriye) n karakter taşır. Arabelleğin sonuna ulaşılırsa hata döndürür.

  • forward-paragraph: İleriye doğru n paragraf taşır. Paragraflar , veya ile sınırlandırılır.

  • forward-word: İmleci belirtilen kelime sayısı kadar ileriye taşır.

  • global-set-key: Genel (temel - fundamental) tuş haritasında bir tuşu bağlar.

  • global-unset-key: Genel (temel - fundamental) tuş haritasından bir tuşun bağlantısını kaldırır; yani 'rescan' olarak ayarlar.

  • global-wd-mode: Genel çalışma dizini (working-directory) modunu açıp kapatır. Etkinleştirildiğinde, mg varsayılan olarak dosyaları genel çalışma dizinine göre açar (ve compile ile grep gibi komutları buna göre yürütür). Devre dışı bırakıldığında, her arabellek için bir çalışma dizini ayarlanır.

  • goto-line: Belirli bir satıra gider. Bir argüman varsa, bu satır numarasıdır, aksi takdirde kullanılacak satır numarasını sorar.

  • help-help: (a)propos, (b)indings, des(c)ribe key briefly seçeneklerinden birini sorar.

  • insert: Esas olarak makrolardan kullanılmak üzere bir dize ekler.

  • insert-buffer: Başka bir arabelleğin içeriğini imleç noktasına ekler.

  • insert-file: Geçerli arabelleğe imleç noktasından itibaren bir dosya ekler.

  • insert-with-wrap: Bağlı karakteri kelime kaydırma ile ekler. Doldurma sütununu geçip geçmediğimizi kontrol eder ve geçilmişse bu satırı hizalar.

  • isearch-backward: Başlangıçta ters yönde olmak üzere artımlı arama (incremental search) kullanır. isearch açık argümanları yoksayar. Makro tanımlama veya değerlendirme sırasında çağrılırsa, bunun yerine artımlı olmayan search-backward çağrılır.

  • isearch-forward: Başlangıçta ileri yönde olmak üzere artımlı arama (incremental search) kullanır. isearch açık argümanları yoksayar. Makro tanımlama veya değerlendirme sırasında çağrılırsa, bunun yerine artımlı olmayan search-forward çağrılır.

  • join-line: Geçerli satırı bir önceki satırla birleştirir. Bir argümanla çağrılırsa, bir sonraki satırı geçerli satırla birleştirir.

  • just-one-space: İmleç noktasının etrafındaki tüm boşlukları siler, ardından bir boşluk ekler.

  • keyboard-quit: Geçerli işlemi iptal eder.

  • kill-buffer: Ada göre bir arabelleği ortadan kaldırır. Arabellek adı bir yıldız işaretiyle başlayıp bitmiyorsa, arabelleğin değiştirilip değiştirilmediğini kullanıcıya sorar.

  • kill-line: Satırı siler (kill). Bir argüman olmadan çağrılırsa, satırın sonunda olmadığı sürece imleç noktasından satırın sonuna kadar olan kısmı siler, satırın sonundaysa yeni satır karakterini (newline) siler. 0 argümanı ile çağrılırsa, satırın başından imleç noktasına kadar olan kısmı siler. Pozitif bir argümanla çağrılırsa, imleç noktasından ileriye doğru belirtilen sayıda yeni satır sınırını aşacak şekilde siler. Negatif bir argümanla çağrılırsa, geçerli satırda imleç noktasından önceki tüm metni siler ve ardından abs(n) satır geriye doğru silme işlemi gerçekleştirir.

  • kill-paragraph: Geçerli paragraftan başlayarak n paragraf siler.

  • kill-region: Şu anda tanımlanmış olan bölgeyi siler (kill).

  • kill-word: İleriye doğru n kelime siler.

  • leave-tmpdir-backups: backup-to-home-directory davranışını değiştirir. Normalde /tmp içinde bulunması gereken yedek dosyaları orada bırakılır ve ~/.mg.d dizinine taşınmaz.

  • line-number-mode: Satır numarasının durum satırında (modeline) gösterilip gösterilmeyeceğini açıp kapatır.

  • list-buffers: Kullanılabilir arabelleklerin listesini görüntüler. Çıktıdaki ilk sütun, '>' karakteri ile hangi arabelleğin etkin olduğunu gösterir. İkinci sütun, hangi arabelleklerin değiştirildiğini gösterir. Üçüncü sütun, hangi arabelleklerin salt okunur olduğunu gösterir. Kalan sütunlar açıklama gerektirmeyecek kadar açıktır.

  • load: Kullanıcıdan bir dosya adı ister ve ardından bu dosyadaki komutları yürütür.

  • local-set-key: Yerel (en üstteki) modda bir tuş eşlemesini bağlar.

  • local-unset-key: Yerel (en üstteki) modda bir tuş eşlemesinin bağlantısını kaldırır.

  • make-backup-files: Yedek dosyalarının oluşturulmasını açıp kapatır. Varsayılan olarak etkindir.

  • make-directory: Kullanıcıdan bir yol veya dizin adı ister ve ardından bunu oluşturur.

  • mark-paragraph: n paragrafı işaretler.

  • mark-whole-buffer: İmleç noktasını arabelleğin başına ve işareti arabelleğin sonuna yerleştirerek tüm arabelleği bir bölge olarak işaretler.

  • meta-key-mode: Devre dışı bırakıldığında, meta tuşu genişletilmiş ASCII (8-bit) karakterleri eklemek için kullanılabilir. Etkinleştirildiğinde, meta tuşu normal şekilde çalışır.

  • negative-argument: Klavye ile çağrılan işlevler için negatif bir argümanı işler.

  • newline: Geçerli arabelleğe bir yeni satır karakteri ekler.

  • newline-and-indent: Bir yeni satır ekler, ardından no-tab-mode ve arabellek sekme genişliğine uyarak önceki satırın girintisini çoğaltmak için yeterli sekme ve boşluk ekler.

  • next-line: İleriye doğru n satır hareket eder.

  • no-tab-mode: Notab modunu açıp kapatır. Bu modda sekme (tab) yerine boşluklar eklenir. set-default-mode ile genel olarak ayarlanabilir.

  • not-modified: Geçerli arabellekteki değiştirildi (modified) bayrağını kapatır.

  • open-line: Boş bir alan açar. Temel olarak n yeni satır ekler ve ardından bunların üzerine geri gider.

  • other-window: Bir sonraki (ekranda aşağıda olan) pencereyi geçerli pencere yapan komuttur. Ekranda yalnızca 1 pencere varsa komut hiçbir şey yapmasa da gerçek bir hata oluşmaz.

  • overwrite-mode: Geçerli arabellekte, yazmanın karakter eklemek yerine mevcut karakterlerin üzerine yazdığı overwrite (üzerine yazma) modunu açıp kapatır. set-default-mode ile genel olarak ayarlanabilir.

  • prefix-region: Bir bölgenin her satırının önüne bir önek dizesi ekler. Önek dizesi, set-prefix-string kullanılarak veya bu komut bir önek argümanı ile çağrılarak ayarlanabilir.

  • previous-line: Geriye doğru n satır hareket eder.

  • previous-window: Bu komut bir önceki (ekranda yukarıda olan) pencereyi geçerli pencere yapar. Sadece 1 pencere varsa komut pek bir şey yapmasa da hata oluşmaz.

  • pop-tag-mark: Daha önce find-tag komutunun çağrıldığı konuma geri döner.

  • push-shell: mg'yi askıya alır ve varsa alternatif ekrana geçer.

  • pwd: Geçerli (genel) çalışma dizinini durum alanında görüntüler.

  • query-replace: Sorgulayarak Değiştir. Dizeleri seçici olarak arar ve değiştirir, her eşleşmeden sonra kullanıcıya sorar.

  • replace-regexp: Her bir eşleşme için sormadan, düzenli ifadeyi genel (global) olarak değiştirir.

  • replace-string: Her bir eşleşme için sormadan, dizeyi genel (global) olarak değiştirir.

  • query-replace-regexp: Dizeleri seçici olarak değiştirir. Her iki kalıp için de düzenli ifadeler kullanarak bir arama ve değiştirme işlemi gerçekleştirir.

  • quoted-insert: Bir sonraki karakteri geçerli arabelleğe kelimesi kelimesine (olduğu gibi) ekler; yani o tuşa bağlı herhangi bir işlevi yoksayar.

  • re-search-again: Son arama komutuyla aynı arama dizesini ve yönünü kullanarak tekrar bir düzenli ifade araması gerçekleştirir.

  • re-search-backward: Düzenli ifade kullanarak geriye doğru arama yapar. Kullanıcıdan bir arama dizesi alır ve imleç noktasından başlayıp arabelleğin başına doğru ilerleyerek arama yapar. Bulunursa, imleç noktası kalıbın ilk karakterini [eşleşen son karakteri] gösterecek şekilde bırakılır.

  • re-search-forward: Düzenli ifade kullanarak ileriye doğru arama yapar. Kullanıcıdan bir arama dizesi alır ve imleç noktasından başlayarak arar. Bulunursa, imleç noktasını eşleşen karakterlerin hemen sonrasına taşır. Görüntüleme tüm zor işleri halleder. Bulunamazsa, sadece bir mesaj yazdırır.

  • recenter: İmleç noktasını geçerli pencerede yeniden konumlandırır. Varsayılan olarak imleç noktası ortalanır. Pozitif bir argüman (n) verilirse, ekran n. satıra yeniden konumlandırılır. n negatifse, alttan o kadar satır sayılır.

  • redraw-display: Ekranı yeniler. Bir şeylerin değişmiş olma ihtimaline karşı tüm pencere boyutlarını yeniden hesaplar.

  • revert-buffer: Geçerli arabelleği diskteki en son dosyaya geri döndürür.

  • save-buffer: Değiştirilmişse geçerli arabelleğin içeriğini kaydeder, isteğe bağlı olarak bir yedek kopya oluşturur.

  • save-buffers-kill-emacs: Değiştirilen arabellekleri kaydetmeyi teklif eder ve mg'den çıkar.

  • save-some-buffers: Arabellek listesine bakar ve değiştirilmiş herhangi bir arabelleği kaydetmeyi teklif eder. Dosyalarla ilişkili olmayan arabellekler (*scratch*, *grep*, *compile* gibi) yoksayılır.

  • scroll-down: Geriye doğru n sayfa kaydırır. Sayfalar arasında iki satırlık bir çakışma olduğu varsayılır. Bir yineleme argümanı verilirse, sayfa değil satır bazında geriye doğru kaydırır.

  • scroll-one-line-down: İmleç konumunu değiştirmeden ekranı n satır aşağı kaydırır.

  • scroll-one-line-up: İmleç konumunu hareket ettirmeden ekranı n satır yukarı kaydırır.

  • scroll-other-window: Pencere listesindeki bir sonraki pencereyi n sayfa ileri kaydırır.

  • scroll-up: Bir sayfa ileri kaydırır. Sayfalar arasında iki satırlık bir çakışma olduğu varsayılır. Bir yineleme argümanı verilirse, sayfa değil satır bazında geriye kaydırır.

  • search-again: Son arama komutuyla aynı arama dizesini ve yönünü kullanarak tekrar arama yapar.

  • search-backward: Ters arama. Kullanıcıdan bir arama dizesi alır ve imleç noktasından başlayıp arabelleğin başına doğru ilerleyerek arama yapar. Bulunursa, imleç noktası kalıbın ilk karakterini (eşleşen son karakteri) gösterecek şekilde bırakılır.

  • search-forward: İleriye doğru arama yapar. Kullanıcıdan bir arama dizesi alır ve imleç noktasından başlayarak arar. Bulunursa imleç noktası eşleşen karakterlerin hemen sonrasına taşınır, bulunamazsa bir mesaj yazdırır.

  • self-insert-command: Bir karakter ekler.

  • sentence-end-double-space: Cümle sonları için çift veya tek boşluk kullanılmasını açıp kapatır. Varsayılan çifttir. Şu anda yalnızca fill-paragraph komutunu etkiler.

  • set-case-fold-search: Aramayı harf büyüklüğüne duyarsız (case-fold) olarak ayarlar, böylece düzenli ifade aramalarında harf büyüklüğü önem taşımaz. Varsayılan budur.

  • set-case-replace: Değiştirilen dizenin harf büyüklüğünü korur. Varsayılan budur.

  • set-default-mode: Sağlanan modu, daha sonraki arabellek oluşturma işlemleri tarafından kullanılan varsayılan modlar listesine ekler. Yerleşik modlar şunlardır: fill, indent, notab ve overwrite.

  • set-fill-column: Kullanıcıdan bir doldurma sütunu (fill column) ister. auto-fill-mode tarafından kullanılır.

  • set-mark-command: Geçerli penceredeki işareti (mark) geçerli imleç noktası konumuna ayarlar.

  • set-prefix-string: prefix-region komutu tarafından kullanılacak önek dizesini ayarlar.

  • set-tab-width: Geçerli arabellek için sekme genişliğini ayarlar veya bir önek argümanı ile ya da başlangıç dosyasından çağrılırsa yeni arabellekler için varsayılan değeri ayarlar.

  • shell-command: Mini arabellekten (minibuffer) harici bir komut yürütür. Bir universal-argument ile, komut çıktısını geçerli arabelleğe ekler.

  • shell-command-on-region: Bölgedeki metni kabuk (shell) komutuna girdi olarak sağlar. Bir universal-argument ile, bölgeyi komut çıktısıyla değiştirir.

  • shrink-window: Geçerli pencereyi bir satır daraltır. Hemen altındaki pencere aradaki boşluğu kapatacak şekilde genişletilir. Sadece tek bir pencere varsa, bu komutun hiçbir etkisi olmaz.

  • space-to-tabstop: Bir sonraki sekme durağı (tab-stop) konumuna ulaşmak için yeterli boşluk ekler. Varsayılan olarak sekme durakları her 8 karakterde bir yer alır.

  • split-window-vertically: Geçerli pencereyi böler. 3 satırdan küçük bir pencere bölünemez.

  • start-kbd-macro: Bir klavye makrosu tanımlamaya başlar. Makro tanımı, end-kbd-macro çağrılıp sonlandırılır.

  • suspend-emacs: mg'yi askıya alır ve kullanımdaysa alternatif ekrana geri döner.

  • switch-to-buffer: Sorgu yapar ve geçerli pencerede yeni bir arabelleğe geçiş yapar.

  • switch-to-buffer-other-window: Başka bir penceredeki arabelleğe geçer.

  • toggle-read-only: Geçerli arabellekteki salt okunur bayrağını açıp kapatır.

  • toggle-read-only-all: Geçici (non-ephemeral) olmayan tüm arabelleklerdeki salt okunur bayrağını açıp kapatır. Genel bir salt okunur bayrağını açan veya kapatan basit bir geçiştir.

  • transpose-chars: İmleç noktasının önündeki ve altındaki iki karakterin yerini değiştirir, ardından bir karakter ileri hareket eder. Yeni satır karakterlerini diğer karakterlerle aynı şekilde ele alır.

  • transpose-paragraphs: Bitişik paragrafların yerini değiştirir. Birden fazla yineleme istenirse, geçerli paragraf n paragraf ileriye taşınır.

  • transpose-words: Bitişik kelimelerin yerini değiştirir.

  • undo: En son işlemi geri alır. Araya bir komut girmeden tekrar çağrılırsa, geri alma işaretçisini bir önceki işleme taşır ve onu geri alır.

  • undo-boundary: Bir geri alma sınırı (undo boundary) ekler. Bu genellikle etkileşimli olarak yapılmaz.

  • undo-boundary-toggle: Geri alma sınırlarının oluşturulup oluşturulmayacağını açıp kapatır. Geri alma sınırları, genellikle bölünemez (atomically) şekilde geri alınabilmesi gereken işlemlerden önce devre dışı bırakılır.

  • undo-enable: Geri alma bilgisinin tutulup tutulmayacağını açıp kapatır.

  • undo-list: Geçerli arabelleğin geri alma kayıtlarını yeni bir arabellekte gösterir.

  • universal-argument: Sonraki komutu 4 kez tekrarlar. Genellikle C-u tuşuna bağlıdır. Bu komut üst üste kullanılabilir; örneğin C-u C-u C-f imleci 16 karakter ileri taşır.

  • upcase-region: Bölgeyi büyük harfe çevirir. Bölgedeki tüm küçük harfli karakterleri büyük harfe dönüştürür.

  • upcase-word: İmleci belirtilen kelime sayısı kadar ileriye taşır. Hareket ederken karakterleri büyük harfe dönüştürür.

  • visible-bell: Görsel zili açıp kapatır. Bu geçiş açıksa, durum satırı (modeline) yanıp söner.

  • visit-tags-table: Daha sonraki find-tag işlemlerinde kullanılacak etiketler dosyasını yükler.

  • what-cursor-position: İmleç noktasının geçerli konumu hakkında bir dizi yararlı bilgi görüntüler. İmlecin altındaki karakter (oktal biçimde), geçerli satır, satır numarası ve sütun numarası ile imlecin dosyadaki yaklaşık konumu (yüzde olarak) gösterilir. Sütun konumu, sonsuz bir konum ekranı varsayar; sırf ekran sınırlandığı için kesilmez.

  • write-file: Bir dosya adı ister ve geçerli arabelleğin içeriğini o dosyaya yazar. Hatırlanan dosya adını günceller ve arabellek değiştirildi bayrağını temizler.

  • yank: Silme arabelleğinden (kill-buffer) metni geri çağırır (yank). Emacs'in aksine, mg silme arabelleği yalnızca en son silinen metinden oluşur. Bir halka (ring) değildir.

  • zap-to-char: Bir karakter ister ve geçerli imleç konumundan başlayarak bu karakterin bir sonraki örneğine kadar (karakter dahil) metni siler.

  • zap-up-to-char: zap-to-char gibidir ancak hedef karakteri silmez.

Mg Dired Tuş Bağlantıları

Dired modunda özel tuş bağlantıları mevcuttur.

DEL		       dired-unmark-backward
RET, e, f ve C-m   dired-find-file
SPC, n	       dired-next-line
!		       dired-shell-command
+		       dired-create-directory
^		       dired-up-directory
a		       dired-find-alternate-file
c		       dired-do-copy
d ve C-d	       dired-flag-file-deletion
g		       dired-revert
j		       dired-goto-file
o		       dired-find-file-other-window
p		       dired-previous-line
q		       quit-window
r		       dired-do-rename
u		       dired-unmark
x		       dired-do-flagged-delete
C-v		       dired-scroll-down
M-v		       dired-scroll-up

Mg Dired Komutları

Aşağıdakiler dired moduna özgü komutların bir listesidir:

  • dired-create-directory: Bir dizin oluşturur.

  • dired-do-copy: Dired arabelleğinin geçerli satırında listelenen dosyayı kopyalar.

  • dired-do-flagged-delete: Silinmek üzere işaretlenmiş dosyaları siler.

  • dired-do-rename: Dired arabelleğinin geçerli satırında listelenen dosyayı yeniden adlandırır.

  • dired-find-alternate-file: Geçerli dired arabelleğini, dired arabelleğindeki imleç konumuyla belirtilen alternatif bir arabellekle değiştirir.

  • dired-find-file: Dired arabelleğinin geçerli satırındaki dosyayı açır. İmleç bir dizin üzerindeyse, dizin dired modunda açılır.

  • dired-flag-file-deletion: Geçerli satırda listelenen dosyayı silinmek üzere işaretler. Bu durum, arabelleğin sol kenarına bir D konularak gösterilir. dired-do-flagged-delete işlevi yürütülene kadar hiçbir dosya gerçekten silinmez.

  • dired-find-file-other-window: Dired arabelleğinin geçerli satırındaki dosyayı farklı bir pencerede açar.

  • dired-goto-file: İmleci dired arabelleğindeki bir dosya adına taşır.

  • dired-next-line: İmleci bir sonraki satıra taşır.

  • dired-other-window: Bu işlev tıpkı dired gibi çalışır, ancak dired arabelleğini başka bir pencereye yerleştirir.

  • dired-previous-line: İmleci bir önceki satıra taşır.

  • dired-revert: Herhangi bir işareti koruyarak dired arabelleğini yeniler.

  • dired-scroll-down: Dired arabelleğini aşağı kaydırır.

  • dired-scroll-up: Dired arabelleğini yukarı kaydırır.

  • dired-shell-command: Geçerli imleç konumunun altındaki dosyayı bir kabuk komutuna yönlendirir (pipe).

  • dired-unmark: Geçerli satırdaki dosya için silme işaretini kaldırır.

  • dired-unmark-backward: Dired arabelleğinin önceki satırında listelenen dosyanın silme işaretini kaldırır, ardından o satıra yukarı hareket eder.

  • dired-up-directory: Üst dizinde bir dired arabelleği açar.

  • quit-window: Geçerli dired arabelleğini kapatır.

Yapılandırma Dosyaları

İki yapılandırma dosyası vardır: ~/.mg ve ~/.mg-TERM. Burada TERM, terminal türünün adını temsil eder; örneğin terminal türü vt100 olarak ayarlanmışsa mg, başlangıç dosyası olarak ~/.mg-vt100 dosyasını kullanacaktır. İlk olarak terminal türüne özgü başlangıç dosyası kullanılır.

Başlangıç dosyası biçimi, etkileşimli değerlendirme için kullanıldığı gibi, her satırda bir komut olacak şekilde bir komut listesidir. Normalde kullanıcının daha sonraki istemlerde gireceği dizeler komut adından sonra belirtilebilir; örneğin:

global-set-key ")" self-insert-command
global-set-key "\^x\^f" find-file
global-set-key "\e[Z" backward-char
set-default-mode fill
set-fill-column 72
auto-execute *.c c-mode

Yorum satırları, bir satırın ilk karakteri olarak ; veya # yerleştirilerek başlangıç dosyalarına eklenebilir.

Dosyalar

  • ~/.mg: Normal başlangıç dosyası.
  • ~/.mg-TERM: Terminale özgü başlangıç dosyası.
  • ~/.mg.d: Alternatif yedek dosya konumu.
  • /usr/share/doc/mg/tutorial: Kısa öğretici (tutorial).

Ayrıca Bakınız

ctags(1), vi(1)

Ulaşılan Sınırlar ve Uyarılar

Tamamen C dilinde yazıldığından, şu anda uzantıların yazılabileceği bir dil bulunmamaktadır; ancak tuşlar yeniden bağlanabilir ve başlangıç dosyalarında belirli parametreler değiştirilebilir.

8-bitlik karakterleri (Almanca umlaut'lar gibi) kullanabilmek için meta-key-mode komutu aracılığıyla Meta tuşunun devre dışı bırakılması gerekir.

UTF-8 gibi çok baytlı karakter kümeleri desteklenmemektedir.