Readline İlklendirme Dosyasının Sözdizimi
Önceki Readline İlklendirme Dosyası Sonraki
Readline İlklendirme Dosyasının Sözdizimi
Readline ilklendirme dosyasında izin verilen bir kaç temel yapı vardır. Boş satırlar yoksayılır. # ile başlayan satırlarda açıklamalar verilebilir. $ ile başlayan satırlar koşullu yapılardır (Koşullu İlklendirme Yapıları bölümüne bakınız). Diğer satırlar değişken atamaları ve tuş kısayolları olarak ele alınır.
Değişken Atamaları
Readline'ın çalışma anı davranışlarını, Readline değişkenlerine ilklendirme dosyasında set komutuyla değer atayarak değiştirebilirsiniz. Sözdizimi basittir:
    set değişken değer
Burada, örneğin öntanımlı Emacs benzeri tuş kısayollarını vi satır düzenleme komutları ile değiştirmek için komutu şöyle yazabilirsiniz:
    set editing-mode vi
Değişken isimleri ve değerleri uygun kullanıldığında harf büyüklüklerine bakılmaksızın tanınır. Bilinmeyen değişken isimleri yoksayılır.
Mantıksal değişkenlerden (açık veya kapalı olabilenler) değerleri boş, null, on (harf büyüklüğü önemsiz) veya 1 olanlar açık (on) kabul edilir; bunların dışındaki herhangi bir değere sahip olanlar kapalı (off) kabul edilir.
bind -V komutu o anki Readline değişken isimlerini ve değerlerini listeler.
Çalışma anı davranışlarının büyük kısmı aşağıdaki değişkenlerle değiştirilebilir:
bell-style
Readline uçbirim çanını çaldırmak istediğinde neler olacağını kontrol eder. Değer olarak none atanırsa, çan hiç çalmaz. visible atanırsa ve bir görünür çan kullanılabilir durumdaysa Readline kullanır. audible atanırsa (öntanımlıdır), Readline uçbirim çanını çalmaya çalışır.
bind-tty-special-chars
Değeri on ise Readline, çekirdeğin uçbirim sürücüsü tarafından özel olarak ele alınan kontrol karakterlerini Readline eşdeğerlerine bağlamaya çalışır.
comment-begin
insert-comment komutu çalıştırıldığında satırın başına yerleştirilecek dizge. Öntanımlı değeri: "#".
completion-ignore-case
on değeri atanırsa, Readline harf büyüklüğüne duyarlı dosyaismi eşleştirmesi ve tamamlaması uygular. Öntanımlı değeri: off.
completion-query-items
Kullanıcıya olasılıkların listesini görmek isteyip istemediği sorulurken saptanan olası tamamlamaların sayısı. Olası tamamlamaların sayısı bu değerden yüksekse Readline kullanıcıya onları görmek isteyip istemediğini soracaktır; aksi takdirde, basitçe listelenecektir. Bu değişkene sıfırdan büyük ya da eşit bir tamsayı atanabilir. Negatif bir değer asla sorulmayacak anlamına gelir. Öntanımlı değeri: 100.
convert-meta
on değeri atanırsa, Readline karakterlerin sekizinci bitini ayırıp sekizinci bite bir ASCII tuş dizisi atayarak ve onları meta önekli tuş dizisine çeviren ESC karakteri ile önceleyerek karakterleri dönüştürecektir. Öntanımlı değeri: on.
disable-completion
On değeri atandığında, Readline sözcük tamamlamasını iptal eder. Tamamlama karakterleri nasıl girildiyse o şekilde satıra yerleştirilir. Öntanımlı değeri: off.
editing-mode
editing-mode değişkeni kullanılan öntanımlı tuş kısayollarının kipini kontrol eder. Öntanımlı olarak Readline tuş kısayolları Emacs'ınkine çok benzeyen Emacs düzenleme kipinde başlar. Bu değişkene ya emacs ya da vi atanabilir.
enable-keypad
on değeri atandığında, Readline uygulama çağrıldığında sayısal tuş takımını etkinleştirmeye çalışacaktır. Bazı sistemler ok tuşlarının kullanılabilmesi için sayısal tuş takımının etkinleştirilmesine ihtiyaç duyar. Öntanımlı değeri: off.
expand-tilde
on değeri atanırsa, Readline sözcük tamamlaması yapmaya çalışırken yaklaşık yorumlaması uygular. Öntanımlı değeri: off.
history-preserve-point
on değeri atanırsa, komut geçmişi kodu imleci previous-history veya next-history ile alınan her geçmiş satırında aynı konuma yerleştirmeye çalışır. Öntanımlı değeri: off.
horizontal-scroll-mode
on değeri atanırsa, düzenlenen metnin satırlarının uzunluğu ekran genişliğinden fazlaysa imleci bir alt satıra indirmek yerine, satır kaydırılır. Öntanımlı değeri: off.
input-meta
on değeri atanırsa, uçbirimin destek için ne gerektirdiğine bakılmaksızın, Readline sekiz bitlik girdileri etkinleştirir (okunurken sekizinci bit temizlenmeyecektir). meta-flag bu değişkenle eşanlamlıdır. Öntanımlı değeri: off.
isearch-terminators
Bir arttırımlı aramayı sonlandıracak karakter dizisi (Geçmiş içinde Komutların Aranması bölümüne bakınız). Bu değiken bir değerle atanmamışsa bir arttırımlı arama ESC ve C-J ile sonlandırılır.
keymap
Tuş kısayolları için kullanılacak tuşeşlemi atanır. Kabul edilen tuşeşlemi isimleri emacs, emacs-standard, emacs-meta, emacs-ctlx, vi, vi-move, vi-command ve vi-insert. vi ile vi-command ve emacs ile emacs-standard eşdeğerdir. Öntanımlı değeri emacs'dır. Ayrıca editing-mode değişkeni de öntanımlı tuşeşlemini etkiler.
mark-directories
on değeri atanırsa,, tamamlanmış dizin isimlerine bir / eklenir. Öntanımlı değeri: on.
mark-modified-lines
on değeri atanırsa, değiştirilmiş geçmiş satırlarını Readline başına bir * ekleyerek gösterir. Öntanımlı değeri: off.
mark-symlinked-directories
on yapılırsa, dizinlere sembolik bağ olan tamamlanmış isimlere bir / eklenmiş olur (mark-directories değerine konu). Öntanımlı değeri: off.
match-hidden-files
on değeri atanırsa, dosyaismi tamamlaması uygularken, dosyaisminin tamamlanmasında baştaki . kullanıcı tarafından verilmedikçe, Readline'ın . ile başlayan dosya isimlerini eşleştirmesini sağlar. Öntanımlı değeri: on.
output-meta
on değeri atanırsa Readline, karakterleri bir meta önekli öteleme dizileri olarak değil sekizinci biti etkin olarak gösterecektir. Öntanımlı değeri: off.
page-completions
on yapılırsa, Readline olası tamamlamaları bir defada bir tam ekran göstermek için more benzeri bir dahili sayfalayıcı kullanır. Öntanımlı değeri: on.
print-completions-horizontally
on değeri atanırsa, Readline tamamlamalarla eşleşmeleri ekranda yukardan aşağı dizmek yerine alfabetik sırada yanyana gösterecektir. Öntanımlı değeri: off.
show-all-if-ambiguous
Tamamlama işlevlerinin öntanımlı davranışını değiştirir. on değeri atanırsa, birden fazla olası tamamlaması olan sözcüklerin eşleşmelerinin çanı çaldırmak yerine listelenmesini sağlar. Öntanımlı değeri: off.
show-all-if-unmodified
Tamamlama işlevlerinin öntanımlı davranışlarını show-all-if-ambiguous'a benzer bir şekilde değiştirir. Değeri on yapılırsa herhangi bir kısmi tamamlama olmaksızın (olası tamamlamalar ortak bir önek paylaşmazlar) tek olası tamamlamadan fazlasına sahip sözcükler çanı çaldırmak yerine eşleşenlerin hemen listelenmesine sebep olur. Öntanımlı değeri: off.
visible-stats
on değeri atanırsa, dosya türünü gösteren bir karakter, olası tamamlamalar listelenirken dosya ismine eklenir. Öntanımlı değeri: off.
Tuş Kısayolları
İlklendirme dosyasında tuş kısayollarının kontrol edilmesi için kullanılan sözdizimi basittir. Önce değiştirmek istediğiniz komutun ismini bulmanız gerekir. Aşağıda komut isimlerini, öntanımlı tuş kısayollarını ve varsa komutun ne yaptığını anlatan bir kısa açıklamanın da bulunduğu bir liste bulacaksınız.
Komutun ismini öğrendikten sonra, ilklendirme dosyasında bir satıra, önce komuta kısayol olarak atayacağınız tuşun ismini yazın, bir : işareti koyun ve komutun ismini yazın. Tuşun ismi ile ikinokta imi arasında boşluk olmayabilir, bu durumda ikinokta imi tuş isminin bir parçası olarak yorumlanır. Tuşun ismini kolayınıza gelen farklı yollarla ifade edebilirsiniz.
Komut isimlerine ek olarak, Readline tuşlara basıldığında bir dizge basmalarını sağlamak üzere bir dizge atanmasına da izin verir (bir makro).
bind -p komutu Readline işlev isimleri ve kısayollarını bir ilklendirme dosyasına doğrudan konulabilecek biçemde gösterir.
tuşismi: işlev-ismi veya makro
tuşismi, bir tuşun İngilizce ismidir. Örnek:
    Control-u: universal-argument
    Meta-Rubout: backward-kill-word
    Control-o: "> çıktı"
