Metin düzeltici - Text editor

Burada gösterilen Leafpad gibi düzenleyiciler, metin dosyalarını açmak için varsayılan bir yardımcı uygulama olarak genellikle işletim sistemlerine dahil edilir .

Bir metin editörü türüdür bilgisayar programı düzenler düz metin . Bu tür programlar bazen Microsoft Notepad adını takiben " notepad " yazılımı olarak bilinir . Metin düzenleyicilere işletim sistemleri ve yazılım geliştirme paketleri sağlanır ve yapılandırma dosyaları , belge dosyaları ve programlama dili kaynak kodu gibi dosyaları değiştirmek için kullanılabilir .

Düz metin ve zengin metin

Düz metin (metin düzenleyiciler tarafından oluşturulan ve düzenlenen) ile zengin metin ( kelime işlemciler veya masaüstü yayıncılık yazılımları tarafından oluşturulanlar gibi ) arasında önemli farklar vardır .

Düz metin yalnızca karakter temsilinden oluşur. Her karakter, ASCII , ISO/IEC 2022 , UTF gibi belirli karakter kodlama kurallarına uygun olarak bir, iki veya dört baytlık sabit uzunluklu bir diziyle veya bir ila dört baytlık değişken uzunluklu bir diziyle temsil edilir. -8 veya Unicode . Bu sözleşmeler aynı zamanda, birçok yazdırılabilir karakterleri tanımlamak basılamaz karakterler gibi metnin akışını kontrol, uzay , satır sonu ve sayfa sonu . Düz metin, kullanılan karakter kodlama kuralı dahil, metnin kendisi hakkında başka hiçbir bilgi içermez. Düz metin, metin dosyalarında saklanır , ancak metin dosyaları yalnızca düz metni saklamaz. Bilgisayarların ilk günlerinde, düz metin tek aralıklı bir yazı tipi kullanılarak görüntülendi , öyle ki yatay hizalama ve sütunlu biçimlendirme bazen boşluk karakterleri kullanılarak yapıldı. Uyumluluk nedenleriyle bu gelenek değişmedi.

Zengin metin ise meta veriler, karakter biçimlendirme verileri (örneğin yazı tipi, boyut, ağırlık ve stil ), paragraf biçimlendirme verileri (örneğin girinti, hizalama, harf ve sözcük dağılımı ve satırlar veya diğer paragraflar arasındaki boşluk) içerebilir ve sayfa spesifikasyon verileri (örn. boyut, kenar boşluğu ve okuma yönü). Zengin metin çok karmaşık olabilir. Zengin metin ikili biçimde (örn. DOC ), bir biçimlendirme diline bağlı metin dosyalarında (örn. RTF veya HTML ) veya her ikisinin karma biçiminde (örn. Office Open XML ) kaydedilebilir.

Metin editörleri zengin metinler için biçimlendirme veya başka bir şey için biçimlendirme (örneğin dahil düz metin olarak yorumlanabilir ya düz metin ya da bir şey içeren açık ve tasarruf metin dosyaları amaçlanmıştır SVG ).

Tarih

Birkaç program destesi olan bir kutu delikli kart .

Metin editörleri var önce bilgisayar metin içine delindi kartları ile kart zımbası makineleri. Bu ince karton kartların fiziksel kutuları daha sonra bir kart okuyucuya yerleştirildi. Bu tür kart destelerinden oluşturulan manyetik bant ve disk "kart görüntüsü" dosyaları genellikle satır ayırma karakterlerine sahip değildi ve sabit uzunluklu 80 karakterlik kayıtlar varsayıyordu. Kartlara bir alternatif delinmiş kağıt banttı. Kayıtların sonunu belirtmek için özel karakterler kullanan bazı teleyazıcılar (Teletype gibi) tarafından oluşturulabilir .

İlk metin editörleri, ekransız teleprinter veya daktilo tarzı terminallere yönelik "satır editörleri" idi . Komutlar (genellikle tek bir tuş vuruşu), "imleç" adı verilen hayali bir ekleme noktasında bir dosyada düzenlemeler yaptı. Düzenlemeler, dosyanın küçük bir bölümünü yazdırmak için bir komut yazarak ve düzenli aralıklarla tüm dosyayı yazdırarak doğrulandı. Bazı satır düzenleyicilerde, imleç dosyadaki satır numarasını, aranacak metin dizelerini (bağlam) ve nihayetinde normal ifadeleri belirten komutlarla hareket ettirilebilir . Satır editörleri, tuş vuruşu üzerinde önemli gelişmelerdi. Bazı satır düzenleyiciler tuş vuruşuyla kullanılabilir; düzenleme komutları bir iskambil destesinden alınabilir ve belirli bir dosyaya uygulanabilir. Bazı yaygın satır düzenleyicileri, değişiklik komutlarının değiştirilmiş satırları görüntülediği bir "doğrulama" modunu destekledi.

