Emacs Öğretici

Yazan: Ali Çehreli
Sürüm Bilgileri
Sürüm 1 2006
İlk sürüm.
Özet

Bu belge, emacs metin düzenleyicisinin TUTORIAL isimli dosyasının çevirisidir.

Aşağıdaki metni (= imli ilk ve son satır hariç) herhangi bir metin düzenleyici içine kopyaladıktan sonra TUTORIAL ismiyle ev dizininize kaydedip emacs'ı başlatın. Ctrl-h t tuşladığınızda aşağıdaki metin gelmiyorsa, Ctrl-x Ctrl-f yapın ve Find File: satırına ~/TUTORIAL yazıp emacs öğrenmeye başlayın.

Bu dosyada anlatılan herşey Q klavyeye göredir. F klavye kullanımı için neler yapılması gerektiğini F klavyeli bir emacs kullanıcısı yazarsa burada yayınlarız (Sanırım F klavye kullanıcıları için kolay kullanılır başka tuşların atanması ve buna uygun ayrı bir TUTORIAL gerekecek).


==============================================================================
Emacs dersini izliyorsunuz.  Bu belgenin kopyalanma koşulları ile
ilgili bilgi edinmek için en sona bakabilirsiniz.
Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation.
Ali Çehreli <acehreli (at) yahoo.com>, 2006

Emacs komutları, genellikle CONTROL tuşu (CTRL veya CTL da olabilir)
veya META tuşu (EDIT veya ALT da olabilir) ile verilir.  Bunları
dersin geri kalanında bütünüyle yazmak yerine şu kısaltmaları
kullanacağız:

 C-<kar>  <kar> karakterini CONTROL tuşu basılıyken yazın
          Yani, C-f şu anlama gelecek: CONTROL tuşunu basın ve f yazın.
 M-<kar>  <kar> karakterini META, EDIT veya ALT tuşu basılıyken yazın
          Eğer META, EDIT veya ALT tuşu yoksa; bunun yerine önce ESC
      tuşuna basıp bırakın, ondan sonra <kar> karakterini yazın.  Biz
      ESC tuşunu göstermek için <ESC> yazacağız.

[Çevirenin notu: Çoğu modern ortamda META karakteri yerine klavyenin
sol tarafındaki Alt tuşu kullanılır.]

Önemli not: Emacs'ten çıkmak için C-x C-c yazın.  (İki karakter.)  Sol
kenardaki ">>" karakterleri, size ders sırasında bir komut denemenizi
bildirmek için kullanılacaklar.  Örneğin:

<<Blank lines inserted around following line by help-with-tutorial>>
[Burası anlatım amacıyla boş bırakılmıştır.  Yazı aşağıda devam ediyor.]

>>  Şimdi bir sonraki ekrana geçmek için C-v yazın.
        (haydi, CONTROL tuşu basılıyken v yazın).
        Bundan böyle ekrandaki yazıyı bitirdiğinizde, hep böyle yapın.

Bir önceki ekranın sonundaki iki satırın bir sonraki ekranda da
gösterildiğini gördünüz mü; bu, yazıyı kesintisiz okuyabilmeniz için
özellikle yapılmıştır.

İlk olarak öğrenmeniz gereken, yazı içinde bir yerden başka bir yere
nasıl gidileceğidir.  Sonraki ekrana C-v ile gidildiğini zaten
öğrendiniz.  Geriye doğru bir ekran gitmek için M-v yapılır (META tuşu
basılıyken v yazın; eğer META, EDIT, veya ALT tuşunuz yoksa <ESC>v
yazın).

>>  Bir kaç kere M-v ve C-v yazmayı deneyin.


* ÖZET
------

Bütün bir ekran dolusu yazıyla ilgili olarak şu komutlar yararlıdır:

        C-v     Bir ekran ileri git
        M-v     Bir ekran geriye git
        C-l     Ekranı sil ve yazıyı imleç ekranın tam ortasinda olacak
                şekilde tekrar göster.
                (Not: Buradaki tuş dizisi CONTROL-L olacak, CONTROL-1 değil.)

>> İmleci bulun ve hangi satırda olduğuna dikkat edin.
   Ondan sonra C-l yazın.
   İmlecin yine aynı satırda olduğunu göreceksiniz.

Eğer terminaliniz destekliyorsa, bir ekran geriye ve ileriye gitmek
için PageUp ve PageDn tuşlarını da kullanabilirsiniz; ama C-v ve M-v
yazmak daha etkindir.


* TEMEL İMLEÇ HAREKETLERİ
-------------------------

Ekran ekran ilerlemek yararlıdır, peki ama yazı içinde belirli bir
yere nasıl gidilir?

Bunun bir kaç yolu vardır.  Ok tuşlarını kullanarak
ilerleyebilirsiniz, ama ellerinizi klavye harfleri üzerinde tutarak
C-p, C-b, C-f, ve C-n komutlarını kullanırsanız daha hızlı olur.  Bu
karakterler, dört ok tuşuna şu şekilde karşılık gelirler:

               Önceki satıra, C-p
                        :
                        :
  Geriye, C-b .... İmlecin yeri .... İleriye, C-f
                        :
                        :
               Sonraki satıra, C-n

>> İmleci C-n veya C-p ile yukarıdaki şeklin ortasındaki satıra
   götürün. Ondan sonra şekli ekranın ortasında ortalamak için C-l
   yazın.

Burada kullanılan harfler İngilizce'deki şu sözcüklere karşılık
gelirler: P previous (önceki), N next (sonraki), B backward (geri), F
forward (ileri).  Bu temel imleç komutlarını hep kullanacaksınız.

>> İmleci bu satıra indirmek için bir kaç tane C-n yazın.

>> Satırın ortasına doğru C-f'lerle ilerleyin ve sonra C-p'lerle
   yukarıya gidin. İmleç satırın ortasındayken C-p'nin ne yaptığına
   bakın.

Her satırın sonunda, onu bir sonraki satırdan ayırmaya yarayan bir
satır sonu karakteri vardır.  Metnin sonuncu satırının sonunda da bir
satır sonu karakteri olması gerekir (ama bunu Emacs şart koşmaz).

>> Bir satırın başındayken C-b yapmayı deneyin.  İmleç bir önceki
   satırın sonuna gidecektir.  Bunun nedeni, iki satırı ayıran satır
   sonu karakterinin üzerinden atlamasıdır.

C-f de satır sonu karakterlerinin üzerinden atlayabilir.

>> İmlecin hareketine alışmak için bir kaç tane C-b yapın. Ondan sonra
   C-f'ler yaparak satırın sonuna gidin.  En sonunda bir tane daha C-f
   ile bir sonraki satıra geçin.

Ekranın üstünü veya altını geçecek şekilde ilerlerseniz, ekran
sınırının dışında kalmış olan yazılar ekrana girmeye başlarlar.  Buna
ekranın kaydırılması denir.  Böylece Emacs imleci belirtilen satıra
ekrandan çıkartmadan götürebilmiş olur.

>> C-n komutu ile imleci ekranın alt tarafından çıkartmaya çalışın ve
   ne olduğuna bakın.

Karakter karakter ilerlemenin çok yavaş kaldığı durumlarda, sözcük
sözcük de ilerleyebilirsiniz.  M-f (META-f) bir sözcük ileriye, M-b de
bir sözcük geriye gider.

>> Bir kaç kere M-f ve M-b yazın.

M-f, imleç bir sözcüğün ortasındayken o sözcüğün sonuna gider.
Sözcükler arasındaki boşlukta dururken M-f bir sonraki sözcüğün sonuna
gider. M-b de benzer şekilde ama diğer yöne doğru işler.

>> Aralarda C-f ve C-b yazacak şekilde bir kaç tane M-f ve M-b
   yazın. Böylece M-f ve M-b'nin sözcükler üzerinde ve aralarında
   nasıl işlediklerini görebilirsiniz.

C-f ve C-b'nin M-f ve M-b ile olan ilişkisine dikkat edin.  Meta
karakterleri çoğu zaman, dil tarafından tanımlanmış olan birimlerle
(sözcük, cümle, paragraf) ilgili olarak kullanılırlar.  Öte yandan,
Control karakterleri düzenlemekte olduğunuz metinden bağımsız olarak,
temel birimlerle (karakter, satır, vs.) ilgilidirler.

Bu ilişki satır ve cümlelerde de görülür: C-a ve C-e satır başına ve
sonuna gitmek için, M-a ve M-e de cümle başına ve sonuna gitmek için
kullanılırlar.