Bu örnekte, C-u tuşlarına universal-argument işlevi, M-DEL tuşlarına backward-kill-word işlevi ve C-o tuşlarına çalıştırılacak bir makro (satıra > çıktı dizgesini girer) atanmıştır.
Tuş kısayollarını tanımlarken kullanılabilecek sembolik karakter isimlerinin sözdizimleri: DEL, ESC, ESCAPE, LFD, NEWLINE, RET, RETURN, RUBOUT, SPACE, SPC ve TAB.
"tuşdizisi": işlev-ismi veya makro
tuşdizisi tuşismi'nden dizgenin çift tırnak içine alınmış olması ile farklıdır. Bazı GNU Emacs tarzı tuş ötelemeleri aşağıdaki örnekteki gibi kullanılabilmesine karşın özel karakter isimleri kullanılamaz.
  "\C-u": universal-argument
  "\C-x\C-r": re-read-init-file
  "\e[11~": "İşlev tuşu 1"
Bu örnekte, C-u tuşlarına universal-argument işlevini (ilk örnekteki gibi), C-x C-r tuşlarına re-read-init-file işlevini ve ESC [ 1 1 ~ ise İşlev tuşu 1 metnini girmek üzere atanmıştır.
Aşağıdaki GNU Emacs tarzı tuş ötelemeleri, tuş dizilerini belirtirken kullanılabilir:
\C-
Kontrol öneki
\M-
Meta öneki
\e
öteleme karakteri
\\
tersbölü
\"
", bir çift tırnak işareti
\'
, bir tek tırnak işareti
GNU Emacs tarzı tuş ötelemelerine ek olarak, tersbölü öncelemeli karakterler de mevcuttur:
\a
sesli uyarı (bell)
\b
gerisilme
\d
silme
\f
sayfa ilerletme
\n
satırsonu
\r
satırbaşı
\t
yatay sekme
\v
düşey sekme
\nnn
sekizlik değeri nnn olan sekiz bitlik karakter (1, 2 ya da 3 haneli olabilir).
\xHH
onaltılık değeri HH olan sekiz bitlik karakter (1 ya da 2 haneli olabilir).
Bir makro metnini girerken, bir makro tanımını belirtmek için çift ya da tek tırnaklar arasına alınmalıdır. Tırnaksız metinler bir işlev ismi olarak kabul edilir. Makro gövdesinde tersbölü öncelemeli karakterler yukarıda açıklandığı gibi yorumlanır. Makro metni içindeki tırnak içine alınmış yerlerde tırnak işaretleri " ve ' tersbölü ile öncelenmelidir. Örneğin aşağıdaki atama C-x \ tuşlarıyla bir tek \ basar:
    "\C-x\\": "\\"
Önceki Üst Ana Başlık Sonraki
Readline İlklendirme Dosyası Başlangıç Koşullu İlklendirme Yapıları
Bir Linux Kitaplığı Sayfası