{"id":42978,"date":"2026-07-01T17:01:12","date_gmt":"2026-07-01T14:01:12","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=42978"},"modified":"2026-07-01T17:01:33","modified_gmt":"2026-07-01T14:01:33","slug":"linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/","title":{"rendered":"Linux&#8217;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f"},"content":{"rendered":"<h2>Linux&#8217;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f<\/h2>\n<p>Emacs, geli\u015ftiriciler, yazarlar ve metinle yo\u011fun olarak \u00e7al\u0131\u015fan herkes i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015f, g\u00fc\u00e7l\u00fc, geni\u015fletilebilir ve \u00f6zelle\u015ftirilebilir bir metin d\u00fczenleyicidir. Yaln\u0131zca bir d\u00fczenleyici olman\u0131n \u00f6tesinde, Emacs tam te\u015fekk\u00fcll\u00fc bir i\u015fletim sistemi gibi i\u015flev g\u00f6rebilir; dosya y\u00f6neticisinden e-posta istemcisine, takvimden oyunlara kadar bir\u00e7ok \u00f6zelli\u011fi b\u00fcnyesinde bar\u0131nd\u0131r\u0131r. Linux ortam\u0131nda Emacs kullanmak, kullan\u0131c\u0131lara benzersiz bir esneklik ve verimlilik sunar. Bu makale, Emacs&#8217;\u0131 Linux sistemlerinde nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, temel \u00f6zelliklerini nas\u0131l kullanaca\u011f\u0131n\u0131z\u0131, geli\u015fmi\u015f d\u00fczenleme tekniklerini, \u00f6zelle\u015ftirme se\u00e7eneklerini ve daha fazlas\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayacakt\u0131r.<\/p>\n<h3>Emacs Nedir ve Neden Kullanmal\u0131s\u0131n\u0131z?<\/h3>\n<p>Emacs, &#8220;Editor MACroS&#8221; kelimelerinin k\u0131saltmas\u0131d\u0131r ve ilk olarak 1976&#8217;da Richard Stallman taraf\u0131ndan geli\u015ftirilmi\u015ftir. GNU Emacs, bu projenin en pop\u00fcler ve en yayg\u0131n kullan\u0131lan versiyonudur. Emacs&#8217;\u0131 di\u011fer d\u00fczenleyicilerden ay\u0131ran temel \u00f6zellikler \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Geni\u015fletilebilirlik:<\/strong> Emacs Lisp (Elisp) ad\u0131 verilen kendi programlama diline sahiptir. Bu, kullan\u0131c\u0131lar\u0131n ve geli\u015ftiricilerin Emacs&#8217;\u0131 kendi ihtiya\u00e7lar\u0131na g\u00f6re derinlemesine \u00f6zelle\u015ftirmelerine ve yeni i\u015flevler eklemelerine olanak tan\u0131r.<\/li>\n<li><strong>\u00d6zelle\u015ftirilebilirlik:<\/strong> Neredeyse her tu\u015f ba\u011flamas\u0131, g\u00f6r\u00fcn\u00fcm ve davran\u0131\u015f de\u011fi\u015ftirilebilir. Kullan\u0131c\u0131lar, kendi yap\u0131land\u0131rma dosyalar\u0131 (<code>.emacs<\/code> veya <code>init.el<\/code>) arac\u0131l\u0131\u011f\u0131yla Emacs&#8217;\u0131 ki\u015fiselle\u015ftirebilirler.<\/li>\n<li><strong>G\u00fc\u00e7l\u00fc Metin \u0130\u015fleme:<\/strong> Geli\u015fmi\u015f arama ve de\u011fi\u015ftirme, makrolar, \u00e7oklu imle\u00e7ler, dikd\u00f6rtgen d\u00fczenleme gibi g\u00fc\u00e7l\u00fc metin i\u015fleme yetenekleri sunar.<\/li>\n<li><strong>Ekosistem:<\/strong> Emacs, programlama dillerine \u00f6zel modlardan (Python, C++, Java vb.) Org-mode gibi \u00fcretkenlik ara\u00e7lar\u0131na, Magit gibi Git entegrasyonuna ve Dired gibi dosya y\u00f6neticilerine kadar zengin bir paket ekosistemine sahiptir.<\/li>\n<li><strong>Platform Ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131:<\/strong> Linux, macOS ve Windows dahil olmak \u00fczere bir\u00e7ok i\u015fletim sisteminde \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<p>Emacs&#8217;\u0131n dik bir \u00f6\u011frenme e\u011frisi oldu\u011fu do\u011frudur, ancak bir kez temel prensiplerini ve tu\u015f ba\u011flamalar\u0131n\u0131 \u00f6\u011frendi\u011finizde, verimlili\u011finizde \u00f6nemli bir art\u0131\u015f g\u00f6receksiniz. Klavyeden ellerinizi kald\u0131rmadan hemen hemen her i\u015flemi yapabilme yetene\u011fi, Emacs&#8217;\u0131n en b\u00fcy\u00fck avantajlar\u0131ndan biridir.<\/p>\n<h3>Linux&#8217;ta Emacs Kurulumu<\/h3>\n<p>Emacs&#8217;\u0131 Linux sisteminize kurmak olduk\u00e7a basittir. \u00c7o\u011fu Linux da\u011f\u0131t\u0131m\u0131n\u0131n paket y\u00f6neticilerinde Emacs bulunur. A\u015fa\u011f\u0131da en yayg\u0131n da\u011f\u0131t\u0131mlar i\u00e7in kurulum komutlar\u0131 verilmi\u015ftir:<\/p>\n<h4>Debian\/Ubuntu Tabanl\u0131 Sistemler (APT)<\/h4>\n<p>Terminali a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>sudo apt update\nsudo apt install emacs<\/code><\/pre>\n<p>Grafiksel aray\u00fcze sahip bir Emacs s\u00fcr\u00fcm\u00fc (GTK deste\u011fi ile) kurmak i\u00e7in:<\/p>\n<pre><code>sudo apt install emacs-gtk<\/code><\/pre>\n<h4>Fedora\/RHEL Tabanl\u0131 Sistemler (DNF\/YUM)<\/h4>\n<p>Terminali a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>sudo dnf install emacs<\/code><\/pre>\n<p>Eski RHEL\/CentOS s\u00fcr\u00fcmleri i\u00e7in <code>yum<\/code> kullanabilirsiniz:<\/p>\n<pre><code>sudo yum install emacs<\/code><\/pre>\n<h4>Arch Linux Tabanl\u0131 Sistemler (Pacman)<\/h4>\n<p>Terminali a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code>sudo pacman -S emacs<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, terminale <code>emacs<\/code> yazarak veya uygulama men\u00fcs\u00fcnden Emacs&#8217;\u0131 ba\u015flatabilirsiniz. Terminalden ba\u015flatt\u0131\u011f\u0131n\u0131zda, Emacs terminal i\u00e7inde \u00e7al\u0131\u015facakt\u0131r. Grafiksel aray\u00fcz s\u00fcr\u00fcm\u00fcn\u00fc (<code>emacs-gtk<\/code> gibi) kurduysan\u0131z, genellikle uygulama men\u00fcs\u00fcnden ba\u015flatmak daha iyi bir deneyim sunar.<\/p>\n<h3>Emacs Temel Kavramlar\u0131 ve Aray\u00fcz\u00fc<\/h3>\n<p>Emacs&#8217;\u0131 ilk a\u00e7t\u0131\u011f\u0131n\u0131zda, al\u0131\u015f\u0131lmad\u0131k bir aray\u00fczle kar\u015f\u0131la\u015fabilirsiniz. Emacs&#8217;\u0131n temel yap\u0131 ta\u015flar\u0131n\u0131 anlamak, \u00f6\u011frenme s\u00fcrecini h\u0131zland\u0131racakt\u0131r.<\/p>\n<h4>Tamponlar (Buffers)<\/h4>\n<p>Emacs&#8217;ta d\u00fczenledi\u011finiz her dosya, bir &#8220;tampon&#8221; i\u00e7inde a\u00e7\u0131l\u0131r. Tamponlar, Emacs&#8217;\u0131n belle\u011finde bulunan metin nesneleridir. Bir dosyay\u0131 a\u00e7t\u0131\u011f\u0131n\u0131zda, Emacs o dosyan\u0131n i\u00e7eri\u011fini bir tampona y\u00fckler. Dosyay\u0131 kaydetti\u011finizde, tamponun i\u00e7eri\u011fi dosyaya yaz\u0131l\u0131r. Ayr\u0131ca, dosya olmayan tamponlar da vard\u0131r (\u00f6rne\u011fin, Emacs mesajlar\u0131, Dired tamponlar\u0131, <em>scratch<\/em> tamponu).<\/p>\n<h4>Pencereler (Windows)<\/h4>\n<p>Emacs pencereleri, tamponlar\u0131n i\u00e7eri\u011fini g\u00f6steren dikd\u00f6rtgen alanlard\u0131r. Bir Emacs \u00e7er\u00e7evesini (ana uygulama penceresi) birden \u00e7ok pencereye b\u00f6lebilirsiniz. Bu, ayn\u0131 anda birden fazla tamponu veya ayn\u0131 tamponun farkl\u0131 k\u0131s\u0131mlar\u0131n\u0131 g\u00f6r\u00fcnt\u00fclemenizi sa\u011flar.<\/p>\n<h4>\u00c7er\u00e7eveler (Frames)<\/h4>\n<p>Bir \u00e7er\u00e7eve, Emacs&#8217;\u0131n ana grafiksel penceresidir. Her \u00e7er\u00e7eve bir veya daha fazla Emacs penceresi i\u00e7erebilir. Birden \u00e7ok \u00e7er\u00e7eve a\u00e7abilirsiniz, bu da her bir \u00e7er\u00e7evenin kendi pencere d\u00fczenlemesine sahip olabilece\u011fi anlam\u0131na gelir.<\/p>\n<h4>Mini-tampon (Minibuffer)<\/h4>\n<p>Emacs penceresinin en alt\u0131nda yer alan k\u00fc\u00e7\u00fck bir aland\u0131r. Emacs, kullan\u0131c\u0131dan girdi almak (dosya ad\u0131, arama terimi vb.) veya mesajlar\u0131 g\u00f6r\u00fcnt\u00fclemek i\u00e7in mini-tamponu kullan\u0131r. \u00d6rne\u011fin, bir dosya a\u00e7mak istedi\u011finizde, dosya ad\u0131n\u0131 mini-tampona yazars\u0131n\u0131z.<\/p>\n<h4>Emacs Tu\u015f Ba\u011flamalar\u0131: C-, M- ve M-x<\/h4>\n<p>Emacs, klavye k\u0131sayollar\u0131na yo\u011fun bir \u015fekilde dayan\u0131r. Bu k\u0131sayollar genellikle &#8220;Control&#8221; (Ctrl) ve &#8220;Meta&#8221; (Alt veya Esc) tu\u015flar\u0131 ile birlikte kullan\u0131l\u0131r.<\/p>\n<ul>\n<li><strong>C-x:<\/strong> &#8220;Control&#8221; tu\u015funa bas\u0131l\u0131 tutarken &#8216;x&#8217; tu\u015funa basmak anlam\u0131na gelir.<\/li>\n<li><strong>M-x:<\/strong> &#8220;Meta&#8221; (Alt) tu\u015funa bas\u0131l\u0131 tutarken &#8216;x&#8217; tu\u015funa basmak anlam\u0131na gelir. E\u011fer Alt tu\u015funuz yoksa veya \u00e7al\u0131\u015fm\u0131yorsa, &#8220;Esc&#8221; tu\u015funa bas\u0131p b\u0131rak\u0131p, ard\u0131ndan &#8216;x&#8217; tu\u015funa basabilirsiniz.<\/li>\n<\/ul>\n<p>Emacs&#8217;ta hemen hemen her eylem bir &#8220;komut&#8221;tur. Bu komutlar\u0131 do\u011frudan tu\u015f ba\u011flamalar\u0131yla tetikleyebilir veya <code>M-x<\/code> kullanarak komut ad\u0131n\u0131 yaz\u0131p Enter tu\u015funa basarak \u00e7al\u0131\u015ft\u0131rabilirsiniz. <code>M-x<\/code>, Emacs&#8217;\u0131n en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biridir, \u00e7\u00fcnk\u00fc mevcut t\u00fcm komutlara eri\u015fmenizi sa\u011flar. Komut ad\u0131n\u0131 yazmaya ba\u015flad\u0131\u011f\u0131n\u0131zda, Emacs otomatik tamamlama \u00f6nerileri sunar.<\/p>\n<h4>Yard\u0131m Sistemi (Help System)<\/h4>\n<p>Emacs&#8217;\u0131n dahili yard\u0131m sistemi olduk\u00e7a kapsaml\u0131d\u0131r ve \u00f6\u011frenme s\u00fcrecinde en iyi arkada\u015f\u0131n\u0131z olacakt\u0131r. <code>C-h<\/code> (Control-h) ile yard\u0131m men\u00fcs\u00fcn\u00fc a\u00e7abilirsiniz.<\/p>\n<ul>\n<li><code>C-h t<\/code> (<code>help-with-tutorial<\/code>): Emacs&#8217;\u0131n etkile\u015fimli \u00f6\u011freticisini ba\u015flat\u0131r. Yeni ba\u015flayanlar i\u00e7in \u015fiddetle tavsiye edilir.<\/li>\n<li><code>C-h f<\/code> (<code>describe-function<\/code>): Bir fonksiyonun (komutun) ne i\u015fe yarad\u0131\u011f\u0131n\u0131 a\u00e7\u0131klar.<\/li>\n<li><code>C-h v<\/code> (<code>describe-variable<\/code>): Bir de\u011fi\u015fkenin ne i\u015fe yarad\u0131\u011f\u0131n\u0131 a\u00e7\u0131klar.<\/li>\n<li><code>C-h k<\/code> (<code>describe-key<\/code>): Bir tu\u015f ba\u011flamas\u0131n\u0131n hangi komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131 g\u00f6sterir. \u00d6rne\u011fin, <code>C-h k C-x C-f<\/code> yazarsan\u0131z, <code>find-file<\/code> komutunun a\u00e7\u0131klamas\u0131n\u0131 g\u00f6r\u00fcrs\u00fcn\u00fcz.<\/li>\n<\/ul>\n<h3>Temel Dosya \u0130\u015flemleri ve Metin D\u00fczenleme<\/h3>\n<h4>Dosya A\u00e7ma, Kaydetme ve Kapatma<\/h4>\n<ul>\n<li><strong>Dosya A\u00e7ma:<\/strong> <code>C-x C-f<\/code> (<code>find-file<\/code>) komutunu kullan\u0131n. Mini-tamponda dosya yolunu ve ad\u0131n\u0131 yaz\u0131n, Enter tu\u015funa bas\u0131n. E\u011fer dosya yoksa, Emacs yeni bir bo\u015f tampon olu\u015fturur ve bu isimle kaydetmenizi bekler.<\/li>\n<li><strong>Dosyay\u0131 Kaydetme:<\/strong> <code>C-x C-s<\/code> (<code>save-buffer<\/code>) komutu ge\u00e7erli tamponu dosyaya kaydeder.<\/li>\n<li><strong>T\u00fcm Tamponlar\u0131 Kaydetme:<\/strong> <code>C-x s<\/code> (<code>save-some-buffers<\/code>) komutu, kaydedilmemi\u015f t\u00fcm tamponlar\u0131 kaydetmenizi ister.<\/li>\n<li><strong>Farkl\u0131 Kaydetme:<\/strong> <code>C-x C-w<\/code> (<code>write-file<\/code>) komutu ge\u00e7erli tamponu farkl\u0131 bir isimle veya konuma kaydetmenizi sa\u011flar.<\/li>\n<li><strong>Tamponu Kapatma (\u00d6ld\u00fcrme):<\/strong> <code>C-x k<\/code> (<code>kill-buffer<\/code>) komutu ge\u00e7erli tamponu kapat\u0131r. Kaydedilmemi\u015f de\u011fi\u015fiklikler varsa, Emacs size sorar.<\/li>\n<li><strong>Emacs&#8217;tan \u00c7\u0131k\u0131\u015f:<\/strong> <code>C-x C-c<\/code> (<code>save-buffers-kill-emacs<\/code>) komutu Emacs&#8217;\u0131 kapat\u0131r. Kaydedilmemi\u015f tamponlar varsa, size sorulur.<\/li>\n<\/ul>\n<h4>Metin \u0130\u00e7inde Gezinme<\/h4>\n<p>Emacs&#8217;ta imleci hareket ettirmek i\u00e7in ok tu\u015flar\u0131n\u0131 kullanabilece\u011finiz gibi, Emacs&#8217;\u0131n kendi tu\u015f ba\u011flamalar\u0131n\u0131 da kullanabilirsiniz. Bunlar, elinizi klavyenin ana b\u00f6l\u00fcm\u00fcnden kald\u0131rmadan h\u0131zl\u0131 hareket etmenizi sa\u011flar.<\/p>\n<ul>\n<li><code>C-f<\/code> (<code>forward-char<\/code>): Bir karakter ileri.<\/li>\n<li><code>C-b<\/code> (<code>backward-char<\/code>): Bir karakter geri.<\/li>\n<li><code>C-n<\/code> (<code>next-line<\/code>): Bir sat\u0131r a\u015fa\u011f\u0131.<\/li>\n<li><code>C-p<\/code> (<code>previous-line<\/code>): Bir sat\u0131r yukar\u0131.<\/li>\n<li><code>M-f<\/code> (<code>forward-word<\/code>): Bir kelime ileri.<\/li>\n<li><code>M-b<\/code> (<code>backward-word<\/code>): Bir kelime geri.<\/li>\n<li><code>C-a<\/code> (<code>beginning-of-line<\/code>): Sat\u0131r ba\u015f\u0131na.<\/li>\n<li><code>C-e<\/code> (<code>end-of-line<\/code>): Sat\u0131r sonuna.<\/li>\n<li><code>M-a<\/code> (<code>backward-sentence<\/code>): C\u00fcmle ba\u015f\u0131na.<\/li>\n<li><code>M-e<\/code> (<code>forward-sentence<\/code>): C\u00fcmle sonuna.<\/li>\n<li><code>M-{<\/code> (<code>backward-paragraph<\/code>): Paragraf ba\u015f\u0131na.<\/li>\n<li><code>M-}<\/code> (<code>forward-paragraph<\/code>): Paragraf sonuna.<\/li>\n<li><code>M-<<\/code> (<code>beginning-of-buffer<\/code>): Tampon ba\u015f\u0131na.<\/li>\n<li><code>M-><\/code> (<code>end-of-buffer<\/code>): Tampon sonuna.<\/li>\n<li><code>C-v<\/code> (<code>scroll-up-command<\/code>): Bir ekran a\u015fa\u011f\u0131 kayd\u0131r.<\/li>\n<li><code>M-v<\/code> (<code>scroll-down-command<\/code>): Bir ekran yukar\u0131 kayd\u0131r.<\/li>\n<\/ul>\n<h4>Temel Metin D\u00fczenleme<\/h4>\n<ul>\n<li><strong>Karakter Silme:<\/strong>\n<ul>\n<li><code>C-d<\/code> (<code>delete-char<\/code>): \u0130mlecin alt\u0131ndaki karakteri sil.<\/li>\n<li><code>DEL<\/code> (Backspace) (<code>delete-backward-char<\/code>): \u0130mlecin solundaki karakteri sil.<\/li>\n<li><code>M-d<\/code> (<code>kill-word<\/code>): \u0130mle\u00e7ten kelime sonuna kadar sil.<\/li>\n<li><code>M-DEL<\/code> (<code>backward-kill-word<\/code>): \u0130mle\u00e7ten kelime ba\u015f\u0131na kadar sil.<\/li>\n<li><code>C-k<\/code> (<code>kill-line<\/code>): \u0130mle\u00e7ten sat\u0131r sonuna kadar sil (kes).<\/li>\n<\/ul>\n<\/li>\n<li><strong>Kesme, Kopyalama ve Yap\u0131\u015ft\u0131rma (Kill Ring)<\/strong>\n<p>Emacs, \"kesme\" (killing) ve \"kopyalama\" (yanking) terimlerini kullan\u0131r. Kesilen veya kopyalanan metin, \"kill ring\" ad\u0131 verilen bir bellekte saklan\u0131r. Bu, birden fazla \u00f6\u011feyi arka arkaya kesip sonra bunlar\u0131 istedi\u011finiz s\u0131rayla yap\u0131\u015ft\u0131rman\u0131za olanak tan\u0131r.<\/p>\n<ul>\n<li><code>C-w<\/code> (<code>kill-region<\/code>): Se\u00e7ili b\u00f6lgeyi kes.<\/li>\n<li><code>M-w<\/code> (<code>copy-region-as-kill<\/code>): Se\u00e7ili b\u00f6lgeyi kopyala.<\/li>\n<li><code>C-y<\/code> (<code>yank<\/code>): Kill ring'deki son \u00f6\u011feyi yap\u0131\u015ft\u0131r.<\/li>\n<li><code>M-y<\/code> (<code>yank-pop<\/code>): <code>C-y<\/code> veya <code>M-y<\/code>'den hemen sonra bas\u0131ld\u0131\u011f\u0131nda, kill ring'deki \u00f6nceki \u00f6\u011feleri yap\u0131\u015ft\u0131r\u0131r.<\/li>\n<\/ul>\n<\/li>\n<li><strong>Geri Alma (Undo) ve Yineleme (Redo)<\/strong>\n<ul>\n<li><code>C-\/<\/code> veya <code>C-x u<\/code> (<code>undo<\/code>): Son de\u011fi\u015fikli\u011fi geri al. Emacs'\u0131n geri alma ge\u00e7mi\u015fi olduk\u00e7a kapsaml\u0131d\u0131r.<\/li>\n<li><code>C-g<\/code> (<code>keyboard-quit<\/code>): Mevcut komutu iptal eder veya yar\u0131m kalm\u0131\u015f bir diziyi sonland\u0131r\u0131r. Bu, tak\u0131l\u0131p kald\u0131\u011f\u0131n\u0131zda veya bir komutu yanl\u0131\u015fl\u0131kla ba\u015flatt\u0131\u011f\u0131n\u0131zda hayat kurtar\u0131c\u0131d\u0131r.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Geli\u015fmi\u015f D\u00fczenleme \u00d6zellikleri<\/h3>\n<h4>Arama ve De\u011fi\u015ftirme (Search and Replace)<\/h4>\n<ul>\n<li><strong>Art\u0131ml\u0131 Arama (Incremental Search):<\/strong> <code>C-s<\/code> (<code>isearch-forward<\/code>) ileriye do\u011fru, <code>C-r<\/code> (<code>isearch-backward<\/code>) geriye do\u011fru art\u0131ml\u0131 arama ba\u015flat\u0131r. Yazd\u0131\u011f\u0131n\u0131z her karakterle arama sonu\u00e7lar\u0131 an\u0131nda g\u00fcncellenir. Ayn\u0131 arama terimini tekrar bulmak i\u00e7in <code>C-s<\/code> veya <code>C-r<\/code>'ye tekrar bas\u0131n.<\/li>\n<li><strong>De\u011fi\u015ftirme (Replace):<\/strong> <code>M-%<\/code> (<code>query-replace<\/code>) veya <code>M-x replace-string<\/code> komutunu kullan\u0131n. <code>query-replace<\/code>, her e\u015fle\u015fmede de\u011fi\u015ftirme yap\u0131p yapmayaca\u011f\u0131n\u0131z\u0131 sorar (y=evet, n=hay\u0131r, !=t\u00fcm\u00fcn\u00fc de\u011fi\u015ftir, q=\u00e7\u0131k).<\/li>\n<li><strong>Regex Arama\/De\u011fi\u015ftirme:<\/strong> Emacs, g\u00fc\u00e7l\u00fc normal ifadeler (regex) deste\u011fine sahiptir. <code>C-M-s<\/code> (<code>isearch-forward-regexp<\/code>) ve <code>C-M-r<\/code> (<code>isearch-backward-regexp<\/code>) regex aramalar\u0131 i\u00e7in kullan\u0131l\u0131r. <code>M-x query-replace-regexp<\/code> ise regex ile de\u011fi\u015ftirmeyi sa\u011flar.<\/li>\n<\/ul>\n<h4>\u00c7oklu Pencereler ve \u00c7er\u00e7eveler<\/h4>\n<p>Ayn\u0131 anda birden fazla dosyay\u0131 veya ayn\u0131 dosyan\u0131n farkl\u0131 k\u0131s\u0131mlar\u0131n\u0131 g\u00f6rmek i\u00e7in Emacs'\u0131 pencerelere ay\u0131rabilirsiniz.<\/p>\n<ul>\n<li><code>C-x 2<\/code> (<code>split-window-vertically<\/code>): Pencereyi dikey olarak ikiye b\u00f6ler.<\/li>\n<li><code>C-x 3<\/code> (<code>split-window-horizontally<\/code>): Pencereyi yatay olarak ikiye b\u00f6ler.<\/li>\n<li><code>C-x o<\/code> (<code>other-window<\/code>): Odaklanmay\u0131 bir sonraki pencereye ta\u015f\u0131r.<\/li>\n<li><code>C-x 0<\/code> (<code>delete-window<\/code>): Ge\u00e7erli pencereyi kapat\u0131r.<\/li>\n<li><code>C-x 1<\/code> (<code>delete-other-windows<\/code>): Ge\u00e7erli pencere d\u0131\u015f\u0131ndaki t\u00fcm pencereleri kapat\u0131r.<\/li>\n<li><code>C-x b<\/code> (<code>switch-to-buffer<\/code>): Ba\u015fka bir tampona ge\u00e7menizi sa\u011flar.<\/li>\n<li><code>C-x C-b<\/code> (<code>list-buffers<\/code>): T\u00fcm a\u00e7\u0131k tamponlar\u0131 listeler.<\/li>\n<\/ul>\n<h4>B\u00f6lge \u0130\u015faretleme (Marking Regions)<\/h4>\n<p>Kesme, kopyalama veya ba\u015fka i\u015flemler yapmak i\u00e7in metin b\u00f6lgelerini i\u015faretlemeniz gerekir. Emacs'ta \"i\u015faret\" (mark) ve \"nokta\" (point) kavramlar\u0131 vard\u0131r. \u0130\u015faret, bir b\u00f6lgenin ba\u015flang\u0131c\u0131n\u0131, nokta ise imlecin mevcut konumunu belirtir.<\/p>\n<ul>\n<li><code>C-SPC<\/code> (<code>set-mark-command<\/code>) veya <code>C-@<\/code>: \u0130\u015faretlemeyi ba\u015flatmak i\u00e7in imleci istedi\u011finiz yere getirin ve <code>C-SPC<\/code>'ye bas\u0131n. Ard\u0131ndan imleci hareket ettirdi\u011finizde, imle\u00e7 ile i\u015faret aras\u0131ndaki metin vurgulanacakt\u0131r.<\/li>\n<li><code>C-x C-x<\/code> (<code>exchange-point-and-mark<\/code>): \u0130mle\u00e7 ile i\u015faretin yerini de\u011fi\u015ftirir. Bu, i\u015faretlenmi\u015f b\u00f6lgenin ba\u015flang\u0131c\u0131na veya sonuna kolayca gitmenizi sa\u011flar.<\/li>\n<\/ul>\n<h4>Makrolar (Macros)<\/h4>\n<p>Tekrarlayan g\u00f6revleri otomatikle\u015ftirmek i\u00e7in Emacs makrolar\u0131n\u0131 kullanabilirsiniz. Bir makro kaydetmek, bir dizi tu\u015f vuru\u015funu kaydetmek ve ard\u0131ndan bunlar\u0131 istedi\u011finiz zaman tekrar oynatmak anlam\u0131na gelir.<\/p>\n<ul>\n<li><code>C-x (<\/code> (<code>start-kbd-macro<\/code>): Makro kayd\u0131n\u0131 ba\u015flat\u0131r.<\/li>\n<li><code>C-x )<\/code> (<code>end-kbd-macro<\/code>): Makro kayd\u0131n\u0131 bitirir.<\/li>\n<li><code>C-x e<\/code> (<code>call-last-kbd-macro<\/code>): Kaydedilen son makroyu bir kez oynat\u0131r.<\/li>\n<li><code>M-x name-last-kbd-macro<\/code>: Son kaydedilen makroya bir isim verir, b\u00f6ylece daha sonra <code>M-x<\/code> ile bu makroyu \u00e7a\u011f\u0131rabilirsiniz.<\/li>\n<\/ul>\n<h4>Dikd\u00f6rtgen D\u00fczenleme (Rectangle Editing)<\/h4>\n<p>Emacs, metnin dikd\u00f6rtgen bloklar\u0131n\u0131 kesmenize, kopyalaman\u0131za, yap\u0131\u015ft\u0131rman\u0131za veya doldurman\u0131za olanak tan\u0131r. Bu, \u00f6zellikle s\u00fctun tabanl\u0131 verilerle \u00e7al\u0131\u015f\u0131rken veya kod bloklar\u0131n\u0131 d\u00fczenlerken kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<ul>\n<li>Bir dikd\u00f6rtgeni i\u015faretlemek i\u00e7in \u00f6nce <code>C-SPC<\/code> ile bir k\u00f6\u015feyi i\u015faretleyin, ard\u0131ndan imleci di\u011fer k\u00f6\u015feye hareket ettirin.<\/li>\n<li><code>C-x r k<\/code> (<code>kill-rectangle<\/code>): \u0130\u015faretlenmi\u015f dikd\u00f6rtgeni keser.<\/li>\n<li><code>C-x r y<\/code> (<code>yank-rectangle<\/code>): Kesilen dikd\u00f6rtgeni yap\u0131\u015ft\u0131r\u0131r.<\/li>\n<li><code>C-x r t<\/code> (<code>string-rectangle<\/code>): \u0130\u015faretlenmi\u015f dikd\u00f6rtgenin her sat\u0131r\u0131na belirli bir dize ekler.<\/li>\n<\/ul>\n<h3>Emacs'\u0131 \u00d6zelle\u015ftirme ve Geni\u015fletme<\/h3>\n<p>Emacs'\u0131n g\u00fcc\u00fcn\u00fcn b\u00fcy\u00fck bir k\u0131sm\u0131, s\u0131n\u0131rs\u0131z \u00f6zelle\u015ftirme ve geni\u015fletilebilirlik yetene\u011finden gelir. Bu, Emacs Lisp (Elisp) ad\u0131 verilen kendi Lisp leh\u00e7esi sayesinde m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<h4>Yap\u0131land\u0131rma Dosyas\u0131: .emacs veya init.el<\/h4>\n<p>Emacs, ba\u015flang\u0131\u00e7ta kullan\u0131c\u0131n\u0131n ev dizinindeki <code>.emacs<\/code> dosyas\u0131n\u0131 veya <code>.emacs.d\/init.el<\/code> dosyas\u0131n\u0131 y\u00fckler. Bu dosya, Emacs Lisp kodunu i\u00e7erir ve Emacs'\u0131n davran\u0131\u015f\u0131n\u0131 \u00f6zelle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. \u0130\u015fte birka\u00e7 temel \u00f6zelle\u015ftirme \u00f6rne\u011fi:<\/p>\n<pre><code>;; Emacs'\u0131 ba\u015flat\u0131rken ho\u015f geldin ekran\u0131n\u0131 kapat\n(setq inhibit-startup-message t)\n\n;; Sat\u0131r numaralar\u0131n\u0131 g\u00f6ster\n(global-display-line-numbers-mode t)\n\n;; Paren e\u015fle\u015fmesini vurgula\n(show-paren-mode t)\n\n;; Temay\u0131 ayarla (\u00f6nce temay\u0131 kurman\u0131z gerekebilir)\n;; (load-theme 'monokai t)\n\n;; Varsay\u0131lan font boyutunu ayarla (grafiksel Emacs i\u00e7in)\n;; (set-face-attribute 'default nil :height 100)\n\n;; Otomatik kaydetme s\u0131kl\u0131\u011f\u0131n\u0131 ayarla (saniye cinsinden)\n(setq auto-save-interval 30)\n<\/code><\/pre>\n<p>Bu dosyay\u0131 d\u00fczenledikten sonra, de\u011fi\u015fiklikleri uygulamak i\u00e7in Emacs'\u0131 yeniden ba\u015flatman\u0131z veya <code>M-x eval-buffer<\/code> komutunu \u00e7al\u0131\u015ft\u0131rman\u0131z gerekir.<\/p>\n<h4>Paket Y\u00f6netimi (MELPA)<\/h4>\n<p>Emacs'\u0131n geni\u015fletilebilirli\u011finin \u00f6nemli bir par\u00e7as\u0131, binlerce topluluk taraf\u0131ndan geli\u015ftirilen pakettir. Bu paketleri y\u00f6netmek i\u00e7in MELPA (Milkypostman\u2019s Emacs Lisp Package Archive) gibi paket depolar\u0131 kullan\u0131l\u0131r. MELPA'y\u0131 Emacs'\u0131n\u0131za eklemek i\u00e7in <code>init.el<\/code> dosyan\u0131za a\u015fa\u011f\u0131daki kodu ekleyin:<\/p>\n<pre><code>(require 'package)\n(add-to-list 'package-archives '(\"melpa\" . \"https:\/\/melpa.org\/packages\/\"))\n(package-initialize)\n<\/code><\/pre>\n<p>Bu kodu ekledikten sonra Emacs'\u0131 yeniden ba\u015flat\u0131n veya de\u011ferlendirin. Ard\u0131ndan, paket listesini g\u00fcncellemek i\u00e7in <code>M-x package-refresh-contents<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n. Paketleri aramak ve kurmak i\u00e7in <code>M-x package-list-packages<\/code> komutunu kullanabilirsiniz. Bu, mevcut t\u00fcm paketleri listeleyen bir tampon a\u00e7acakt\u0131r. Bir paketi se\u00e7ip <code>i<\/code> (install) ve ard\u0131ndan <code>x<\/code> (execute) tu\u015flar\u0131na basarak kurabilirsiniz.<\/p>\n<h4>Pop\u00fcler Emacs Paketleri ve Modlar\u0131<\/h4>\n<ul>\n<li><strong>Org-mode:<\/strong> Not alma, yap\u0131lacaklar listeleri, proje y\u00f6netimi, yazar defteri ve hatta web sitesi olu\u015fturma i\u00e7in kullan\u0131lan \u00e7ok y\u00f6nl\u00fc bir moddur. Emacs'\u0131n en \u00fcnl\u00fc ve g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biridir.<\/li>\n<li><strong>Magit:<\/strong> Emacs i\u00e7inden Git versiyon kontrol sistemini y\u00f6netmek i\u00e7in m\u00fckemmel bir aray\u00fczd\u00fcr. Git komutlar\u0131n\u0131 \u00f6\u011frenmekten \u00e7ok daha sezgisel ve h\u0131zl\u0131d\u0131r.<\/li>\n<li><strong>Dired:<\/strong> Emacs'\u0131n dahili dosya y\u00f6neticisidir. Dosyalar\u0131 kopyalama, ta\u015f\u0131ma, silme, yeniden adland\u0131rma ve izinleri de\u011fi\u015ftirme gibi i\u015flemleri klavyeden yapman\u0131z\u0131 sa\u011flar.<\/li>\n<li><strong>Eshell\/Term:<\/strong> Emacs i\u00e7inde bir terminal em\u00fclat\u00f6r\u00fc \u00e7al\u0131\u015ft\u0131rarak, Emacs'tan \u00e7\u0131kmadan kabuk komutlar\u0131n\u0131 y\u00fcr\u00fctmenizi sa\u011flar. Eshell, tamamen Elisp ile yaz\u0131lm\u0131\u015f bir kabuktur ve Emacs komutlar\u0131yla entegrasyonu m\u00fckemmeldir.<\/li>\n<li><strong>Yasnippet:<\/strong> Kod par\u00e7ac\u0131klar\u0131n\u0131 (snippets) h\u0131zla geni\u015fletmenizi sa\u011flar.<\/li>\n<li><strong>Company-mode\/Corfu:<\/strong> Ak\u0131ll\u0131 kod tamamlama \u00e7er\u00e7eveleri.<\/li>\n<li><strong>Flycheck\/Flymake:<\/strong> Yaz\u0131m hatalar\u0131n\u0131 ve kod sorunlar\u0131n\u0131 an\u0131nda kontrol eder.<\/li>\n<\/ul>\n<h3>Emacs Kullan\u0131m \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h3>\n<ul>\n<li><strong>Emacs \u00d6\u011freticisini Tamamlay\u0131n:<\/strong> <code>C-h t<\/code> komutuyla eri\u015febilece\u011finiz dahili \u00f6\u011fretici, Emacs'\u0131n temellerini \u00f6\u011frenmek i\u00e7in en iyi ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/li>\n<li><strong>Yard\u0131m Sistemini Kullan\u0131n:<\/strong> Herhangi bir komutun veya tu\u015f ba\u011flamas\u0131n\u0131n ne yapt\u0131\u011f\u0131n\u0131 merak etti\u011finizde <code>C-h k<\/code>, <code>C-h f<\/code> veya <code>C-h v<\/code> kullanmaktan \u00e7ekinmeyin.<\/li>\n<li><strong><code>M-x<\/code> Kullanmaktan \u00c7ekinmeyin:<\/strong> Bir komutun tu\u015f ba\u011flamas\u0131n\u0131 bilmiyorsan\u0131z, <code>M-x<\/code> ile komut ad\u0131n\u0131 yazarak bulabilir ve \u00e7al\u0131\u015ft\u0131rabilirsiniz. Komut adlar\u0131n\u0131 tamamlama \u00f6zelli\u011fi sayesinde kolayca ke\u015fif yapabilirsiniz.<\/li>\n<li><strong>Klavyeyi Kullan\u0131n:<\/strong> Emacs, klavye merkezli bir d\u00fczenleyicidir. Fare kullan\u0131m\u0131n\u0131 en aza indirmek, verimlili\u011finizi art\u0131racakt\u0131r.<\/li>\n<li><strong>Yap\u0131land\u0131rma Dosyan\u0131z\u0131 Yedekleyin:<\/strong> <code>.emacs<\/code> veya <code>init.el<\/code> dosyan\u0131z, Emacs deneyiminizin kalbidir. D\u00fczenli olarak yedekleyin ve hatta bir versiyon kontrol sisteminde (Git gibi) saklay\u0131n.<\/li>\n<li><strong>K\u00fc\u00e7\u00fck Ad\u0131mlarla \u00d6zelle\u015ftirin:<\/strong> Ba\u015flang\u0131\u00e7ta \u00e7ok fazla paketi veya ayar\u0131 ayn\u0131 anda y\u00fcklemeyin. \u0130htiya\u00e7lar\u0131n\u0131za g\u00f6re yava\u015f yava\u015f eklemeler yap\u0131n.<\/li>\n<li><strong>Topluluktan Yararlan\u0131n:<\/strong> Emacs'\u0131n b\u00fcy\u00fck ve aktif bir toplulu\u011fu vard\u0131r. \u00c7evrimi\u00e7i forumlar, mailing listeleri (\u00f6rne\u011fin, GNU Emacs Help), Reddit'teki r\/emacs ve Stack Overflow gibi platformlarda yard\u0131m bulabilirsiniz.<\/li>\n<\/ul>\n<h3>Sonu\u00e7<\/h3>\n<p>Emacs, s\u0131radan bir metin d\u00fczenleyiciden \u00e7ok daha fazlas\u0131d\u0131r; ki\u015fiselle\u015ftirilebilir, geni\u015fletilebilir ve t\u00fcm geli\u015ftirme ve \u00fcretkenlik ihtiya\u00e7lar\u0131n\u0131z\u0131 kar\u015f\u0131layabilecek g\u00fc\u00e7l\u00fc bir platformdur. Linux ortam\u0131nda Emacs kullanmak, size klavye merkezli, verimli ve esnek bir \u00e7al\u0131\u015fma alan\u0131 sunar. \u00d6\u011frenme e\u011frisi ba\u015flang\u0131\u00e7ta g\u00f6z korkutucu gelse de, Emacs'a yat\u0131r\u0131m yapt\u0131\u011f\u0131n\u0131z zaman, uzun vadede bunun kar\u015f\u0131l\u0131\u011f\u0131n\u0131 fazlas\u0131yla alacaks\u0131n\u0131z. Temel komutlar\u0131 \u00f6\u011frenerek ba\u015flay\u0131n, dahili \u00f6\u011freticiyi tamamlay\u0131n ve ard\u0131ndan ihtiya\u00e7lar\u0131n\u0131za g\u00f6re Emacs'\u0131 \u00f6zelle\u015ftirmeye ba\u015flay\u0131n. Emacs'\u0131n sundu\u011fu s\u0131n\u0131rs\u0131z olanaklar\u0131 ke\u015ffetmeye ba\u015flad\u0131\u011f\u0131n\u0131zda, neden bu kadar \u00e7ok kullan\u0131c\u0131n\u0131n ona ba\u011fl\u0131 oldu\u011funu anlayacaks\u0131n\u0131z. Klavyenizdeki her tu\u015f vuru\u015funu bir g\u00fcce d\u00f6n\u00fc\u015ft\u00fcr\u00fcn ve Emacs ile dijital d\u00fcnyan\u0131z\u0131 \u015fekillendirin.<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/emacs-lisp-basic-function-keybinding\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/emacs-lisp-basic-function-keybinding<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Emacs, geli\u015ftiriciler, yazarlar ve metinle yo\u011fun olarak \u00e7al\u0131\u015fan herkes i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015f, g\u00fc\u00e7l\u00fc, geni\u015fletilebilir ve \u00f6zelle\u015ftirilebilir bir metin d\u00fczenleyicidir.","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-42978","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linux&#039;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux&#039;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f\" \/>\n<meta property=\"og:description\" content=\"Emacs, geli\u015ftiriciler, yazarlar ve metinle yo\u011fun olarak \u00e7al\u0131\u015fan herkes i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015f, g\u00fc\u00e7l\u00fc, geni\u015fletilebilir ve \u00f6zelle\u015ftirilebilir bir metin d\u00fczenleyicidir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-01T14:01:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-01T14:01:33+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Linux&#8217;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f\",\"datePublished\":\"2026-07-01T14:01:12+00:00\",\"dateModified\":\"2026-07-01T14:01:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/\"},\"wordCount\":2639,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/\",\"name\":\"Linux'ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-07-01T14:01:12+00:00\",\"dateModified\":\"2026-07-01T14:01:33+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux&#8217;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Linux'ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/","og_locale":"tr_TR","og_type":"article","og_title":"Linux'ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f","og_description":"Emacs, geli\u015ftiriciler, yazarlar ve metinle yo\u011fun olarak \u00e7al\u0131\u015fan herkes i\u00e7in vazge\u00e7ilmez bir ara\u00e7 haline gelmi\u015f, g\u00fc\u00e7l\u00fc, geni\u015fletilebilir ve \u00f6zelle\u015ftirilebilir bir metin d\u00fczenleyicidir.","og_url":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-07-01T14:01:12+00:00","article_modified_time":"2026-07-01T14:01:33+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Linux&#8217;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f","datePublished":"2026-07-01T14:01:12+00:00","dateModified":"2026-07-01T14:01:33+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/"},"wordCount":2639,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/","url":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/","name":"Linux'ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-07-01T14:01:12+00:00","dateModified":"2026-07-01T14:01:33+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/linuxta-emacs-duzenleyiciyi-kullanmaya-kapsamli-bir-giris\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Linux&#8217;ta Emacs D\u00fczenleyiciyi Kullanmaya Kapsaml\u0131 Bir Giri\u015f"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42978","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=42978"}],"version-history":[{"count":2,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42978\/revisions"}],"predecessor-version":[{"id":42980,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42978\/revisions\/42980"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=42978"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=42978"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=42978"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}