>> Bir kaç tane C-a ve bir kaç tane C-e deneyin.
   Bir kaç tane de M-a ve bir kaç tane M-e deneyin.

Tekrarlanan C-a'ların etkisiz olduklarına, ama tekrarlanan M-a'ların
sonraki cümlelere ilerlediklerine dikkat edin.  Tam olarak benzer
olmasalar da yine de davranışları doğal kabul edilebilir.

Basit imleç hareketlerinin listesi:

        C-f     Bir karakter ileriye
        C-b     Bir karakter geriye

        M-f     Bir sözcük ileriye
        M-b     Bir sözcük geriye

        C-n     Bir sonraki satıra
        C-p     Bir önceki satıra

        C-a     Satırın başına
        C-e     Satırın sonuna

        M-a     Cümlenin başına
        M-e     Cümlenin sonuna

>> Alışkanlık kazanmak için bu komutları bir kaç kere deneyin.  En sık
   kullanacağınız komutlar bunlar olacaktır.

Önemli başka imleç komutları, bütün yazının en başına götüren M-<
(META ve "küçüktür" işareti) ve bütün yazının en sonuna götüren M->
(META ve "büyüktür" işareti) komutlarıdır.

"<" karakteri çoğu terminalde virgülün üstünde gösterildiği için, onu
yazabilmek için önce Shift tuşuna basmak gerekir.  Aynı şekilde, M-<
yazabilmek için de Shift tuşuna basmak gerekir; yoksa M-virgül olarak
anlaşılır.

>> Dersin başına gitmek için M-< yazmayı deneyin.
   Sonra gerekli sayıda C-v yazarak tekrar buraya gelin.

>> Dersin sonuna gitmek için M-> yazmayı deneyin.
   Sonra gerekli sayıda M-v yazarak tekrar buraya gelin.

Eğer terminalinizde varsa, imleci ok tuşlarını kullanarak da
ilerletebilirsiniz.  Biz üç nedenden ötürü C-b, C-f, C-n ve C-p
komutlarını öğrenmenizi öneririz.  Birincisi, bunlar bütün
terminallerde çalışırlar.  İkincisi, Emacs'e alıştıkça bu Control
karakterlerinin ok tuşlarından daha çabuk olduklarını göreceksiniz
(çünkü bunları kullanırken ellerinizi on parmak daktilo yazma
durumundan çekmek zorunda kalmazsınız).  Üçüncüsü, bu Control
karakterlerini kullanmaya alışırsanız, ileri düzey imleç komutlarını
öğrenmek daha kolay olacaktır.

Çoğu Emacs komutu sayısal bir bağımsız değişken alır; çoğu durumda bu
bağımsız değişken bir işlemin kaç kere tekrar edileceğini belirler.  Komutun
kaç kere tekrarlanacağını, komutu yazmadan önce C-u yazarak ve tekrar
sayısını girerek belirlersiniz.  Eğer META (veya EDIT veya ALT)
tuşunuz varsa, tekrar sayısını girmenin başka bir yolu daha vardır:
tekrar sayısını META tuşu basılıyken yazmak.  Biz C-u yöntemini
öneririz; çünkü her terminalde çalışır.  Bu sayısal bağımsız değişkene,
komuttan önce belirtildiği için "ön bağımsız değişken" de denir.

Örneğin, C-u 8 C-f sekiz karakter ileri gider.

>> Bu satıra tek bir komutla gelebilmek için C-n veya C-p komutunu bir
   sayısal bağımsız değişken ile birlikte kullanmayı deneyin.

Çoğu komut sayısal bağımsız değişkeni tekrar sayısı anlamında kullansa da;
bazı komutlar farklıdır.  Daha öğrenmediğiniz bazı komutlar, bu
bağımsız değişkeni bir "bayrak" olarak kullanır. Değerine bakılmaksızın
bağımsız değişkenin verilmiş olması, o komutların başka şekilde
işletilmelerine neden olur.

C-v ve M-v bu konuda başka tür bir istisna oluştururlar.  Bağımsız değişken
kullanıldığı zaman; ekranı bütünüyle değil, belirtilen sayıda satır
olarak kaydırırlar.  Örneğin, C-u 8 C-v ekranı 8 satır kaydırır.

>> C-u 8 C-v yazmayı deneyin.

Ekranın yukarıya doğru 8 satır kaydırılmış olması gerekir.  Eğer
tekrar aşağıya doğru kaydırmak isterseniz, M-v komutunu bağımsız değişken ile
kullanabilirsiniz.

Eğer X11 veya MS-Windows gibi görsel bir ortamda çalışıyorsanız, Emacs
penceresinin sol tarafında "kaydırma çubuğu" denen ince uzun
dikdörtgen bir alan olması gerekir.  Fareyi kaydırma çubuğunda
tıklayarak da yazıyı kaydırabilirsiniz.

>> Farenin orta tuşunu kaydırma çubuğunun belirginleştirilmiş olan
   bölümünün üst tarafında tıklamayı deneyin.  Yazı, tıkladığınız
   yerin ne kadar yukarıda veya aşağıda olduğuna bağlı olarak
   kaydırılacaktır.

>> Fareyi orta tuşu basılıyken yukarıya ve aşağıya doğru hareket
   ettirin.  Yazının farenin hareketine bağlı olarak yukarıya veya
   aşağıya doğru kaydırıldığını göreceksiniz.


* EMACS TAKILIRSA
-----------------

Emacs komutlarınıza yanıt vermiyorsa onu C-g ile güvenli bir şekilde
durdurabilirsiniz.  C-g'yi çalışması fazla uzun süren bir komutu
durdurmak için kullanabilirsiniz.

C-g'yi işletmekten vazgeçtiğiniz bir komutun sayısal bağımsız değişkenini
iptal etmek için de kullanabilirsiniz.

>> Önce 100 değerinde bir sayısal bağımsız değişken vermek için C-u 100 yazın,
   sonra C-g yazın.  Şimdi de C-f yazın.  C-g ile bağımsız değişkeni iptal
   ettiğiniz için, imleç bir karakter ilerleyecektir.

Eğer yanlışlıkla <ESC> tuşuna basarsanız, onu da C-g ile iptal
edebilirsiniz.


* KAPALI KOMUTLAR
-----------------

Bazı Emacs komutları yeni başlayanların yanlışlık yapmalarını önlemek
için "kapatılmışlardır".

Bu kapalı komutlardan birisini yazarsanız, Emacs komutun ne olduğunu
bildirir ve komutu çalıştırmak isteyip istemediğinizi sorar.

Eğer komutu gerçekten çalıştırmak istiyorsanız, soruya yanıt olarak
boşluk tuşuna basın.  Eğer komutu çalıştırmak istemiyorsanız, soruya
"n" yanıtını verin.

>> Kapatılmış bir komut olan C-x C-l komutunu verin ve sorulan soruya
   n yazın.


* PENCERELER
------------

Emacs, içinde değişik metinler görünen çok sayıda pencere açabilir.
Birden fazla pencerenin nasıl kullanıldığını daha sonra açıklayacağız.
Önce böyle çok sayıdaki pencereden kurtulup nasıl tekrar tek pencereye
dönüleceğini göstereceğiz.  Çok kolay:

        C-x 1   Tek pencere ("diğer pencereleri kapat" anlamında).

Yani CONTROL-x ve arkasından 1 tuşu...  C-x 1, imlecin o anda içinde
bulunduğu pencerenin büyütülmesini sağlar; diğer pencereleri kapatır.

>> İmleci bu satıra getirin ve C-u 0 C-l yazın.
>> CONTROL-h k CONTROL-f yazın.  Bu pencere küçülecek ve içinde
   CONTROL-f komutunun belgesi bulunan yeni bir pencere açılacaktır.

>> C-x 1 yazın; belge penceresinin kaybolduğunu göreceksiniz.

Bu komut, daha önce öğrendiğiniz komutlardan farklı olarak, iki
karakter içermektedir.  CONTROL-x karakteriyle başlar.  CONTROL-x
karakteriyle başlayan çok sayıda komut vardır; bu komutlar çoğunlukla
pencereler, kütükler ve ara belleklerle ilgilidirler.  Bu komutlar
iki, üç veya dört karakter uzunluğunda olabilirler.


* YAZMA VE SİLME
----------------

