Emacs Genel Ayarlar

Bir önce ki yazıda emacs konfigürasyonu için gerekli yapıyı oluşturduk. Şimdi emacs için birkaç eklenti yapalım ve kendimize göre bazı ayarları açıp kapatalım. Bu makale içinde ki tüm ayarları emacs-default.el dosyası içine yazacağım. Sadece düzenli olması için.


-> İlk ayarımız tema. Ben monokai teması kullanıyorum. Theme isminde bir klasör oluşturdum ve monokai temasını bu klasörün içine kopyaladım.

-> Tabiki siz direk olarak M-x el-get-install diyerek te istediğiniz paketi yükleyebilirsiniz. Ben tema konusunda biraz daha manuel yolu seçiyorum.

;; ----------------- THEME
(add-to-list 'custom-theme-load-path "~/.emacs.d/theme")
(load-theme 'monokai t)

-> Genel olarak emacs, vim kullananlar mouse kullanmıyor. Ama benim gibi touchpadı kullanmak isteyenler, mouse kullanmak isteyenler için bir ayar.

;; ----------------- Mouse Integration
(require 'mouse) ;; needed for iterm2 compatibility
(xterm-mouse-mode t)
(global-set-key [mouse-4] '(lambda ()
(interactive)
(scroll-down 1)))
(global-set-key [mouse-5] '(lambda ()
(interactive)
(scroll-up 1)))
(setq mouse-sel-mode t)
(defun track-mouse (e))

-> Şimdi backup dosyamızı oluşturalım ve birkaç ayar yapalım.
(https://www.emacswiki.org/emacs/ForceBackups)

;; ----------------- BACKUP
(setq backup-directory-alist '(("." . "~/.emacs.d/backups"))
delete-old-versions t ;; otomatik silmesi icin (https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup-Deletion.html)
version-control t
vc-make-backup-files t
auto-save-file-name-transforms '((".*" "~/.emacs.d/auto-save-list/" t)))

-> Şimdi geçmiş için ayarlarımızı oluşturalım

;; ----------------- HISTORY
(savehist-mode 1) ;; savehist modumuzu aktif ettik
(setq savehist-file "~/.emacs.d/savehist" ;; kaydetmesini istedigimiz dosya ismini belirttik
history-length t
history-delete-duplicates t
savehist-save-minibuffer-history 1
savehist-additional-variables
'(kill-ring search-ring regexp-search-ring))

-> Başlangıç ekranı için birkaç ayar değiştirelim. Başlangıçta bizim yazdığımız yazı gözüksün ve bazı gereksiz ayarları kapatalım çünkü emacs’ı terminal üzerinde kullanacağız.

;; ----------------- Startup Screen Conf
(setq initial-scratch-message ";; Hi Kerem, How is it going? o_O"
inhibit-startup-screen t)
(menu-bar-mode -1)
(toggle-scroll-bar -1)

-> Diğer ayar parantezleri bizim için eşleştirsin ve gecikme ayarıda 0sn olsun.

;; ----------------- Show Matching Parenthesis
(show-paren-mode t)
(setq show-paren-delay 0)

-> Son ayarımızıda dosyayı kaydettikten sonra whitespace bıraktıysak bizim için temizlesin.

;; ----------------- WHITESPACE CLEANUP
(add-hook 'before-save-hook 'whitespace-cleanup)

Bu yazıda da basit olarak genel ayarlarımızı yapmış olduk. Diğer yazıda birkaç plugin yükleyerek ayarları yaparız.