Ne zaman bilgisayar terminalleri video ekranları ile var olan, ekran tabanlı metin editörleri (bazen sadece "ekranı editörler" olarak adlandırılır) yaygınlaştı. En eski tam ekran düzenleyicilerden biri , 1967'de CDC 6000 serisi bilgisayarların operatör konsolu için yazılmış olan O26 idi . Bir diğer erken tam ekran düzenleyici ise vi idi . 1970'lerde yazılmış, hala Unix ve Linux işletim sistemlerinde standart bir editördür . Ayrıca 1970'lerde yazılan UCSD Pascal Ekran Yönelimli Düzenleyici, hem girintili kaynak kodu hem de genel metin için optimize edilmiştir. İlk ücretsiz ve açık kaynaklı yazılım projelerinden biri olan Emacs , birçok sisteme taşınan başka bir tam ekran veya gerçek zamanlı editördür . Tam ekran düzenleyicinin kullanım kolaylığı ve hızı (hat tabanlı düzenleyicilere kıyasla) birçok erken video terminali satın alımını motive etti.

Bir metin düzenleyicideki çekirdek veri yapısı, düzenlenmekte olan dosyanın mevcut durumunu temsil eden dizeyi (karakter dizisini) veya kayıt listesini yöneten yapıdır . İlki tek bir uzun ardışık karakter dizisinde saklanabilirken, daha hızlı metin ekleyebilen, metni silebilen ve önceki düzenlemeleri geri alabilen/yineleyebilen metin düzenleyicilerine duyulan istek, daha karmaşık dizi veri yapılarının geliştirilmesine yol açtı. Tipik bir metin düzenleyici , dizi veri yapısı olarak bir boşluk arabelleği , bağlantılı bir satır listesi ( PaperClip'te olduğu gibi ), bir parça tablosu veya bir ip kullanır .

Metin düzenleyici türleri

Programcılar arasında popüler olan ve Microsoft Windows üzerinde çalışan bir metin editörü olan Emacs
gedit , GNOME ile birlikte gelen bir metin editörüdür.

Bazı metin düzenleyiciler küçük ve basittir, diğerleri ise geniş ve karmaşık işlevler sunar. Örneğin, Unix ve Unix benzeri işletim sistemlerinde pico düzenleyicisi (veya bir varyantı) bulunur, ancak birçoğu vi ve Emacs düzenleyicilerini de içerir . Microsoft Windows sistemleri basit Not Defteri ile birlikte gelir , ancak birçok kişi - özellikle programcılar - daha fazla özelliğe sahip diğer düzenleyicileri tercih eder . Altında Apple Macintosh 'ın klasik Mac OS yerli orada BasitMetin içinde değiştirildi, Mac OS X tarafından TextEdit birleştirir cetveller, marjlar ve çoklu yazı seçimi gibi bir kelime işlemci tipik olanlarla bir metin editörü özellikleri. Bu özellikler aynı anda kullanılamaz, ancak kullanıcı komutuyla veya dosya türünü otomatik olarak belirleyen program aracılığıyla değiştirilmelidir .

Çoğu kelime işlemci, dosyaları düz metin biçiminde okuyabilir ve yazabilir; bu, metin düzenleyicilerinden kaydedilen dosyaları açmalarına olanak tanır. Ancak bu dosyaları bir kelime işlemciden kaydetmek, dosyanın düz metin biçiminde yazıldığından ve herhangi bir metin kodlamasının veya Malzeme Listesi ayarlarının dosyayı kullanım amacı için gizlemeyeceğinden emin olmayı gerektirir. Olmayan WYSIWYG gibi kelime işlemciler, WordStar , daha kolay metin editörleri olarak hizmete basıldığında ve aslında yaygın 1980'lerde gibi kullanıldı. Bu kelime işlemcilerin varsayılan dosya formatı genellikle bir işaretleme diline benzer; temel format düz metin ve görsel formatlama yazdırılmayan kontrol karakterleri veya kaçış dizileri kullanılarak elde edilir . Microsoft Word gibi sonraki kelime işlemciler , dosyalarını ikili biçimde depolar ve neredeyse hiçbir zaman düz metin dosyalarını düzenlemek için kullanılmaz.

Bazı metin düzenleyiciler, günlük dosyaları veya tek bir dosyaya yerleştirilmiş tüm veritabanı gibi olağandışı büyük dosyaları düzenleyebilir . Daha basit metin düzenleyiciler, dosyaları bilgisayarın ana belleğine okuyabilir . Daha büyük dosyalarda bu yavaş bir işlem olabilir ve dosyanın tamamı sığmayabilir. Bazı metin düzenleyiciler, bu okuma tamamlanana kadar kullanıcının düzenlemeye başlamasına izin vermez. Düzenleme performansı da genellikle uzman olmayan editörlerde düşer; editörün tuş vuruşlarına veya gezinme komutlarına yanıt vermesi saniyeler hatta dakikalar alır. Özel editörler, büyük dosyaların yalnızca görünen kısmını bellekte depolamak, düzenleme performansını artırmak gibi optimizasyonlara sahiptir.

Bazı editörler programlanabilir, yani belirli kullanımlar için özelleştirilebilirler. Programlanabilir bir düzenleyiciyle, tekrarlayan görevleri otomatikleştirmek, yeni işlevler eklemek ve hatta düzenleyici çerçevesinde yeni bir uygulama uygulamak kolaydır. Özelleştirmenin yaygın bir nedeni, bir metin düzenleyicinin, kullanıcının daha aşina olduğu başka bir metin düzenleyicisinin komutlarını kullanmasını sağlamak veya kullanıcının bağımlı hale geldiği eksik işlevleri çoğaltmaktır. Yazılım geliştiriciler genellikle çalıştıkları programlama diline veya geliştirme ortamına göre uyarlanmış düzenleyici özelleştirmeleri kullanırlar. Bazı metin düzenleyicilerin programlanabilirliği, programın temel düzenleme işlevini geliştirmekle sınırlıdır, ancak Emacs , metin dosyalarını düzenlemenin çok ötesine genişletilebilir—web için tarama, e-posta okuma, çevrimiçi sohbet, dosyaları yönetme veya oyun oynama ve genellikle Metin Kullanıcı Arayüzü ile bir Lisp yürütme ortamı olarak düşünülür . Emacs bile taklit programlanabilir Vi , geleneksel onun rakibi editör savaşlarının arasında Unix kültürü .

Önemli bir programlanabilir editör grubu, bir betik dili olarak REXX'i kullanır . Bu "ortodoks editörler", komutların ve makroların yazılabileceği bir "komut satırı" ve satır komutlarının ve makroların yazılabileceği metin satırları içerir. En çok, editörler türevleridir ISPF / PDF DÜZENLEME veya Xedit , yönelik en üst düzey düzenleyici VM / SP yoluyla z / VM . Bunlar arasında THE , KEDIT , X2, Uni-edit ve SEDIT bulunmaktadır .

Belirli bir kullanım için yazılmış veya özelleştirilmiş bir metin düzenleyici, kullanıcının neyi düzenlediğini belirleyebilir ve genellikle programlama terimlerini tamamlayarak ve ilgili belgelerle birlikte araç ipuçlarını göstererek kullanıcıya yardımcı olabilir . Yazılım geliştiricilere yönelik birçok metin düzenleyici, programların okunmasını ve yazılmasını kolaylaştırmak için kaynak kod sözdizimi vurgulama ve otomatik girinti içerir . Programlama editörleri genellikle kullanıcının bir içerme dosyası , işlev veya değişken adını seçmesine ve ardından tanımına atlamasına izin verir. Bazıları ayrıca, ilk imleç konumunu kaydederek veya istenen tanımı bir açılır pencerede veya geçici arabellekte görüntüleyerek orijinal kod bölümüne kolay gezinmeye izin verir . Bazı editörler bu yeteneği kendileri uygular, ancak genellikle tanımları bulmak için ctags gibi yardımcı bir yardımcı program kullanılır.

Tipik özellikler

  • Bul ve değiştir – Metin düzenleyicileri, ister dosya grupları üzerinde ister etkileşimli olarak metin aramak ve değiştirmek için kapsamlı olanaklar sağlar. Gelişmiş düzenleyiciler, metin veya kod aramak ve düzenlemek için normal ifadeler kullanabilir .
  • Kes, kopyala ve yapıştır – çoğu metin düzenleyici, metni dosya içinde veya dosyalar arasında çoğaltmak ve taşımak için yöntemler sağlar.
  • UTF-8 kodlu metni işleme yeteneği .
  • Metin biçimlendirme – Metin düzenleyiciler genellikle satır sarma , otomatik girinti , ASCII karakterlerini kullanarak madde işareti listesi biçimlendirme , yorum biçimlendirme , sözdizimi vurgulama vb. gibi temel görsel biçimlendirme özellikleri sağlar . Bunlar genellikle yalnızca görüntüleme içindir ve dosyanın içine biçimlendirme kodları eklemezler.
  • Geri al ve yinele – Kelime işlemcilerde olduğu gibi, metin düzenleyiciler, son düzenlemeyi veya daha fazlasını geri almak ve yeniden yapmak için bir yol sağlar. Genellikle - özellikle daha eski metin düzenleyicilerde - hatırlanan yalnızca bir düzenleme geçmişi düzeyi vardır ve art arda geri alma komutunun verilmesi yalnızca son değişikliği "değiştirir". Modern veya daha karmaşık düzenleyiciler genellikle çok düzeyli bir geçmiş sağlar; öyle ki, geri alma komutunu tekrar tekrar vermek, belgeyi art arda daha eski düzenlemelere döndürür. Ayrı bir yineleme komutu, düzenlemeleri en son değişikliklere doğru "ileriye doğru" döndürecektir. Hatırlanan değişikliklerin sayısı düzenleyiciye bağlıdır ve genellikle kullanıcı tarafından yapılandırılabilir.

Gelişmiş özellikler

  • Makro veya prosedür tanımı: yeni komutları veya özellikleri önceki komutların veya diğer makroların, belki de geçirilen parametrelerle veya makroların iç içe yerleştirilmesiyle birleşimleri olarak tanımlamak için.
  • Düzenleme oturumu arasında kullanıcı tarafından ayarlanan seçenekleri korumak için profiller.
  • Bir düzenleme oturumunun başlangıcında veya yeni bir dosya açılırken otomatik olarak yürütülen, örneğin çevre, profil gibi alanlarda belirtilen adlara sahip profil makroları.
  • Çoklu dosya düzenleme: Bir düzenleme oturumu sırasında birden fazla dosyayı düzenleme, belki de her dosyanın geçerli satır imlecini hatırlama, her dosyaya tekrarlanan metin ekleme, dosyalar arasında metin kopyalama veya taşıma, dosyaları yan yana karşılaştırma yeteneği (belki döşenmiş bir çoklu belge arayüzü ile ), vb.
  • Çoklu görünüm düzenleyicileri: bağımsız imleç izleme, değişiklikleri pencereler arasında senkronize etme, ancak bağımsız dosyalar için mevcut olan aynı olanakları sağlama ile aynı dosyanın birden çok görünümünü görüntüleme yeteneği.
  • Daralt/genişlet, ayrıca katlama olarak da adlandırılır : Metnin bölümlerini geçici olarak görünümden çıkarma yeteneği. Bu, bir dizi satır numarasına veya bazı sözdizimsel öğelere dayalı olabilir, örneğin, bir BEGIN arasındaki her şeyi hariç tutmak ; ve eşleşen END; .
  • Sütun tabanlı düzenleme; belirli bir sütuna veri ekleme veya değiştirme veya verileri belirli sütunlara kaydırma yeteneği.
  • Veri dönüştürme – Başka bir metin dosyasının içeriğini o anda düzenlenmekte olan dosyaya okumak veya birleştirmek. Bazı metin düzenleyiciler, işletim sisteminin kabuğuna verilen bir komutun çıktısını eklemek için bir yol sağlar . Ayrıca, büyük/küçük harf kaydırma özelliği, küçük harfe veya büyük harfe çevrilebilir.
  • Filtreleme – Bazı gelişmiş metin düzenleyicileri, düzenleyicinin, düzenlenmekte olan dosyanın tamamını veya bölümlerini başka bir yardımcı programa göndermesine ve sonucu "filtrelenen" satırlar yerine dosyaya geri okumasına izin verir. Bu, örneğin, bir dizi satırı alfabetik veya sayısal olarak sıralamak, matematiksel hesaplamalar yapmak, kaynak kodunu girintilemek vb. için kullanışlıdır .
  • Sözdizimi vurgulamakaynak kodunu , biçimlendirme dillerini , yapılandırma dosyalarını ve organize veya tahmin edilebilir bir biçimde görünen diğer metinleri bağlamsal olarak vurgular . Düzenleyiciler genellikle kullanıcıların her dil öğesi için kullanılan renkleri veya stilleri özelleştirmesine olanak tanır. Bazı metin düzenleyiciler, kullanıcıların , düzenleyicinin tüm kullanıcı arayüzünün görünümünü ve verdiği hissi değiştirmek için temaları yüklemesine ve kullanmasına da izin verir .
  • Genişletilebilirlik - programcılar tarafından kullanılması amaçlanan bir metin düzenleyici, bazı eklenti mekanizmaları sağlamalı veya komut dosyası yazılabilir olmalıdır , böylece bir programcı, düzenleyiciyi bireysel yazılım projelerini yönetmek, belirli programlama dilleri veya sürüm kontrol sistemleri için işlevleri veya anahtar bağlamaları özelleştirmek için gereken özelliklerle özelleştirebilir , veya belirli kodlama stillerine uygun .

Uzman editörler

Bazı düzenleyiciler özel özellikler ve ekstra işlevler içerir, örneğin,

  • Kaynak kodu düzenleyicileri , kaynak kodun üretimini kolaylaştırmak için ek işlevlere sahip metin düzenleyicileridir. Bunlar genellikle , bir HTML düzenleyicisine benzer kodlama araçları veya klavye makrolarının yanı sıra, kullanıcı tarafından programlanabilen sözdizimi vurgulama ve kod gezinme işlevlerine sahiptir (aşağıya bakın).
  • Katlanır editörler . Bu alt sınıf, Xedit'in türevleri olan "ortodoks editörleri" içerir. Programlamaya özgü özellikler olmadan katlama uygulayan düzenleyicilere genellikle anahatlar denir (aşağıya bakın).
  • IDE'ler (entegre geliştirme ortamları), büyük programlama projelerini yönetmek ve kolaylaştırmak için tasarlanmıştır. Basit metin düzenleme için gereksiz birçok özellik içerdiklerinden genellikle yalnızca programlama için kullanılırlar.
  • World Wide Web yazarlarına, web sayfaları oluşturma görevine adanmış çeşitli HTML düzenleyicileri sunulur . Bunlar şunları içerir: Dreamweaver , KompoZer ve E Text Editor . Birçoğu, yerleşik bir HTML oluşturma motorunda veya standart web tarayıcısında devam eden bir çalışmayı görüntüleme seçeneği sunar .
  • Çoğu web geliştirme , bir kaynak kod düzenleyicisi veya IDE kullanılarak Ruby veya PHP gibi dinamik bir programlama dilinde yapılır . En basit statik web siteleri dışında herkes tarafından sağlanan HTML, siteyi kontrol eden yazılım tarafından bir araya getirilen ve tam bir HTML belgesi oluşturmayan ayrı şablon dosyaları olarak saklanır .
  • Matematikçiler, fizikçiler ve bilgisayar bilimcileri genellikle düz metin dosyalarında TeX veya LaTeX kullanarak makaleler ve kitaplar üretir . Bu tür belgeler genellikle standart bir metin düzenleyici tarafından üretilir, ancak bazı kişiler özel TeX düzenleyicileri kullanır .
  • Anahatlar . Hiyerarşik bir anahat ağacını bir metin düzenleyiciyle birleştirdikleri için ağaç tabanlı düzenleyiciler de denir. Katlama (yukarıya bakın), özel bir anahat biçimi olarak kabul edilebilir.
  • İşbirliğine dayalı düzenleyiciler , birden çok kullanıcının bir ağ üzerinden uzak konumlardan aynı anda aynı belge üzerinde çalışmasına olanak tanır. Bireysel kullanıcılar tarafından yapılan değişiklikler, çakışan düzenlemeler olasılığını ortadan kaldırmak için otomatik olarak izlenir ve belgeyle birleştirilir. Bu editörler ayrıca genellikle editörler arasında tartışma için bir çevrimiçi sohbet bileşeni içerir .
  • Distraksiyon serbest editörler bir sağlamak minimalist böylece gibi arayüz elemanlarından dikkat dağıtıcı olmadan yazmaya odaklanmak edememek, sistem uygulamalarının geri kalanından yazar yalıtma ve işletilmesi amacıyla arayüzünü araç çubuğu veya bildirim alanında .

Programlanabilir düzenleyiciler genellikle bu işlevlerin herhangi birini veya tümünü gerçekleştirecek şekilde geliştirilebilir, ancak daha basit düzenleyiciler yalnızca birine odaklanır veya gPHPedit gibi tek bir programlama dilini hedef alır.

Ayrıca bakınız

Notlar

Referanslar

Dış bağlantılar