Yazmak için tuşlara basmanız yeterlidir.  Emacs, A, 7, *, vs. gibi
gözle görünen karakterleri normal yazı olarak kabul eder ve oldukları
gibi yazının içine yerleştirir.  Yeni bir satıra geçmek için <Enter>
(veya <Return>) tuşuna basılır.

Yazdığınız son karakteri <Backspace> tuşu ile silebilirsiniz.
<Backspace>, normalde Emacs dışında da aynı amaçla kullandığınız bir
tuştur.  Klavyenizde <Enter> (veya <Return>) tuşunun bir iki sıra
yukarısında bulunur, ve çoğunlukla diğer tuşlardan daha büyüktür. Bazı
klavyelerde üstünde yalnızca sol tarafı gösteren bir ok bulunur.

Klavyenizde üzerinde <Delete> yazan bir tuş daha
bulunabilir. <Backspace> o tuş değildir.

<Backspace> imleçten hemen önceki karakteri siler.

>> Bunu deneyin; bir kaç tane karakter yazın ve onları yeterince
   sayıda <Backspace> tuşuna basarak silin.  Bu belgeyi bozmaktan
   korkmayın; asıl kopyayı değiştirmiş olmayacaksınız.  Bu gördüğünüz,
   sizin kişisel kopyanızdır.

Eğer yazı içindeki bir satır ekrana sığmayacak kadar uzunsa, o yazı
satırı bir sonraki ekran satırında devam eder.  Bu durum, sağ kenarda
görünen bir ters bölü karakteri ("\") (veya görsel ortamlarda kıvrık
bir ok işareti) ile belirtilir.

>> Ekranın sağ tarafına yaklaşana kadar bir şeyler yazın. Sonra biraz
   daha yazarsanız, bir sonraki ekran satırına geçtiğinizi
   göreceksiniz.

>> Satırı <Backspace>ler kullanarak kısalttığınızda ise, o "devam
   satırı"nın ortadan kalktığını göreceksiniz.

Satır sonu karakterlerini de diğer karakterler gibi silebilirsiniz.
İki satır, aralarındaki satır sonu karakteri silindiğinde, tek bir
satır olarak birleştirilir.  Eğer sonuçta oluşan satır ekrana
sığamayacak kadar uzunsa, yine bir sonraki ekran satırında devam eder.

>> İmleci bir satırın başına götürün ve <Backspace>e basın.  Bu işlem
   satırı bir öncekiyle birleştirir.

>> Tekrar bir satır sonu karakteri eklemek için <Enter> tuşuna basın.

Hatırlarsanız, çoğu Emacs komutunun kaç kere tekrarlanacağını
belirleyebiliyordunuz.  Bu, karakterler için de geçerlidir; bir
karakteri tekrarlamak, o karakterin yazıya tekrar sayısı kadar
yerleştirilmesini sağlar.

>>  Deneyin: ******** oluşturmak için C-u 8 * yazın .

Şimdi de Emacs ile bir şeyler yazmanın ve yanlışları düzeltmenin en
temel komutlarını öğrenmiş oldunuz.  Ek olarak, kelimeleri ve
satırları da silebilirsiniz.  Silme işlemlerinin bir özeti şöyle
verilebilir:

        <Backspace>   imleçten önceki karakteri sil
        C-d           imleçten sonraki karakteri sil

        M-<Backspace> imleçten önceki sözcüğü yok et (Dikkat: "sil" değil,
                  "yok et"; bkz. aşağıdaki C-BOŞLUK ile ilgili bölüm)
        M-d               imleçten sonraki sözcüğü yok et

        C-k               imleçten satır sonuna kadar yok et
        M-k               imleçten cümle sonuna kadar yok et

C-f ve M-f ile başlayan benzerliğin <Backspace> ve C-d arasında da
bulunduğuna dikkat edin. (<Backspace>in aslında bir kontrol karakteri
olmadığını şimdilik önemsemeyelim.)  C-k ve M-k, C-e ve M-e
gibidirler; aralarındaki fark, işlevlerinin satır veya cümlelerle
ilgili olmalarıdır.

Metnin herhangi bir bölümünü bir seferde de yok edebilirsiniz. Yok
etmek istediğiniz bölümün bir ucuna (yani başına veya sonuna) gidin ve
C-@ veya C-BOŞLUK yazın. (BOŞLUK burada boşluk tuşu anlamında
kullanılmıştır.)  Şimdi silinecek olan bölümün diğer ucuna gidin ve
C-w yazın.  Bu hareket, o iki uç arasında kalan yazıyı yok edecektir.

>> İmleci bir önceki paragrafın başındaki M harfine götürün.
>> C-BOŞLUK yazın.  Emacs, ekranın alt tarafında "Mark set" diye bir
   mesaj verecektir.
>> İmleci paragrafın ikinci satırındaki "bir"in sonundaki r harfine
   götürün.
>> C-w yazın.  M harfiyle başlayan ve r harfinden bir önce biten yazı
   parçası yok edilmiş olacaktır.

"Yok etme" ile "silme" arasındaki fark, yok edilen bölümün yazıya
tekrar yerleştirilebilmesidir.  Yok edilmiş olan yazı parçasının
tekrar yerleştirilmesine "geri getirme" denir.  [Çevirenin notu: "geri
getirme" ifadesini, bu yazının İngilizce aslında kullanılan ve aslında
"hızla çekmek" anlamına gelen "yank" sözcüğünün karşılığı olarak
kullanıyorum.]  Genel olarak, yazıdan büyük miktarda karakter çıkartan
komutlar o karakterleri "yok ederler" (yani onlar geri
getirilebilirler).  Öte yandan; tek bir karakteri veya boşlukları
çıkartan komutlar onları "silerler" (yani onlar geri getirilemezler.)

>> İmleci boş olmayan bir satırın başına götürün. O satırdaki yazıyı
   yok etmek için C-k yazın.
>> Bir kere daha C-k yazın.  O satırdan sonra gelen satır sonu
   karakterinin de silindiğini göreceksiniz.

Dikkat ederseniz, birinci C-k satırdaki karakterleri yok ediyor;
ikinci C-k ise satırın kendisini yok ederek sonraki satırların bir
satır yukarıya kaydırılmalarını sağlıyor.

C-k sayısal bağımsız değişkeni özel bir anlamda kullanır: belirtilen sayıda
satırı VE içeriklerini yok eder.  C-u 2 C-k iki satırı ve onların
satır sonu karakterlerini siler.  Bunun iki kere C-k yazmakla aynı şey
olmadığına dikkat edin.

Yok edilen yazıyı yok edildiği yerde veya yazı içinde başka bir yerde,
ve hatta başka bir belge içinde bir yerde bile geri getirebilirsiniz.
Yok edilen yazıyı birden çok sayıda da geri getirebilir ve böylece
birden çok kopyasını oluşturabilirsiniz.

Geri getirme komutu C-y'dir.  En son yok edilen yazıyı imlecin
bulunduğu yerde geri getirir.

>> Deneyin; C-y'ye basarak yazıyı geri getirin.

Eğer art arda C-k'ler yazarsanız, yok edilen yazılar birleştirilerek
saklanırlar ve tek bir C-y ile geri getirilirler.

>> Şimdi de bunu deneyin; bir kaç kere C-k yazın.

Yeni yok edilen yazıyı geri getirmek için:

>> C-y yazın.  Sonra, imleci bir kaç satır aşağıya götürerek bir kere
   daha C-y yazın.  Böylece nasıl yazı kopyalandığını öğrenmiş
   oldunuz.

Geri getirmek istediğiniz bir yazı varken, başka bir yazıyı yok
ederseniz ne olur?  C-y hep en son yok edilen yazıyı geri getirir, ama
daha önce yok edilen yazı da saklıdır.  Daha önce yok edilen yazıları
M-y komutu ile geri getirebilirsiniz.  C-y yazarak en son yok edilen
yazıyı geri getirdikten sonra M-y yazarsanız, geri gelen yazının
yerini ondan bir önce yok edilen yazının aldığını görürsünüz.  Peş
peşe M-y yazarak, daha da önce yok edilen yazıları geri
getirebilirsiniz.  Geri getirmek istediğiniz yazıyı gördüğünüz zaman,
ayrıca bir şey yapmanız gerekmez.  Geri gelen yazıyı olduğu yerde
bırakıp yazı üzerinde çalışmanıza devam edebilirsiniz.

Eğer yeterince M-y yazarsanız; başladığınız noktaya, yani en son yok
ettiğiniz yazıya dönersiniz.

