dersblog

Emacs

Emacs hiç kuşkusuz, bol özellikli, ve esnek bir editör.

Ubuntu üzerinde kurmak için

sudo apt-get install emacs25

Başlatmak için ben bir alias kullanıyorum çünkü o script içinden bir Python sanal ortam başlatıyorum, böylece Emacs icindeyken istediğim Python paketlerine de erişebiliyoruz. Çünkü Python script'leri çoğunlukla Emacs içinden işletirim, eğer Emacs süreci Python paketlerinden habersiz ise, script işini yapamaz. Mesela env3 adlı bir ortam için

alias em='source /home/burak/Documents/env3/bin/activate; emacs & disown '

Emacs'ın tüm başlangıç ayarlarını bir el dosyasında tutabiliriz. Olağan haliyle Emacs ev dizini $HOME altındaki .emacs dosyasını arar. Fakat bu dosya ev dizininde silinir, kaybolur endisesi ile biz orada

(load-file "/dizin/dizin/emacs-ayar.el")

gibi başka bir dosyayı yükleriz, yani ayarlar emacs-ayar.el içinde oluyor mesela, ki bu dosya kod deposu içinde güvenli.

Emacs,

Ekte göstereceğimiz kodlar, benim .emacs config dosyamdan alındı. İlk önce açıklamayı, sonra kodun kendisini sunacağım.

Örnek .emacs

Emacs içinden derleme yapmak, istenilen komut buraya girilebilir,

(setq compile-command "make ")

Metin incelerken, Emacs göstergesinden, kaçıncı satırda olduğumuzu görmek:

(setq column-number-mode t)

Sevdiğim renkler..

(set-face-background 'modeline "darkred")
(set-face-foreground 'modeline "white")
(set-face-foreground 'region "lightgrey")
(set-face-background 'region "white")
(set-background-color  "navyblue")
(set-foreground-color "white")
(set-cursor-color "turquoise")

Sevdiğim boyutlar..

(set-frame-width (selected-frame) 83)
(set-frame-height (selected-frame) 49)

Tuşların ne yaptığını tamamen değiştirebilirsiniz. Şahsen ben ok tusları yerine (uzak oldukları için) Control tuşu ile alfabe harflerine beraber basarak ileri-geri gitmeyi tercih ediyorum. 4 yön için, sol = control-J, sağ = control-L, yukarı = control-P ve aşağı = control-N kullandık.

(define-key global-map "\C-m" 'newline-and-indent)
(global-unset-key "\C-f")
(global-unset-key "\C-w")
(global-unset-key "\C-d")
(global-unset-key "\C-l")
(global-unset-key "\C-p")
(global-unset-key "\C-j")
(global-unset-key "\C-k")
(global-unset-key "\C-o")
(global-set-key "\C-o" 'other-window)
(global-set-key "\C-p" 'previous-line)
(global-set-key "\C-k" 'backward-delete-char-untabify)
(global-set-key "\C-n" 'next-line)
(global-set-key "\C-j" 'backward-char)
(global-set-key "\C-f" 'backward-kill-word) ;; geriye git, kelime sil
(global-set-key "\C-w" 'backward-word) ;; geri git, kelime atla
(global-set-key "\C-d" 'forward-word) ;; ileri kelime atla
(global-set-key "\C-l" 'forward-char) ;; ileri git
(global-set-key "\C-p" 'previous-line) ;; onceki satir
(global-set-key "\C-t" 'kill-line) ;; satir sil
(global-set-key "\C-x\c" 'compile) ;; derle
(global-set-key [f9] 'kill-buffer) ;; hafizadaki metni hafizadan cikar
(global-set-key "\C-c\i" 'indent-region) ;; dile gore, secilmis alani duzenle
(global-set-key "\C-c\k" 'kill-region) ;; secilmis alani sil
(global-set-key "\C-c\c" 'copy-region-as-kill) ;; secilmis alani kopyala
(global-set-key "\C-c\u" 'scroll-cursor-to-top)
(global-set-key "\C-x\q" 'query-replace) ;; ara ve degistir
(global-set-key "\C-x\g" 'goto-line) ;; satir no'ya atla

Emacs programlama dili kiplerinden bahsetmiştim. Bu kiplere geçmek için "Esc-x java-mode (enter)" gibi komut işletirseniz Emacs kipe geçecektir. Fakat eğer bu geçişin otomatik olmasını istiyorsanız, aşağıdakini yapabilirsiniz.

(setq auto-mode-alist
 (append '(("\\.C$"   . c++-mode)
("\\.cc$"  . c++-mode)
("\\.cpp$" . c++-mode)
("\\.log$" . hscroll-mode)
("\\.cxx$" . c++-mode)
("\\.hxx$" . c++-mode)
("\\.h$"   . c++-mode)
("\\.hh$"  . c++-mode)
("\\.idl$" . c++-mode)
("\\.c$"   . c-mode)
           ("\\.pl$" . perl-mode)
           ("\\.java$" . java-mode)
           ("\\.jsp$" . java-mode)
           ("\\.inc$" . html-mode)
           ("\\.rb$" . ruby-mode)
           ("\\.?[Ff][Aa][Qq]$" . faq-mode)
           ("\\.txt$" . text-mode))
   auto-mode-alist))

Ayrıca, Emacs kullanırken Control tusunu çok kullanmak gerekiyor. Yeni bilgisayarların çogunda Control tuşu oldukça alttadır. Sürekli Ctrl tuşuna basacağım derken Emacs kullanıcıları el felci geçirmesin diye, çözüm olarak CAPS tuşunu Control tuşuna çevirmek iyi olabilir. CAPS düğmesi yukarıda olduğu için, sol serçe parmağı ile basmak çok rahhattır. Bu degisimler isletim sistemi seviyesinde yapilir. Ubuntu yazilarinda isliyoruz. Windows'da yapmak için, su dosyayi indirip, üzerine tıklayın. Sorulan soruya evet diye cevap verin. Bilgisayarı kapatıp açtıktan sonra, CAPS düğmeniz Control gibi işliyor olacak.

Referans

Pymacs

Ayarlarım (My Config File)

Unicode, Ascii, Deascii, Python, Emacs


Yukarı