Emacs ile daha fazla özellik kutudan çıktığı gibi geliyor
(karthinks.com)- Emacs’in yerleşik özellikleri arasında ek paket olmadan kullanılabilen ama pek görünür olmayan birçok araç var; modern Emacs 28.1+ sürümlerinde bile 5 dakikada öğrenilebilecek pratik özellikler keşfedilmeye devam ediyor
- Dosya açma, URL toplama, karşılaştırma ve değişiklik izleme gibi günlük işler
find-file,dired,ffap-menu,compare-windows,highlight-changes-modeile büyük ölçüde halledilebiliyor - Yedek dosyalar ve sürüm kontrolü altındaki dosyalar için
vc-diffailesindeki komutlar genişletilerek önceki sürümle karşılaştırma şeklinde tek bir iş modeli altında birleştirilebiliyor - Düzenleme, gezinme ve görüntüleme işleri;
aproposailesi,find-function-on-key,kmacro-edit-lossage,subword-modeve görüntü düzenleme keymap’i gibi zaten dahil olan özelliklerle hızla iyileştirilebiliyor - Temel çıkarım şu: Emacs’in
lispdizini çok büyük olmasa da yalnızca yerleşik özelliklerle iş akışını genişletmek için hâlâ ciddi bir alan var
Genel bakış ve kapsam
- Emacs özelliklerinde keşfedilebilirlik sorunu var; bu yazı da iyi bilinmeyen ama yararlı yerleşik özellikleri tek tek göstererek bu sorunu azaltma denemesi
- Bu yazı, Emacs ile varsayılan olarak gelen yararlı ama daha az bilinen özellikleri ele alan üçüncü yazı
- “Daha az bilinen” ifadesi öznel bir yargı; kabaca, son 20 yıldaki çevrimiçi Emacs tartışmalarında ilgili özelliğin beşten az anılmış olması ya da hiç görülmemiş olması anlamına geliyor
- Yeni Emacs kullanıcılarının buradan başlamaması daha iyi olur; temel kavramlara ve yaygın önerilen paketlere alıştıktan sonra bu liste daha yararlı hale gelir
- Ölçütler şöyle: paket olmadan yalnızca saf Emacs kullanmak, dik bir öğrenme eğrisi olmaması, oyuncak özellikler ile sık anılan özellikleri dışarıda bırakmak ve modern Emacs 28.1+ sürümlerini temel almak
Fareyle üzerine gelince sözlük: M-x dictionary-tooltip-mode
dictionary-tooltip-modeaçıldığında, bir kelimenin üzerine fareyle geldiğinizde anlamını araç ipucunda görebilirsiniztooltip-modeda açık olmalı, ancak varsayılan olarak zaten etkin- Yerel bir sözlük ayarlanmışsa önce o kullanılır; Emacs sözlüğü genelde Wiktionary üzerinden modern terimleri ve argo ifadeleri de bulabilir
find-file ve dired içinde joker karakterler
find-filevediredetkileşimli olarak kullanılırken de joker karakterler kullanılabilirfind-fileiçinde*foo*.txtgibi bir desen kullanırsanız birden fazla dosyayı aynı anda açabilirsiniz- Dired’da bir dizin açarken dosya adı joker karakteri belirtirseniz yalnızca belirli dosyaları toplayan özel bir liste oluşturabilirsiniz
- Örnek akışta
*/*_region_*deseniyle alt dizinlerdeki AucTeX geçici dosyaları bulunuyor, Dired içinde seçilip siliniyor ve ardından yine joker karakterle alt dizinlerdeki birden çok TeX dosyası açılıyor - Bu özellik, işlev imzası açısından programlama çağrılarında görünür olsa da etkileşimli kullanımda da mümkün olduğunu anlamak için çoğu zaman docstring’in tamamını okumak gerekiyor
- Dired’ın joker karakter özelliği,
consult-findveembark-exportile kurulan modern Dired akışlarının gölgesinde kalabilir, ancak varsayılan durumda anında çalışır
Tampondaki URI listesi: M-x ffap-menu
ffap, imleç konumunun geçerli bir dosya yolu ya da URL olup olmadığını denetleyip açabilen find-file-at-point özelliğidirffap-menu, tüm tamponu tarayarak dosya yolu veya URL gibi görünen öğeleri bulur ve bunları liste olarak sunarcompleting-readarayüzünü kullandığı için filtrelenmiş aday listesini bir tampona aktarabilir, bir kısmını ya da tamamını kopyalayabilir, açabilir veya Embark ile işleyebilirsiniz-
Özellik eklenmiş bağlantıları listeleme
- EWW gibi bazı Emacs uygulamaları URL’leri düz metin bağlantı olarak değil, metin özelliği olarak ekleyebilir;
ffap-menubunları kaçırır - Bunu telafi etmek için
ffap-menuden esinlenen kullanıcı tanımlı bir komutlashr-urlmetin özelliği de toplanabilir - Örnek komut
my/search-occur-browse-url, hem normal URL regex’lerini hem deshr-urlözelliğini bulup tamamlama adaylarına dönüştürür ve seçilen URL’yibrowse-urlveyabrowse-url-genericile açacak şekilde yapılandırılır
- EWW gibi bazı Emacs uygulamaları URL’leri düz metin bağlantı olarak değil, metin özelliği olarak ekleyebilir;
Pencere karşılaştırma: M-x compare-windows
- Emacs’te
diff,diff-buffers,diff-backup,dired-diff,vc-diffve çeşitliediff-*komutları gibi birçok karşılaştırma komutu bulunur compare-windows, iki pencerenin imleç konumundan itibaren metni karşılaştırır, sonraki uyuşmazlık noktasında durur ve bunu bildirir- Karşılaştırılan taraflar etkin pencere ile
other-windowtarafından seçilecek penceredir; Ediff veya diff kadar güçlü değildir ama çalıştırması daha kolay ve daha hızlıdır - Tampon türünden, değişiklik durumundan, dosyadan veya sürüm kontrolü durumundan bağımsız olarak iki pencerede görünen gerçek metni karşılaştırır
- Aynı tamponun farklı bölümleri iki pencerede gösterilirse aynı tampon içindeki iki metin parçası da karşılaştırılabilir
- Dizin listeleri de karşılaştırılabilir; örnekte ilk uyuşmazlık olarak dosya değiştirilme zamanı yakalanır
- Bir önek argümanı verilirse boşluk farkları yok sayılabilir
Dired ile dizin karşılaştırma: M-x dired-compare-directories
dired-compare-directories, Dired içinde karşılaştırılacak dizini sorar ve iki Dired listesinde adı farklı olan dosyaları işaretler- Bu yaklaşım, en yaygın dizin karşılaştırma kullanım senaryolarını karşılayabilir
- Dosya düzeyinde karşılaştırma yaptığı için değiştirilme zamanı veya boyut gibi dosya özelliklerini içeren özelleştirilmiş eşleştirme koşulları verilebilir
(> mtime2 mtime1)koşulu, daha yakın zamanda değiştirilmiş dosyaları işaretleyebilir(/= size1 size2)koşulu ise adı aynı ama boyutu farklı dosyaları işaretleyebilir- Daha etkileşimli bir karşılaştırma gerekirse
ediff-directoriesde kullanılabilir
Tampon değişikliklerini vurgulama: M-x highlight-changes-mode
highlight-changes-mode, dosyadaki değişiklik noktalarını vurgulayan bir özelliktir vediff-buffer-with-filegibi diff komutlarına “canlı” bir alternatif olarak kullanılabilir- Varsayılan davranış, mod açıldığı andan kapatıldığı ana kadar olan değişiklikleri vurgulamaktır; yani yalnızca kaydedilmemiş değişiklikleri otomatik vurgulamaz
before-save-hookveafter-save-hookkullanılarak kaydetmeden önce vurgulama kapatılıp kaydettikten sonra yeniden açılabilir; böylece yalnızca kayıt öncesi değişiklikleri vurgulayan bir akış kurulabilir- Örnek kod,
text-mode-hookiçinde dosya tamponları içinhighlight-changes-modeu açıyor ve kaydetme öncesi/sonrası hook’larla vurgulama durumunu ayarlıyor - Bu, bağımsız bir
highlight-unsaved-modebiçimine getirilirse kaydedilene kadar tüm değişiklikleri vurgulayan bir minör mod haline gelir highlight-changes-next-changevehighlight-changes-previous-changeile sonraki ve önceki değişiklik noktasına gidilebilirhighlight-changes-remove-highlightile görsel vurgulama kaldırılıp yalnızca değişiklik izlemeye dayalı gezinme kullanılabilir
Yedek dosyaları gerçekten kullanışlı hale getirmek: vc-diff ailesi
-
Emacs yedeklerinin sorunu
- Emacs, varsayılan olarak düzenlenip kaydedilen dosyaların yedeklerini düzenli olarak oluşturur
- Bu yedek sistemi genelde
make-backup-filesile kapatılması gereken can sıkıcı bir özellik olarak anılır - Hassas dosyaların diskte başka bir yere kopyalanması güvenlik endişesi yaratabilir
- Bunun dışındaki durumlarda sorun daha çok yedeklerin çalışma dizinine dağılması ve yedek dosyaları incelemek ya da yönetmek için kullanışlı bir arayüzün olmamasıdır
backup-directory-alist,kept-old-versions,kept-new-versionsgibi kullanıcı seçenekleriyle yedek konumu ve saklanacak sayı ayarlanabilir- Harici
backup-walkerpaketi, yedekler arasında zaman yolculuğu gibi gezinmeye yarayan bir arayüz sunar
-
VC arayüzünü genişletmek
- Emacs’in yerleşik VC paketi, sürüm kontrollü dosyaların geçmiş sürümlerini görüntülemek için bir arayüz sağlar
vc-diff, dosyayı bir önceki sürümle veya belirtilen sürümle karşılaştırırvc-ediff, dosyanın bir önceki sürümüyle veya belirtilen sürümle Ediff çalıştırırvc-revision-other-window, bir önceki ya da belirtilen eski sürümü mevcut dosyanın yanında gösterir- Bu arayüz Git ile sınırlı değildir, ancak sürüm kontrolünde olmayan dosyalarda çalışmaz
- Bu üç VC komutunu aşırı yükleyerek kaydedilmemiş tamponlar, sürüm kontrollü dosyalar ve sürüm kontrolünde olmayan dosya yedekleri tek bir “önceki sürümle karşılaştır” modeli altında birleştirilebilir
- Kaydedilmemiş dosyalarda
vc-diffvevc-ediff, tampon ile dosyayı karşılaştırır - Sürüm kontrollü dosyalarda özgün
vc-diff,vc-ediff,vc-revision-other-windowaynen çalışır - Sürüm kontrolünde olmayan dosyalarda ise en yüksek numaralı yedekle veya önek argümanıyla seçilen numaralı yedekle karşılaştırma yapılır ya da o sürüm gösterilir
apropos ailesi
describe-keyolanC-h k, bir tuş girdisinin çağırdığı işlevi doğrudan görmeyi sağladığı için son derece kullanışlı bir yardım tuşudur- Öğrenilecek ikinci yardım özelliği olarak
aproposçok güçlüdür ve ne aramanız gerektiğini bilmediğinizde Emacs işlevlerinin düzenini anlamaya açılan bir kapı olur apropos, tek bir komut değil;apropos-library,apropos-function,apropos-command,apropos-variable,apropos-user-option,apropos-documentation,info-aproposgibi birçok uzmanlaşmış arama komutundan oluşan bir ailedir- Örnek yapılandırma, bu komutları
C-h aaltındaki bir tuş haritasına bağlayarakaproposun yerini alır which-keygibi bir istem gösterici olmasa bile önek tuşuC-h asonrasındaC-hbasılırsa kullanılabilir komutların listesi görülebilircustomize-apropos, arama terimiyle eşleşen seçenekleri, yüzleri ve grupları toplayıp özel bir customize tamponu oluşturur
find-func araçları: M-x find-function-on-key, M-x find-function
- Bir tuş bağlamasını beğenmediğinizde veya nasıl çalıştığını öğrenmek istediğinizde, o tuşun çağırdığı komutun tanımına giderek davranışı okuyabilir ya da değiştirebilirsiniz
- Genel akış,
describe-keyveyaC-h kile tuşun çağırdığı komutu görmek ve ardındanstuşuna basarak kaynağa gitmektir find-function-on-key, bu ikinci adımı kısaltarak tuş bağlamasından doğrudan işlevin kaynak koduna gider- Örnek yapılandırma,
help-mapiçindeC-h M-ktuşunufind-function-on-keyişlevine bağlar
copy-from-above-command ve duplicate-dwim
- Emacs’e yakın zamanda, birçok kullanıcının uzun süredir kullandığı metin çoğaltma komutları eklendi
copy-from-above-command, geçerli satırın üstündeki ilk boş olmayan satırdan metin kopyalar ve Vim’dekiC-yye benzerduplicate-dwim, geçerli satırı veya etkin bölgeyi mevcut satırın altına kopyalar ve Vim’dekiyy<N>pye benzercopy-from-above-command, önek argümanı kadar üst satırdan karakter kopyalar; ancak örnek advice,C-uönek argümanını “üstteki satırın tamamını kopyala ve yorum satırı yap” davranışına çevirir- Sayısal önek argümanı
C-<N>kullanılırsa, eskisi gibi üstten belirli sayıda karakter kopyalanabilir duplicate-dwimsonrasında imlecin özgün metinde mi yoksa kopyada mı kalacağı seçilmelidir ve bu bir kullanıcı seçeneğiyle belirlenebilir- Örnek yapılandırma,
duplicate-region-final-positionveduplicate-line-final-positiondeğerlerini-1yaparak imleç ile bölgenin çoğaltılmış metne taşınmasını sağlar
Tuş geçmişini makroya dönüştürmek: M-x kmacro-edit-lossage
- Emacs klavye makroları, yalnızca metin dönüşümlerini değil, fare tıklamaları dahil Emacs içindeki tüm eylem dizilerini yakalayıp yeniden oynatabilir
- Klavye makroları güçlüdür, ancak kaydı başlatmadan önce tekrar edilebilirliği öngörmek ve hatasız genellenebilir bir işlem kurmak gerektiğinden bilişsel yükleri yüksektir
- Vim’in
.komutu ve Emacs’indot-modepaketi, düzenleme tekrarları sorununu hafifletir; ancak tam klavye makrolarıyla aynı kapsama sahip değildir view-lossage(C-h l), son yaklaşık 300 tuş vuruşunun kaydını gösterirkmacro-edit-lossage, bu tuş geçmişinden istenen anda makro oluşturmayı mümkün kılar- Lossage gerçekten düzenlenebilir olduğu için, makro oluştururken kaydın içine yeni komutlar eklenebilir
- Daha önce tanımlanmış makrolar
edit-kbd-macro(C-x C-k e) ile daha sık düzenlenebilir, ancakkmacro-edit-lossagenadir durumlarda az önce yaptığınız karmaşık işi tekrarlanabilir hale getirmede yararlıdır - Genellenebilir bir makro oluşturmak için lossage içine çoğu zaman
kbd-macro-queryçağrısı eklemek gerekir
subword-mode, superword-mode, sözcük dilbilgisi
- Emacs’in sözcük tabanlı gezinme ve düzenleme komutları, major mode’a göre değişen syntax table kullanır; neyin sözcük sayılacağını kullanıcı ayarlayabilir
subword-modeetkin olduğunda CamelCase simgesinin her bileşeni bir sözcük olarak ele alınır- Örneğin
GtkWindow,GtkveWindow;EmacsFrameClass,Emacs,Frame,Class;NSGraphicsContextiseNS,Graphics,Contextolarak ayrılır superword-modealtındathis_is_a_symbolgibi snake_case simgeleri tek bir sözcük olarak ele alınır- Pratik kullanımda simge işleme zaten
*-sexpkomutlarıyla iyi desteklendiğindensuperword-mode,subword-modekadar kullanışlı değildir - Major mode’un syntax table’ında birkaç dakikalık değişiklik bile yapısal gezinmede yaşanan sıkıntıları azaltabilir
- Lisp ailesi bağlamlarında
:karakterini sözcük oluşturan bir karakter yapmak,:foogibi anahtar sözcükleribackward-kill-wordile işlemeyi kolaylaştırır - Org mode’da
=ve~ayraçlarını sözcük oluşturan karakterler olarak ele alacak şekilde değişiklik yapılabilir - Karakter sözdizimi belirtme yöntemi
describe-syntax(C-h s) vemodify-syntax-entryiçinde görülebilir
Görüntü gösterimini değiştirme
- Emacs’in görüntü gösterdiği neredeyse her yerde, imleci görüntünün üzerine getirip
ituşuna basarak gösterimi değiştirebilirsiniz - Org mode’daki görsel bağlantı önizlemelerinde ve Elfeed öğe tamponundaki görsellerde de aynı denetimler kullanılabilir
i +vei -yakınlaştırma ve uzaklaştırma için kullanışlıdır,i rise görüntüyü 90 derece döndürüri cile görüntü kırpılabilir; ayrıntılı tuşlarM-x describe-keymap RET image-mapiçinde görülebilir- Tarayıcılarda ve diğer uygulamalarda alışık olunan
C-<wheel>kısayolu da kullanılabilir repeat-modekullanıldığında, ilk çağrıdan sonraiöneki olmadan yalnızca+,-,rile tekrar yapılabilir- Bu özellik, görüntünün üzerine yerleştirilmiş bir tuş haritası olarak sunulur ve ayrıca etkinleştirme gerektirmez
- Değiştirilen şey diskteki görüntü dosyası değil, yalnızca gösterim durumudur
- Web sayfalarında ve işlenmiş HTML tamponlarında
z(shr-zoom-image), büyük görsellerin gösterim sınırlarını hafifletmek için görüntüyü birden çok yatay dilime böler ve boyutunu döngüsel olarak değiştirir
Tüm metni göster: M-x visible-mode
- Emacs, arabellek metnini seçmeli olarak görünmez yapabilir; bu özellik Magit section, Outline mode ve Org mode gibi katlama davranışlarının temelini oluşturur
- Katlama işlevi sunan kipler genellikle katlama durumunu değiştiren tuş atamaları sağlar ve
TABçoğu durumda çalışır - Kipe özgü tuş atamalarını öğrenmek zorsa ya da bunları yeterince sık kullanmıyorsanız,
visible-modeile gizli metnin tamamını görebilirsiniz visible-mode, tüm arabellek için metin görünmezliğini devre dışı bırakır ve tekrar çalıştırıldığında önceki görünmezlik durumunu geri yükler- Dinamik katlama arayüzü olan arabelleklerde,
visible-modeaçıkken ekran bozulmuş gibi görünebilir - Bu özellik daha çok geçici bir çözüm veya hata ayıklama aracı gibidir, ancak tek komutla arabellekteki tüm metni tutarlı biçimde ortaya çıkarabilir
Görünmez metni yok sayma: isearch-toggle-invisible
- Isearch gibi bazı Emacs komutları, gerçek belgenin tamamında kolayca arama yapılabilsin diye varsayılan olarak metin görünmezliğini yok sayar
- Görünen arabellek durumu bir gezinme rehberi işlevi gördüğünde, katlanmış metni otomatik olarak açan arama beklenmedik şekilde davranabilir
- Isearch’ü aramadan çok bir gezinme aracı olarak kullanırken, katlanmış bölgelerdeki eşleşmelere gitmek sorun yaratır
- Isearch sırasında
M-s ituşuna atanmışisearch-toggle-invisibleile görünmez metinde arama yapılıp yapılmayacağını değiştirebilirsiniz - Örnekte, Org belgesinin son başlığına gitmek için
zeroaranıyor, ancak arama katlanmış bölgedeki bir eşleşmeye atlıyor; ardından yeniden arama yapılıpM-s ibasılarak yalnızca görünür metindeki eşleşmeler arasında geziliyor - Isearch davranışını değiştiren tuşlar,
C-svarsayılan atamasına karşılık gelenM-stuş haritası altında bulunur
Cetvel: M-x ruler-mode
- Emacs’te, geçmişteki WYSIWYG kelime işlem özelliklerinin bir kalıntısı olarak
center-*komutları gibi işlevler hâlâ bulunur center-*komutları satırı, paragrafı veya bölgeyifill-columntemel alınarak ortalar; kod içindeki süslü yorumlar gibi amaçlarla kullanılabilir- Görüntü margin ve fringe genişlikleri, birçok özelliğin sığabileceği ekran alanlarıdır, ancak görüntü margin genişliğini doğrudan değiştirmek kolay değildir
set-left-marginveset-right-margin, görüntü margin genişliğini değiştiren komutlar değildir; gerçek arabellek metnini girintileyencentertürü komutlar gibi davranırlar- Görüntü margin ayarları için doğrudan bir komut yoktur ve etkinin pencere yeniden çizilene kadar uygulanmaması gibi bir sorun vardır
ruler-modeaçıldığında kullanım bilgisi,header-lineüzerindeki araç ipucunda görülebilirS-<mouse-1>veS-<mouse-3>ile arabelleğin sol ve sağ marginleri ayarlanabilir<mouse-2>sürüklenerekfill-columnda ayarlanabilir- Hazır genişlikleri açıp kapatmaktan ziyade marginleri anlık olarak değiştirmek istiyorsanız,
visual-fill-columnveyaolivettigibi paketlere göreruler-modedaha kullanıcı dostu olabilir
Metni yeniden doldurma: M-x refill-mode
- Emacs, metni doldurmak için çeşitli
fill-*komutları ve yazı girerken satır sonlarını yönetenauto-fill-modesunar auto-fill-mode, Emacs öğreticisinde erken aşamada ele alınacak kadar metin doldurmayı önemli bir düzenleme özelliği olarak görürauto-fill-modeaslında tam otomatik değildir; yalnızca geçerli satırı sarar ve yapıştırma gibi işlemlerle önceki paragraflarda oluşan kaymaları elle düzeltmek gerekirrefill-mode, belgeninfill-columnile uyumlu kalmasını sağlayan, Emacs’in gerçekten otomatik metin doldurma özelliğidirM-x refill-modeçalıştırıldığında bu davranış kullanılabilir olur
Tüm pencereleri birlikte kaydırma: M-x scroll-all-mode
scroll-other-window, seçili olmayan başka bir pencereyi odak değiştirmeden kaydırmayı sağlar; bu da mevcut pencerede çalışırken sonraki penceredeki referans materyale bakmak için kullanışlıdırfollow-mode, tek bir arabelleği birden fazla pencerede kesintisiz biçimde görüntüleme işlevidirscroll-all-modedaha az bilinir, ancak çerçevedeki tüm pencereleri aynı anda kaydırır- Birbirine senkron bakılması gereken arabellekleri incelerken faydalıdır; örnekte Ediff oturumuna girmeden bir dosyanın iki sürümünü gözle karşılaştırmak için kullanılır
- Örnek akışta mevcut dosyanın belirli bir eski yedeği
vc-revision-other-windowile açılır, ardındanscroll-all-modeetkinleştirilir ve sonrasında normal şekilde kaydırıldığında tüm pencereler birlikte hareket eder -
Diğer pencereyi kaydırma ve
master-mode- Ekranda ikiden fazla pencere varsa ve kaydırmak istediğiniz pencere Emacs’in seçtiği
next-windowdeğilse sorun çıkabilir - Yerleşik
master-mode, başka arabelleklerden kaydırılabilecek arabelleği önceden ya da anında belirlemeyi sağlar - Daha doğrudan bir yöntem, kaydırılacak pencereyi bulma stratejisini ayarlamaktır
(setq other-window-scroll-default #'get-lru-window)her zaman en uzun süredir kullanılmayan pencereyi kaydırır- Referans materyalin bulunduğu ve nadiren seçilen bir pencereyi kaydırırken bu yaklaşım faydalıdır
- Sık düzenlenen iki pencere, birden fazla pencere arasında yer alıyorsa, en son kullanılan pencereyi diğer pencere olarak kaydıracak bir lambda işlevi ayarlanabilir
- Bu tür ayar kombinasyonları,
scroll-other-windowkomutunun amaçlanan pencereyi kaydırmasına yardımcı olur
- Ekranda ikiden fazla pencere varsa ve kaydırmak istediğiniz pencere Emacs’in seçtiği
Çıkışı reddetme: M-x emacs-lock-mode
- Emacs, kaydedilmemiş dosyalar olduğunda her dosyayla ne yapılacağı yanıtlanana kadar çıkmayı reddeder
emacs-lock-mode, bu fikri genişleterek kullanıcının istediği arabelleği kilitlemesine izin verir- Kilit açılana kadar ilgili arabellek kill işlemini reddeder ve
Buffer "*scratch*" is locked and cannot be killedbenzeri bir mesaj verir - Kilitli bir arabellek varsa Emacs de çıkmayı reddeder ve
Emacs cannot exit because buffer "*scratch*" is lockedbenzeri bir mesaj gösterir - Bu, dosya ziyaret etmeyen arabelleklerdeki bilgilerin yanlışlıkla kaybedilmesini önlemek veya o arabellekle ilgili yapılacak iş kaldığını hatırlatmak için kullanışlıdır
- Org-capture sonrasında ilk sorun daha nadir görülse de shell·compilation arabellekleri, web siteleri ve diğer özel uygulamaların çıktı ya da durumlarını kaybetmemek açısından hâlâ yararlıdır
Çerçeveyi geri getirme: M-x undelete-frame-mode, M-x undelete-frame
- Özenle yapılandırdığınız bir Emacs çerçevesini yanlışlıkla kapattığınızda,
undelete-frameile geri getirebilirsiniz - Bu özelliği kullanmak için
undelete-frame-modeaçık olmalıdır - Yerleşik
winnervetab-bar-historynin pencereler için sunduğunu, çerçeveler için sağlar undelete-frame-modeEmacs ile birlikte açık tutulursa, çerçeve kapatma konusunda daha az endişe duyabilirsiniz- Silinen çerçevelerden en fazla 16 tanesi geri yüklenebilir
Kalan özellikler ve dışarıda bırakılanlar
- Son 6 yılda karşılaşılan özelliklerden 2026’daki Emacs kullanım gerçekliğinde ayakta kalanların sayısı 20
- Tesadüfen keşfedilen birçok Emacs kütüphanesi, sıradan kullanıcı ihtiyaçlarına yönelik sağlam çözümler olmaktan çok yazılım arkeolojisi açısından ilgi çekiciydi
allout-mode, Org mode’a benzeyen paralel evrendeki bir outline yöneticisidir ve Org’un speed-key ile alt ağaç bazlı şifreleme gibi özelliklerine sahiptirshadowfile, Emacs içindeunisonuygular ama ne kadar faydalı olduğu belirsizdirdouble-mode,quailden önce gelen, tuş dönüşümüne dayalı bir klavye dışı karakter giriş yöntemidirbskütüphanesi daha akıllı birlist-bufferskomutu oluşturma girişimiydi, ancakibufferdaha iyi olduğu için artık kullanmak için bir neden kalmadıelectric-pair-modeile bölgeyi ayraçlarla sarmalama gibi yüzeyde yararlı görünen bazı özellikler de, karmaşıklıklarına kıyasla düşük fayda nedeniyle dışarıda bırakıldı- Bu tür kullanım alanlarında
wrap-region,smartparens,embracegibi harici paketler daha iyidir apptgibi Org ve Org’a komşu yerleşik kütüphaneler ilginçtir, ancak ayrı bir yazıda ele alınacak kadar geniş kapsamlıdırthunkgibi çoğunlukla Elisp geliştiricileri için yararlı kütüphaneler de ayrı bir derleme gerektirir- Emacs ile gelen
lispdizini çok büyük değildir, ancak faydalı varsayılan özelliklerin keşfedilmeye devam edilmesi için hâlâ alan vardır
1 yorum
Lobste.rs görüşleri
find-file(C-x C-f) içinde*foo*.txtgibi joker karakterle birden fazla dosya açmak genelde hatayla yapılıyor; bu yüzden joker karakter kullanıldığındafind-fileın doğrudandiredaçması içinfind-file-noselecteadvice-addekledimfile-expand-wildcardssonucu 2 veya daha fazla olduğundadired-noselecte geçiriyor, aksi halde özgünfind-file-noselecti çağırıyorruler-modegerçekten çok eğlenceli. Emacs'te böyle bir WYSIWYG özelliği olduğunu hiç bilmiyordum; Emacs gerçekten tuhaf ama keyifli bir yazılımSadece sade Emacs kullanırken neredeyse her şeye baktığımı sanıyordum ama keşfedilecek çok daha fazla şey varmış.
ruler-modeyazı yazmak için epey hoşEskiden Magit'i çok daha fazla kullanırdım ama artık yerleşik
vc-modevediffaraçlarına geçtim; ikisi de gayet iyi çalışıyor ve memnunumBöyle yazıları seviyorum. Emacs ya da Neovim gibi karmaşık ve özelleştirilebilir düzenleyiciler kullanırken, insanların varsayılan düzenleyicinin neler yapabildiğini anlamadan önce şişkin dağıtımları kurup fazla hızlı başlaması sık görülüyor
Vaktiniz varsa kılavuzu okuyup ayarlarınızı baştan kendiniz inşa etme süreci oldukça tatmin edici olabiliyor. Az bilinen Emacs işlevlerinden biri
finder-list-keywords; çalıştırdığınızda bulunması zor Emacs özelliklerini gezebileceğiniz bir menü açıyor. Örneğin yerleşik 24 oyun olduğunu biliyor muydunuz?