>> Bir satırı yok edin, imleci başka bir yere götürün ve bir satırı
   daha yok edin.  C-y yaparak ikinci yok edilen yazıyı geri getirin.
   M-y yaparak, yeni geri getirilen yazının yerine ilk silinen yazıyı
   geri getirin.  M-y yapmaya devam edin ve nelerin geri
   getirildiklerine bakın.  Daha da devam ederek ikinci sildiğiniz
   satırın tekrar geri gelmesini sağlayın, ve biraz daha devam edin.
   İsterseniz M-y'ye artı veya eksi değerli sayısal bağımsız değişkenler de
   verebilirsiniz.


* GERİ AL
---------

Bir değişiklik yapar ve sonradan bunun bir hata olduğuna karar
verirseniz, yaptığınız değişikliği C-x u ile geri alabilirsiniz.

C-x u normalde tek bir komutun neden olduğu değişikliği geri alır.
C-x u yapmayı tekrarlarsanız, her tekrar başka bir komutu geri alır.

Bunun iki tane istisnası vardır: Birincisi, yazıyı değiştirmeyen
komutlar sayılmazlar (imleci hareket ettirmek, yazıyı kaydırmak, vs.).
İkincisi, ayrı ayrı girilmiş olan karakterler 20 taneye kadar gruplar
halinde birleştirilerek geri alınırlar.  (Böylece, yazılmış olan bir
miktar yazıdan vazgeçmek için çok fazla C-x u yazılması gerekmemiş
olur.)

>> Bu satırı C-k ile yok edin.  C-x u yazdığınızda tekrar
   belirecektir.

Geri alma komutu olarak C-_ de yazabilirsiniz.  Aynı C-x u komutu gibi
işler ama art arda basmak için daha elverişlidir.  C-_ tuşunun kötü
tarafı, nasıl yazılacağının bazı klavyelerde çok açık olmamasıdır.
Bazı terminallerde C-_ yerine C-/ de yazabilirsiniz.  [Çevirenin notu:
Aslında en kullanışlı olanı da budur.]

Sayısal bağımsız değişken C-_ veya C-x u komutları için de tekrar sayısı
anlamına gelir.

Yok edilen yazıyı geri alabildiğiniz gibi, aslında silinen yazıyı da
geri alabilirsiniz.  Yok etmekle silmek arasındaki fark, bir şeyin C-y
ile geri getirilip getirilememesidir.  Geri alma komutu için böyle bir
fark yoktur.


* KÜTÜKLER
----------

Yazdığınız yazının kalıcı olması için onu bir kütüğe kaydetmeniz
gerekir.  Yoksa yazdığınız yazıyı Emacs'ten çıktığınızda
kaybedersiniz.  Yazıyı bir kütüğe kaydetmek için, yazıyı yazmadan önce
kütüğü açmanız gerekir.  (Buna Emacs dünyasında kütüğü "ziyaret etmek"
(visit) de denir.) [Çevirenin notu: İngilizce'de "kütüğü açma" yerine
"kütüğü bulma" anlamına gelen "find the file" da kullanılır.]

Bir kütüğü açmak demek, onun içeriğini Emacs içerisinden göstermek
demektir.  Böyle olunca, sanki kütüğü değiştiriyorsunuz gibi
gelebilir.  Oysa Emacs içinden yaptığınız değişikliklerin kalıcı
olmaları için kütüğü "kaydetmeniz" gerekir.  Bunun nedeni, kütüklerin
değişiklikler tamamlanmadan kaydedilmelerini önlemektir.  Kütüğü
kaydetseniz bile, belki daha sonradan vazgeçersiniz diye, asıl
kopyasını da Emacs başka bir isim altında saklar.

Ekranın alt tarafında, "--:-- TUTORIAL" karakterlerine benzer şekilde
başlayan ve tire karakterleriyle son bulan bir satır vardır.  Normalde
ekranın o bölümü, açmış olduğunuz kütüğün adını gösterir.  Şu anda
Emacs dersinin size ait bir taslak kopyası olan "TUTORIAL" adlı kütük
açık durumdadır.  Bir kütüğü Emacs ile açtığınızda, kütüğün adı o
satırda ve o noktada gösterilir.

Kütük açan komutun özelliği, kütüğün adını da bildirmenizi
gerektirmesidir.  Böyle komutların "klavyeden bağımsız değişken aldıklarını"
söyleriz (bu durumda bağımsız değişken, kütüğün adıdır).

        C-x C-f   Kütüğü aç

komutunu yazdığınızda Emacs sizden kütüğün adını da yazmanızı ister.
Kütüğün adı ekranın altındaki satırda belirir.  Böyle bilgi girişi
için kullanıldığında ekranın alt bölümü "giriş satırı" (minibuffer)
adını alır.  Kütük adını yazarken de Emacs'in metin düzenleme
komutlarını kullanabilirsiniz.

Kütüğün adını yazarken (veya giriş satırında başka bilgiler girerken)
C-g yazarak bilgi girişini iptal edebilirsiniz.

>> Önce C-x C-f, sonra da C-g yazın.  Böylece hem giriş satırını, hem
   de onu kullanmakta olan C-x C-f komutunu iptal etmiş olursunuz.
   Kütük açma işlemi durdurulmuştur...

Kütüğün adını yazdıktan sonra <Enter>a basın.  C-x C-f komutu, adını
belirttiğiniz kütüğü açar.  Bu komut işini bitirince giriş satırı da
ortadan kalkar.

Kütüğün içeriği kısa bir süre sonra ekranda belirir ve böylece
değişiklikler yapılabilir.  Değişiklikleri kaydetmek için

        C-x C-s   Kütüğü kaydet

komutu verilir.  Bu komut, Emacs içinde tutulan yazıyı kütüğe
kopyalar.  Emacs'ten ilk defa kopyalandığında, tamamen kaybedilmesin
diye asıl kütük de adı degiştirilerek saklanır.  Kütüğün yeni adı,
eski adının sonuna "~" karakterinin eklenmiş halidir.

Kayıt işlemi tamamlandığında Emacs yazılan kütüğün adını gösterir.
Sistemde oluşabilecek kilitlenme gibi bir durum sonucunda fazla
kayıplı çıkmamak için yazdıklarınızı sık sık kaydetmeniz önerilir.

>> C-x C-s yazarak size ait bir kopyası olduğunu öğrendiğiniz bu ders
   metnini kaydedin.  Bunun sonucunda ekranın alt tarafında
   "Wrote ...TUTORIAL" mesajı görünecektir.

NOT: Bazı sistemlerde C-x C-s, ekranın donmasına neden olabilir.  Bu,
"flow control" adında bir işletim sistemi olanağının devreye girdiği
ve C-s komutunun Emacs'e gönderilmesine izin verilmediği anlamına
gelir.  Ekran kilidini açmak için C-q yazın.  Daha sonra Emacs
belgesinin "Spontaneous Entry to Incremental Search" adlı bölümünü
okuyabilirsiniz. [Çevirenin notu: Modern ortamlarda böyle bir donma
olayı ile karşılaşacağınızı sanmıyorum.]

Baştan varolan bir kütüğü içine bakmak veya değişiklik yapmak için
açabileceğiniz gibi, henüz varolmayan bir kütüğü de açabilirsiniz.
Emacs kullanılarak yeni bir kütük oluşturma yöntemi böyledir.  Kütük
boş olarak başlar ve içi yazdıklarınızla dolar.  Sonra kütüğü
"kaydetmek" istediğinizde Emacs kütüğü içinde yazdıklarınız bulunacak
şekilde oluşturur.  Bu yaptıktan sonra artık varolan bir kütükle
çalıştığınızı düşünebilirsiniz.


* ARA BELLEKLER (BUFFERS)
-------------------------

C-x C-f yaparak yeni bir kütük açarsanız, ilk kütük de Emacs'in içinde
bulunmaya devam eder.  C-x C-f komutu ile tekrar ona geçebilirsiniz.
Böylece Emacs içinde çok sayıda kütükğü aynı anda açmış olabilirsiniz.

>> C-x C-f deneme <Enter> yazarak "deneme" adında bir kütük oluşturun.
   İçine bir şeyler yazın, değişiklikler yapın ve "deneme"yi C-x C-s
   yazarak kaydedin.  Sonra da C-x C-f TUTORIAL <Enter> yazarak tekrar
   bu derse dönün.

Emacs kütüklerin içeriklerini "ara bellek" denen yerlerde tutar.  Bir
kütük açmak, Emacs içinde yeni bir ara bellek oluşturmak anlamına
gelir.  Herhangi bir anda Emacs içinde bulunan ara belleklerin bir
listesini görmek için

        C-x C-b   Ara bellek listesi

komutu kullanılır.

>> C-x C-b yazın.

Her ara belleğin kendisine ait bir adı olduğu gibi, eğer varsa,
içeriğini tuttuğu kütüğün adı da bellidir.  Emacs'te gördüğünüz HER
yazı parçası mutlaka bir ara belleğin bir parçasıdır.

>> Ara bellek listesinden kurtulmak için C-x 1 yazın.

Birden fazla ara bellek bulunması durumunda bunlardan yalnızca bir
tanesi etkindir.  O da içinde değişiklik yapmakta olduğunuz ara
bellektir.  Başka bir ara bellekte değişiklik yapmak için önce ona
"geçmeniz" gerekir.  Bir kütükle ilişkili bir ara belleğe o kütüğü C-x
C-f ile tekrar açarak geçebilirsiniz, ama bunun daha kolay bir yolu
vardır: C-x b komutunu kullanmak.  Bu komut için ara belleğin adını
yazmanız gerekir.

>> "deneme" adlı kütüğün içeriğini tutmakta olan "deneme" adlı ara
   belleğe geçmek için C-x b deneme <Enter> yazın.  Ondan sonra da C-x
   b TUTORIAL <Enter> yazarak tekrar bu derse dönün.

Çoğu durumda ara belleğin adı, içinde açılı olan kütüğün adıyla
aynıdır (kütük adının klasörlerle ilgili baş tarafı olmaksızın).  Bu
her zaman böyle olmayabilir.  Ara belleklerin adlarını görmek için C-x
C-b ile ara bellek listesine bakabilirsiniz.

Emacs'te gördüğünüz HER yazı parçası mutlaka bir ara belleğin bir
parçasıdır.  Bazı ara bellekler hiçbir kütükle ilişkili değillerdir.
Örneğin "*Buffer List*" adlı ara belleğin bir kütüğü yoktur. O, C-x
C-b ile oluşturduğunuz ara bellek listesini içeren ara bellektir.
"*Messages*" adlı ara belleğin de kütüğü yoktur; o da Emacs çalışmaya
başladığından bu yana ekranın alt tarafında beliren mesajları içerir.

>> C-x b *Messages* <Enter> yazarak mesajların tutulduğu ara belleğe
   geçin.  Ondan sonra da C-x b TUTORIAL <Enter> yazarak tekrar bu
   derse dönün.

Eğer bir kütük metninde değişiklik yaptıktan sonra başka bir kütüğü
açarsanız, ilk kütük otomatik olarak kaydedilmez.  Onda yapılan
değişiklikler Emacs içinde kendi ara belleğinde tutulur.  İkinci
kütüğün ara belleğinin oluşturulmasının veya değiştirilmesinin ilk
kütüğün ara belleği üzerinde hiçbir etkisi yoktur.  Bu durum, ilk
kütüğün ara belleğini kaydetmenin kolay bir yolunun olması gereğini
doğurur.  C-x C-s ile kaydedilebilsin diye önce onun ara belleğine C-x
C-f ile geçmek uzunca bir işlem olarak kabul edilebilir.  Onun için

        C-x s     Bazı ara bellekleri kaydet

komutu kullanılır.  C-x s, içinde henüz kaydedilmemiş değişiklikler
bulunan ara bellekleri kaydetmek isteyip istemediğinizi teker teker
sorar.

>> Yazıya bir satır ekleyin ve C-x s yazın.  TUTORIAL adlı ara belleği
   kaydetmek isteyip istemediğiniz sorulacaktır.  Soruya "yes" (evet)
   anlamına gelen "y" tuşuna basarak karşılık verin.


* KOMUTLARIN GENİŞLETİLMESİ
---------------------------

Control ve meta karakterlerine sığamayacak kadar çok sayıda Emacs
komutu vardır.  Emacs bu soruna karşılık X ("genişlet" anlamındaki
eXtend) komutunu kullanır.  Genişletilmiş komutların iki türü vardır:

        C-x     Karakter genişlet.  Sonrasında tek bir karakter gelir.
        M-x     Komut adıyla genişlet.  Sonrasında uzunca bir komut adı gelir.

Bunlar çok kullanışlı olsalar da şimdiye kadar öğrendiğiniz
komutlardan daha az kullanılırlar.  Aslında bunlar arasındaki
kütükleri açmak ve kaydetmek için kullanılan C-x C-f ve C-x C-s
komutlarını gördünüz bile.  Başka bir örnek, Emacs'ten çıkmak için
kullanılan C-x C-c komutudur.  (Henüz kaydetmediğiniz değişikleri
kaybedecek olmaktan korkmayın; C-x C-c komutu, Emacs'ten çıkmadan önce
içinde kaydedilmemiş değişiklikler bulunan her ara belleği kaydetmek
isteyip istemediğinizi sorar.)

Aynı oturuma sonradan geri dönmeye olanak veren Emacs'ten *geçici
olarak* çıkma komutu C-z komutudur. [Çevirenin notu: Çoğu modern
görsel ortamda C-z komutu Emacs penceresinin küçültülmesine neden
olur.  Ayrıca, aşağıdaki C-z ile ilgili bir kaç paragrafın görsel
ortamlarda geçerli olmadığını da düşünebilirsiniz. ]

Bu komutun kullanılabildiği ortamlarda, C-z Emacs'in "durdurulmasına"
(suspend) neden olur; kabuk (shell) ortamına dönülür ama Emacs
sonlandırılmaz.  Çoğu kabuk ortamında Emacs'e devam etmek için `fg'
veya `%emacs' kabuk komutları kullanılır.

Görevlerin durdurulamadığı sistemlerde C-z, Emacs altında çalışan bir
alt kabuk başlatır.  Bu durumda Emacs'ten tam anlamıyla çıkılmamıştır.
Tekrar Emacs'e dönmek için çoğu durumda alt kabuk içinde `exit' komutu
verilir.

Sistemden ayrılırken (logout) Emacs'ten çıkmak için kullanılacak komut
C-x C-c komutudur.  E-posta gibi başka yazılımlar tarafından
başlatılan Emacs oturumlarından çıkmak için de bu komut
kullanılmalıdır, çünkü o yazılımlar Emacs'in durdurulması durumuna
karşı hazırlıklı olmayabilirler.  Normal durumda, eğer henüz sistemden
ayrılmıyorsanız, Emacs'ten çıkmak yerine onu C-z ile durdurmak daha
uygundur.

Çok sayıda C-x komutu vardır.  Şimdiye kadar öğrendikleriniz:

        C-x C-f         Kütüğü aç
        C-x C-s         Kütüğü kaydet
        C-x C-b         Ara bellek listesi
        C-x C-c         Emacs'ten çık
        C-x 1           Tek pencere ("diğer pencereleri kapat" anlamında).
        C-x u           Geri al (C-/ daha kullanışlıdır)

Komut adıyla genişletilmiş olan komutlar daha da seyrek olarak, ve
bazı özel durumlarda kullanılırlar.  Bunun bir örneği, yazı içindeki
bir dizgiyi verilen başka bir dizgiyle değiştiren replace-string
komutudur.  M-x yazıldığında Emacs ekranın altında M-x gösterir ve
komutun adını yazmanızı bekler (bu durumda "replace-string").
Yalnızca "repl s<TAB>" yazmanız da yeterlidir; komutun adını Emacs
tamamlar.  (Burada <TAB>, klavyede normalde sol tarafta ve CapsLock
tuşunun üst tarafında bulunan Tab tuşu anlamında kullanılmıştır.)
Komutun adı <Enter> tuşu ile sonlandırılır.

replace-string komutu iki bağımsız değişken ister: değiştirilmesi istenen
dizgi ve onun yerini alacak olan dizgi.  Her bağımsız değişkeni <Enter> ile
sonlandırmanız gerekir.

>> İmleci bu satırdan iki aşağıdaki boş satıra götürün.
   Sonra M-x repl s<Enter>noktadan<Enter>yerden<Enter> yazın.

   Bu paragrafın nasıl değiştirildiğine dikkat edin: imlecin bulunduğu
   noktadan sonraki bütün n-o-k-t-a-d-a-n sözcüklerini "yerden"
   sözcüğü ile değiştirmiş oldunuz.


* OTOMATİK KAYIT
----------------

Bir kütükte yaptığınız değişiklikleri daha siz kaydetmeden bilgisayar
kilitlenirse, değişiklikler de yok olabilirler.  Böyle bir durumda
yardımcı olabilmek için Emacs, değiştirdiğiniz her kütüğü bir
"otomatik kayıt" kütüğüne kaydeder.  Otomatik kayıt kütüklerinin
adlarının başında ve sonunda birer # karakteri bulunur.  Örneğin
kütüğün adı "deneme.txt" ise, ona karşılık gelen otomatik kayıt
kütüğünün adı "#deneme.txt#" olur.  Asıl kütük normal yollarla
kaydedilince Emacs bu otomatik kayıt kütüğünü siler.

Bilgisayarda böyle bir kilitlenme olduğu durumda, otomatik olarak
kaydedilen değişiklikleri bulabilmek için asıl kütüğü normal olarak
açın (otomatik kayıt kütüğünü değil), ve M-x recover file<Enter> yazın
("kütüğü kurtar" anlamında).  Onay bekleyen soruya "evet" anlamında
yes<Enter> yazarsanız otomatik olarak kaydedilen değişikleri kurtarmış
olursunuz.


* YANSI (ECHO) BÖLGESİ
----------------------

Komutların adlarını yavaşça yazdığınızı farkettiğinde, Emacs
yazdıklarınızı ekranın alt tarafındaki "yansı bölgesi" denen bir yerde
göstermeye başlar.  Yansı bölgesi ekranın en alt satırıdır.


* DURUM (MODE) SATIRI
---------------------

Yansı bölgesinin hemen üstündeki satıra "durum satırı" denir.  Durum
satırında şuna benzer şeyler görebilirsiniz:

--:**  TUTORIAL          (Fundamental)--L670--58%----------------

Bu satır Emacs'in içinde bulunduğu metin düzenleme durumu ve
değiştirmekte olduğunuz yazı ile ilgili bilgiler verir.

Kütük adının ne olduğunu zaten biliyorsunuz.  -NN%-- metin içinde
nerede olduğunuzu gösterir; metnin yüzde NN kadarının ekranın üst
tarafında olduğu anlamına gelir.  Eğer metnin baş tarafı ekranda
görünmekteyse, burada --Top-- yazar ("üst").  Eğer kütüğün en alt
tarafı ekranda görünmekteyse de --Bot-- yazar ("alt" anlamındaki
"bottom"dan).  Eğer ekrana bütünüyle sığacak kadar kısa bir metin
üzerinde çalışıyorsanız, durum satırında --All-- yazılır ("hepsi").

L ve sonrasında gösterilen sayı, imlecin üzerinde bulunduğu satır
sayısını bildirir.

Baş taraftaki yıldız karakterleri metinde değişiklik yapılmış olduğunu
gösterir.  Bir kütük ilk açıldığında veya yeni kaydedildiğinde durum
satırında yıldız görünmez; onların yerine tire işaretleri bulunur.

Durum satırında parantezler içinde verilen bilgi, hangi metin
düzenleme durumunda olduğunuzu gösterir.  Emacs'te varsayılan durum,
sizin de şu anda kullanmakta olduğunuz Fundamental'dır ("temel"
anlamında).  Fundamental, bir "birincil durumdur." (major mode.)

Emacs'te çok sayıda birincil durum vardır.  Bazıları değişik dillerin
kaynak kodlarını ve metin türlerini düzenlemek için kullanılırlar;
örneğin Lisp durumu, Text durumu, vs.  Belirli bir anda yalnızca bir
tane birincil durum etkindir.  O durumun adı da, durum satırında şu
anda "Fundamental"ın bulunduğu yerde gösterilir.

Bazı komutlar hangi birincil durumda bulunulduğuna bağlı olarak
değişiklikler gösterebilirler.  Örneğin, yazılımlama dili kaynak
kodlarına açıklama satırları yerleştiren komutlar vardır.  Her
yazılımlama dilindeki açıklama satırlarını yapısı o dile özgü
olduğundan, bu komutlar da açıklama satırlarını o andaki birincil
duruma bağlı olarak yerleştirirler.  Birincil durumlara da
genişletilmiş komutlarla geçilir.  Örneğin, M-x fundamental-mode
komutu, Fundamental durumuna geçmek için kullanılan komuttur.

Eğer şu anda okumakta olduğunuz kütük gibi, insanların okumalarına
yönelik metinler düzenleyecekseniz, doğrusu Text durumunu
kullanmaktır.

>> M-x text mode<Enter> yazın.

Merak etmeyin, bunu yaptığınızda şimdiye kadar öğrendiğiniz komutların
davranışları fazlaca değişmez.  Bir fark olarak M-f ve M-b
komutlarının artık tek tırnak işaretlerini (') de sözcüklerin parçası
olarak kabul ettiklerini görebilirsiniz.  Daha önce Fundamental
durumdayken, M-f ve M-b komutları bu karakterleri sözcük ayraçları
olarak kabul ediyorlardı.

Birincil durumlar bunun gibi küçük farklar getirirler: çoğu komut
hemen hemen aynı işi yapsa da, biraz farklı işler.

Herhangi bir anda kullanılmakta olan birincil durumla ilgili bilgi
almak için C-h m yazabilirsiniz.

>> Bu satırı ekranın yukarılarına götürmek için bir kaç tane C-u
   C-v yazın.

>> Text durumunun Fundamental durumdan ne şekilde farklı olduğunu
   görmek için C-h m yazın.

>> Belgeyi ekrandan kaldırmak için C-x 1 yazın.

Birincil durumlardan başka ikincil durumlar da vardır.  İkincil
durumlar birincil durumların yerini almazlar, onlara küçük
değişiklikler getirirler.  Her ikincil durum, birincil durumdan ve
diğer ikincil durumlardan bağımsız olarak tek başına
etkinleştirilebilir.  Yani istenirse hiç ikincil durum
kullanılmayabilir veya bir veya daha çok sayıda ve türde ikincil durum
kullanılabilir.

Özellikle metin yazarken çok kullanışlı olan bir ikincil durum, Auto
Fill durumudur.  Bu durum etkin olduğunda; yazıldıkça fazla uzayan
satırlar, sözcük aralarından otomatik olarak bölünerek ikinci satıra
geçirilirler.

Auto Fill durumuna geçmek için M-x auto fill mode<Enter>
yazabilirsiniz.  Bu durumu etkinsizleştirmek için de yine M-x auto
fill mode<Enter> yazılır.  Yani durumu etkinleştirmek ve
etkinsizleştirmek için aynı komut kullanılır.

>> M-x auto fill mode<Enter> yazın.  Sonra ikinci bir satıra
   bölündüğünü görmek için, içinde "asdf " sözcükleri tekrarlanan uzun
   bir satır yazın.  Auto Fill, satırları boşluk karakterlerinden
   böldüğü için, bu işi yaparken sözcüklerin aralarında boşluk
   bırakmanız gerekmektedir.

Genelde 70 karakter olan satır uzunluğunu C-x f komutu ile
değiştirebilirsiniz.  Satırın uzunluğu bu komuta sayısal bağımsız değişken
olarak bildirilir.

>> Bağımsız değişkeni 20 olacak şekilde C-x f yazın.  (C-u 20 C-x f).
   Emacs'in yazdığınız satırları artık 20 karakter uzunlukta olacak
   şekilde böldüğünü göreceksiniz.  C-x f komutunu kullanarak satır
   uzunluğunu tekrar 70 yapın.

Auto Fill, üzerinde değişiklik yapılan paragrafları kendiliğinden
düzenlemez.
Paragraf satırlarının tekrar düzenlenmeleri için, imleç
paragrafın içindeyken M-q (META-q) yazın.

>> İmleci bir önceki paragrafa götürün ve M-q yazın.


* ARAMA
-------

Emacs belirli bir dizgiyi (art arda gelen karakter veya sözcük grubu)
yazı içinde ileriye veya geriye doğru arayabilir.  Arama işlemi imleci
hareket ettiren komutlar arasında sayılır, çünkü imleci aranan
dizginin bulunduğu bir sonraki yere götürür.

Emacs'in arama komutu "artışlı" (incremental) olması yüzünden çoğu
metin düzenleyiciden farklılık gösterir.  Bunun anlamı, siz daha
aranacak dizgiyi yazmayı bitirmeden önce aramanın başlatılıyor
olmasıdır.

İleriye doğru arama komutu C-s, geriye doğru arama komutu da C-r'dir.
AMA DURUN!  Daha denemeye başlamayın.

C-s yazdığınızda, yansı bölgesinde "I-search"ün belirdiğini
göreceksiniz.  Bu, Emacs'in artışlı olarak aranmasını istediğiniz
dizgiyi yazmanızı beklemekte olduğunu göstermektedir.  Aramayı <Enter>
tuşu sonlandırır.

>> Aramayı başlatmak için C-s yazın.  YAVAŞÇA ve DİKKATLİCE, harfleri
   teker teker yazarak, ve her harften sonra imlecin nereye gittiğine
   dikkat ederek 'harf' sözcüğünü yazın.  Böylece "harf" sözcüğünü bir
   kere aramış oldunuz.

>> Bir sonraki "harf"i bulmak için bir kere daha C-s yazın.

>> Şimdi <Backspace> tuşuna dört kere basarak imlecin hareketini
   gözleyin.

>> Aramayı sonlandırmak için <Enter> tuşuna basın.

Ne olduğunu gördünüz mü?  Emacs artışlı arama işlemi sırasında,
aranacak olan dizginin o ana kadar yazılan kısmına uyan ilk yere
gider.  Bir sonraki 'harf'e gitmek için bir kere daha C-s yazmak
yeterlidir.  Eğer dizgi bulunamıyorsa Emacs aramanın başarısız
olduğunu bipleyerek bildirir.  Aramayı C-g ile iptal edebilirsiniz.

NOT: Bazı sistemlerde C-x C-s, ekranın donmasına neden olabilir.  Bu,
"flow control" adında bir işletim sistemi olanağının devreye girdiğini
ve C-s komutunun Emacs'e gönderilmesine izin verilmediği anlamına
gelir.  Ekran kilidini açmak için C-q yazın.  Daha sonra Emacs el
kitabının "Spontaneous Entry to Incremental Search" adlı bölümünü
okuyabilirsiniz.  [Çevirenin notu: Modern ortamlarda böyle bir donma
olayı ile karşılaşacağınızı sanmıyorum.]

Artışlı bir arama sırasında <Backspace> tuşuna basarsanız, arama
dizgisindeki son karakterin silindiğini ve aramanın bir önce bulduğu
yere döndüğünü görürsünüz.  Örneğin "h"nin ilk bulunduğu yere gitmek
için "h" yazdığınızı düşünün.  Eğer ondan sonra bir "a" yazarsanız,
imleç "ha"nın bir sonraki bulunduğu yere gider.  Şimdi <Backspace>
tuşuna bastığınızı düşünün.  Böylece arama dizgisindeki "a" silinecek
ve imleç tekrar bir önce bulduğu "h"ye gidecektir.

Artışlı bir arama sırasında control veya meta karakteri yazarsanız
arama sonlandırılır (arama sırasında özel anlamları olan C-s ve C-r
gibi komutlar hariç).

C-s, arama dizgisini imlecin bulunduğu yerden İLERİYE doğru arar.
Yazı içinde daha geride bulunan bir şeyi aramak isterseniz, C-r
komutunu kullanın.  C-s için söylenenler, arama yönünün farklı olması
dışında C-r için de aynen geçerlidir.


* BİRDEN FAZLA PENCERE
----------------------

Emacs'in güzel yanlarından birisi, ekranda bir seferde birden fazla
pencere açabilmenizdir.

>> İmleci bu satıra getirin ve C-u 0 C-l yazın (yani CONTROL-L,
   CONTROL-1 değil).

>> Şimdi ekranı iki pencere olarak ayıran C-x 2 komutunu verin.
   Pencerelerin ikisi de bu yazıyı gösterirler ama imleç üstteki
   pencerededir.

>> Aşağıdaki pencereyi kaydırmak için C-M-v yazın. (Eğer META tuşunuz
   yoksa ESC C-v yazın.)

>> C-x o yazarak imleci diğer (other) pencereye götürün.

>> Aşağıdaki pencerede C-v ve M-v komutları ile ilerleyin.  Okuduğunuz
   bu bilgileri yukarıdaki pencereden izlemeye devam edin.

>> Tekrar C-x o yaparak imleci tekrar üstteki pencereye getirin.
   İmlecin üst pencerede daha önceden bulunduğu yere geldiğine dikkat
   edin.

C-x o ile pencereler arasında ilerleyebilirsiniz.  İmlecin her
pencerede ayrı bir yeri vardır, ama imleç bir seferde tek bir
pencerede gösterilir.  Bütün normal metin düzenleme komutları imlecin
içinde bulunduğu pencere içinde işlerler.  Buna "seçili pencere"
denir.

C-M-v komutu, bir penceredeki yazılanlardan yararlanarak başka bir
pencere içinde çalışmak gerektiğinde çok kullanışlıdır.  İmleci
değişiklik yaptığınız yerde tutabilir ve C-M-v ile diğer penceredeki
yazıyı ilerletebilirsiniz.

C-M-v, CONTROL-META karakterlerinin örnek bir kullanımıdır.  Eğer bir
META tuşunuz varsa (çoğu klavyedeki sol Alt tuşu); C-M-v komutunu
CONTROL ve META tuşlarını basılı tutarken v yazarak verebilirsiniz.
CONTROL veya META tuşlarından hangisine daha önce bastığınız
farketmez, çünkü onların görevi, yazdığınız karakterlerin anlamlarını
değiştirmektir.

Eğer META tuşunuz yoksa ve bu yüzden ESC tuşunu kullanmak
zorundaysanız, o zaman bu tuşların hangi sırada basıldıkları
önemlidir: bu durumda önce ESC tuşuna basıp bırakmanız, ondan sonra
C-v yazmanız gerekir.  Bunun nedeni; ESC'in anlam değiştiren bir tuş
değil, başlı başına bir karakter olmasıdır.

>> Aşağıdaki pencereden kurtulmak için, imleç üstteki penceredeyken
   C-x 1 yazın.

(Eğer komutu aşağıdaki pencerede yazarsanız, bu sefer üstteki pencere
kapatılır.  Bu komut, "içinde bulunduğum pencere kalsın" anlamına
gelir.)

İki pencerenin de aynı ara belleği gösteriyor olması gerekmez.  Bir
kütük açmak için bir pencere içinde C-x C-f komutunu kullanırsanız,
diğer pencerenin içeriği değişmez.  Her pencere kendi kütüğünü
gösterebilir.

İki farklı kütüğü göstermek için başka bir yol da şudur:

>> C-x 4 C-f yazın, bildiğiniz bir kütüğün adını verin ve <Enter>
   tuşuna basın.  Yeni kütüğün alt pencerede açıldığını göreceksiniz.
   Bu durumdan imleç de o pencereye gider.

>> Tekrar üst pencereye gitmek için C-x o ve alttaki pencereyi
   kapatmak için C-x 1 yazın.


* İÇ İÇE METİN DÜZENLEME DÜZEYLERİ
----------------------------------

Bazen kendinizi "iç içe metin düzenleme düzeyleri" (recursive editing
level) denen bir durumlar karşı karşıya bulabilirsiniz.  Bu durum,
durum satırında köşeli parantezlerle gösterilir.  Örneğin
(Fundamental) yerine [(Fundamental)] görebilirsiniz.

Bu durumdan kurtulmak için "çık" anlamına gelen ESC ESC ESC
yazabilirsiniz.  Aynı komutu fazla pencereleri kapatmak veya giriş
satırından çıkmak için de kullanabilirsiniz.

>> Giriş satırına geçmek için M-x yazın; sonra ESC ESC ESC ile çıkın.

İç içe metin düzenleme durumundan çıkmak için C-g komutunu
kullanamazsınız, çünkü C-g o düzey içindeki komutları veya
bağımsız değişkenlerini iptal etmek için kullanılır.


* DAHA FAZLA YARDIM ALMAK İÇİN
------------------------------

Bu derste size Emacs'i kullanmaya başlayacak kadar bilgi verdik.
Emacs'in olanaklarının tümünü burada anlatmamız olanaksızdı.  Emacs'in
diğer olanaklarını başka yollardan öğrenebilirsiniz.  Emacs'le
birlikte komutlarıyla ilgili belgeler de gelir.  Bütün bu yardım
(help) belgelerine erişim hep "yardım karakteri" olarak da anılan
CONTROL-h ile başlar.

Yardım belgelerini kullanabilmek için önce C-h karakterini, sonra da
ne tür bir yardım istediğinizi bildiren bir karakter yazarsınız.  Eğer
o karakteri de hatırlamıyorsanız C-h ? yazın, Emacs size ne tür yardım
seçenekleri olduğunu göstersin.  Eğer C-h yazdıktan sonra
vazgeçerseniz, C-g ile iptal edebilirsiniz.

(C-h karakterinin bazı ortamlarda değişik başka bir anlamı olabilir.
Bütün kullanıcıları etkileyen böyle bir hareket uygun olmadığı için,
şikayetinizi sistem yöneticisine bildirmeniz uygun olabilir.  Yine de,
eğer C-h ekranın alt tarafında yardımla ilgili bir mesaj
çıkartmıyorsa, F1 tuşunu veya M-x help <Enter> komutunu da
deneyebilirsiniz.  [Çevirenin notu: Modern ortamlarda C-h'nin
yukarıdaki paragraflarda anlatıldığı gibi "yardım karakteri" anlamında
kullanıldığını kabul edebilirsiniz.])

En temel yardım olanağı, C-h c komutudur.  Önce C-h, sonra c
karakterini ve ardından da bir komut karakteri veya karakter dizisini
yazarsanız, Emacs o komutun kısa bir tanımını gösterir.

>> C-h c C-p yazın.
  Mesaj şunun gibi bir şey olacaktır:

        C-p runs the command previous-line

        (C-p previous-line komutunu işletir)

Bu size "işlevin adını" gösterir.  İşlev adları aslında Emacs'i
genişletmek ve ayarlarını değiştirmek için kullanılırlar.  İşlev
adları aynı zamanda o işlevlerin yaptıkları işleri de gösterdikleri
için, hatırlatma amaçlı kısa bilgiler almak için de yararlı
olabilirler.

C-h c komutundan sonra C-x C-s gibi birden fazla tuş içeren komutları
da yazabilirsiniz.

Bir komut hakkında daha ayrıntılı bilgi almak için C-h c yerine C-h k
yazın.

>> C-h k C-p yazın.

Bu durumda işlevin adına ek olarak belgesini de okuyabilirsiniz.
Belgeyi kapatmak için C-x 1 yazabilirsiniz, ama bunu hemen yapmak
zorunda değilsinizdir.  Yazıya devam ederken belgeyi de açık tutmak ve
işiniz bitince kapatmak isteyebilirsiniz.

Bazı kullanışlı C-h seçenekleri şunlardır:

   C-h f        İşlevi açıkla.  İşlevin adını yazarsınız.

>> C-h f previous-line<Enter> yazın.  C-p komutunun tanımı olan
   işlevin belgesi gösterilir.

Benzer bir komut da Emacs'in davranışını belirlemede kullanılan
değişkenleri açıklayan C-h v komutudur.  Emacs sorduğunda değişkenin
adını yazmanız gerekir.

   C-h a        İlgili komutu bul.  Emacs, adında belirli bir sözcüğün
        bulunduğu komutların bir listesini verir.  Bu tür komutlar
        META-x ile işletilebilen komutlardır.  Bazı komutlar için
        onları işleten karakter dizisi de verilebilir.

>> C-h a file<Enter> yazın.

Adlarında "file" sözcüğü bulunan bütün M-x komutlarının bir listesi
ayrı bir pencere içinde gösterilir.  find-file gibi komut adları
yanında, C-x C-f gibi karakter komutlarını da görebilirsiniz.

>> Bir kaç kere C-M-v yazarak komut listesini kaydırın.

>> Komut listesini kapatmak için C-x 1 yazın.

   C-h i        Info belgelerini göster.  Bu komut, çalıştığınız sistemde
        kurulu bulunan yazılım paketlerinin "info" belgelerini
        okuyabileceğiniz `*info*' adlı bir ara bellek açar.  Orada m
        emacs <Enter> yazarak Emacs'in info belgesini okuyabilirsiniz.
        Eğer daha önce Info'yu kullanmadıysanız, ? yazarak Emacs'ten
        size Info'nun olanaklarını göstermesini isteyebilirsiniz.  Bu
        dersi bir kere tamamladıktan sonra, asıl referans belgesi
        olarak Emacs Info belgesinden yararlanmanızı öneririz.


* DİĞER EMACS OLANAKLARI
------------------------

Emacs hakkında daha fazla bilgi için belgesini ya kitap olarak, ya da
Info sayfalarından (C-h i veya F10 h r ile açarak) okuyabilirsiniz.
Özellikle beğeneceğiniz iki Emacs olanağı, klavye kullanmayı azaltan
"tamamlama" ve kütük işlemlerini kolaylaştıran "dired"dir.

Tamamlama, gereksiz tuş tekrarlarını azaltır.  Örneğin *Messages* ara
belleğine geçmek için *M<Tab> yazdığınızda, geri kalanını Emacs o ana
kadar yazdığınız karakterlerden yola çıkarak tamamlar.  Tamamlama
olanağı, Info belgesinde "Completion" başlığı altında anlatılmaktadır.

Dired bir klasördeki (ve seçime bağlı olarak onun alt klasörlerindeki)
kütükleri listeler; ve o liste içinde dolaşmaya, kütükleri açmaya,
adlarını değiştirmeye, silmeye ve başka işlemlere olanak sağlar.
Dired de Info belgesinde "Dired" başlığı altında anlatılmaktadır

Info başka çok sayıda Emacs olanağını anlatır.


* SONUÇ
-------

Unutmayın, Emacs'ten bütünüyle çıkmak için C-x C-c yazın.  Sonradan
geri dönebilmek için geçici olarak bir kabuk ortamına geçmek için de
C-z komutunu kullanın.  [Çevirenin notu: Çoğu modern görsel ortamda
C-z komutu Emacs penceresinin küçültülmesine neden olur.]

Bu ders, bütün yeni başlayanlar tarafından anlaşılabilir olmak
amacıyla yazılmıştır.  Eğer açık olmadığını düşünüyorsanız, oturup
kendinizi suçlamayın; şikayet edin!


* KOPYALAMA
-----------

Bu ders, ilk Emacs için Stuart Cracraft tarafından yazılmış olan
dersin de aralarında bulunduğu çok sayıda ders metninden türemiştir.
Okumakta olduğunuz kopyası Ali Çehreli tarafından
Türkçeleştirilmiştir.

GNU Emacs'in olduğu gibi, dersin bu uyarlamasının da hakları saklıdır
ve bazı koşullara bağlı kalınması durumunda kopyalanma izni ile
birlikte gelmektedir:

Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation

   Kopyalama hakları ve izin bilgilerinin korunması ve dağıtanın
   alıcıya burada bildirilen koşullara uygun olarak dağıtma hakkı
   tanıması koşullarına uyulduğu sürece, bu belgenin edinildiği
   halinin kelimesi kelimesine kopyalanmasına veya dağıtılmasına izin
   verilmektedir.

   Yukarıdaki koşullara uyulduğu sürece ve en son kimin değiştirdiği
   bilgisini de taşımak koşuluyla, bu belgenin değiştirilmiş
   kopyalarının veya bir bölümünün dağıtılmasına da izin
   verilmektedir.

Genelde aynı yapıda olsa da Emacs'in kendisinin kopyalanma koşulları
daha karmaşıktır.  Lütfen GNU Emacs'i COPYING adlı belgeyi okuduktan
sonra arkadaşlarınıza verin.  Yazılımda engelciliğin ("sahipliğin")
önüne serbest yazılımları kullanarak, yazarak ve paylaşarak geçin.

[Çevirenin notu: Bu bölümün İngilizce'sini de korudum.]


* COPYING
---------

This tutorial descends from a long line of Emacs tutorials
starting with the one written by Stuart Cracraft for the original Emacs.

This version of the tutorial, like GNU Emacs, is copyrighted, and
comes with permission to distribute copies on certain conditions:

Copyright (c) 1985, 1996, 1998, 2001, 2002 Free Software Foundation

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and permission notice are preserved,
   and that the distributor grants the recipient permission
   for further redistribution as permitted by this notice.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last altered them.

The conditions for copying Emacs itself are more complex, but in the
same spirit.  Please read the file COPYING and then do give copies of
GNU Emacs to your friends.  Help stamp out software obstructionism
("ownership") by using, writing, and sharing free software!
==============================================================================