Vim ve Emacs: Önü Tamamen Sessiz

Arasında kutsal savaşlar Bildiğimiz en efsanevi, yayıncı savaşıdır. Vi / Vim, Emacs'a karşı. Bu özellikle eğlencelidir çünkü ikisi de çok yüksek yeteneklere sahip özgür yazılımlardır.

Bu yıllar öncesine dayanıyor. Emacs, Richard Stallman tarafından 35'lerde geliştirildi ve yaklaşık 1991 yıl önce piyasaya sürüldü. Vi, Bill Joy tarafından yaratılan yaklaşık aynı yaştadır. Öte yandan Vim, biraz daha yeni ve Bram Moolenar'ın XNUMX'de bir Vi for Amiga klonu yaratma ihtiyacından kaynaklanıyor.

Ne kadar retro! Hayatın daha basit olduğu taş devrinden yayıncılar. Ve onları kullanmaya devam ediyoruz çünkü onlar zamana evrimleşiyor ve uyum sağlıyorlar. Vim ve Emacs, GTK'da modern arayüzler kullanır, kendi uzantı dillerine, paket yöneticilerine sahiptirler; onları editörlerin arasına koyan diğer şeylerin yanı sıra modern.

Onları ne için kullanıyorum?

Tamamen varsayımsal bir durum koyalım. Gúgol, bir ve ardından yüz tane sıfır tanımlayan matematiksel bir kelimedir. Bunu bir metin düzenleyicide nasıl yazarız?

Akla gelen ilk çözüm bir tane yazmak ve sütun sayacı beni 0'e ayarlayana kadar 101 tuşuna basmaktır çünkü 101 karakter bu ifadeyi ölçmelidir. Bunu, bunları görüntülemek için bir durum çubuğuna sahip olan yetkili bir metin düzenleyicide düzenlediğimizi varsayıyoruz.

Şimdi daha basit bir çözüm düşünebilirim:

i1 ESC 100a0 ESC

Elbette bu çözüm Vim veya en azından Vi gerektirir. O komuta oldukça basit ve Vim'e şöyle diyorduk: Normal modda olmak, 1 ve normal moda döner. Şimdi imleçten sonra yüz kez ekleyin 0 ve normal moda döner. Siparişimizi Vim sorgusuz sualsiz yerine getirecektir.

Karmaşıklık

Bu çözüm kulağa son derece karmaşık geliyor ve anlıyorum. İlk olarak, bir kavramla uğraştığımız için modal düzenleyici. Ancak göründüğünden çok daha kullanışlı olduğu durumlar vardır.

Diyelim ki bir alışveriş listemiz var. Mağazaya gideceğiz ve ne getireceğimizi yazmak istiyoruz. Bunun varsayımsal bir şey olduğunu unutmayın, kimse bilgisayarını yiyecek için mağazaya götürmemelidir. Her neyse, bu bizim listemiz:

1 Muz 4 elma 2 kilo şeker 1 Litre su

Çok basit bir alışveriş listesi. Ama bazı düzenlemeler yapacağız. İlk olarak, birkaç muzun daha kötü olmayacağını düşünüyorum. Estetiği sevdiğimiz için, küçük harfleri elma onu olarak bırakmak muz ve birimlerin adlarını kısaltmalarıyla değiştireceğiz.

Öyleyse başlayalım. Orijinal listemizin bir yedeğini istediğimiz için, 4yy ve aşağıya yapıştırıyoruz p. Muz sayısını artırmak ve sonraki kelimenin sonuna gitmek için Ctrl-tuşuna birkaç kez basın. e. İkinci satıra iniyoruz, Fm elma kelimesine ulaşmak için ve ~ (klavyemde AltGr-4) tuşuna basın, böylece harf büyük harf haline dönüşür. Biz yaparız j sonraki satıra gitmek için kilo ile b. Yazarak normal moddan çıkıyoruz cw ve kg olacak olan kilonun yerine geçen kelimeyi yazmak. ESC'ye basıyoruz, normal moda dönüyoruz ve tekrar j aynısını yapmak litro. Hazır. Listemiz şimdi böyle görünüyor.

3 Muz 4 Elma 2 kg şeker 1 L su

Güç

Önceki eylemi burada özetleyelim:

4yy G p 2Ctrl-A e Fm ~ jb cw kg ESC jb cw L ESC

Anlaşılır kılmak için bazı alanlara saygı duydum ama genellikle yapılmıyor. Bir robotun bu düzeni, yararlılığı hakkında çok düşünmemizi sağlar. Ancak bunu yapmak, fare ile hareket etmekten, seçmek, kopyalamak, yapıştırmak, silmek vb. Yerine kesinlikle daha hızlıdır.

Vim veya Emacs olduğu sürece editörler böyle şeyler yapabilir çünkü bunlar yıllarca geliştirildi ve işlerin nasıl yapılacağına dair çok net fikirlere sahipler.

Öğrenme eğrileri

Evet, dikler. Ancak, modlar ve malzemelerle uğraşmak zorunda kalmadan kutudan çıktığı anda tamamen kullanıma hazır bir Vim ortamı ve bildiğim kadarıyla bir Emacs uzantısı olan guru modu sağlayan Cream gibi girişimler bunun içindir. yeni başlayanlara yardımcı olur.

Guru modu, bir uzantı koleksiyonu olan Emacs Prelude'un bir parçasıdır senin için bunu kolaylaştıran ne öğrenmek istiyorsan.

Uzantılar

Birçok modern editörden daha yaygın editörler olduklarından ve kendi uzantı dillerine sahip olduklarından, renk temaları, eklentiler ve diğerlerini bulabilirsiniz. Orada çok ilginç şeyler var:

Emacs Lisp'de uzantıları programlamak VimScript'e göre daha kolay (veya daha keyifli) görünüyor. Demek istediğim, yapılandırmak ve genişletmek için yapılmış zorunlu bir dile karşı bunun için yapılmış bir çekirdek tarafından yorumlanan işlevsel bir dildir.

Sonuç

Bir göz at! Size hiçbir maliyeti yoktur, her ikisi de ücretsiz olarak dağıtılan özgür yazılımlardır. İnsanoğlunun bildiği tüm dağıtımların depolarında olmalılar ve malefik tescilli sistemlerde bile bulunabilirler. Daha fazlasını isteyecek bir şey yok.

Son olarak, başlığa y yerine Emacs'in önüne neden bir e koyduğuma şaşırdıysanız, bunun nedeni kulağa daha iyi gelmesidir. / Í-macs / gibi bir şey. Konumu değiştirerek kendimi yazım sorunlarından kurtarabildim, ancak Vim'in bunu yapmasını gerçekten çok seviyorum 😀


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   çürük87 dijo

    Sadece nano kullanıyorum ve sadece bazı dosyaları düzenlemek için kullanıyorum 0.0

    1.    anti dijo

      Bu çoğunlukla onları kullanmak için bir argümandır. Görüyorum ki birçok insan onları denemeyi tercih ediyor ve onları cesaretlendirmek için bir şeyler yazmaya başladım. Bu kadar.

      (Bunun zayıf bir öğe olduğunu biliyorum)

      1.    damian nehri dijo

        Hiç tembel değil, emacs ve vim harika metin editörleri, bir IDE yerine onları (vim) tercih ediyorum

        selamlar

        1.    anti dijo

          Teşekkür ederim. Şimdi düşünüyorum da, kazara bir kepçe verdim. Bahsettiğim 'dağıtım' bugün piyasaya sürülmüş gibi görünüyor.

    2.    KZKG ^ Gaara dijo

      ahahaha bana aynı şekilde oluyor, nano ile ben kaldım 😀

  2.   Eolandro dijo

    Son zamanlarda dd-wrt ile bir erişim noktasında bir dosyayı telnet ile düzenlemem ve vi'yi hatırlamam gerekiyordu.

  3.   msx dijo

    1. " yayıncı savaşı var. »
    HATA!
    Vim bir editördür, Emacs bilgisayarınızdaki kullanıma hazır hadron çarpıştırıcısıdır, biliyorsunuz!

    2. Vim veya Emacs için Cream (ajjj) veya herhangi bir "yardımcı" kullanmak, Manjaro'yu kurup Arch'ı kurmuş ve kullanmış gibi davranmakla aynıdır - bir yardımcının Vim veya Emacs'ın özünü değiştirmeyeceği olası uyarı ile ve Manjaro Manjaro'dur ama Arch değil.

    Emacs ile gerçekten sallamak istiyorsanız, bazı harika siteler var:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    anti dijo

      Emacs, metin düzenleme için ek özelliklere sahip bir Lisp yorumlayıcısıdır.
      Krem istediğiniz herhangi bir şey olabilir, ancak oradadır, böylece yeni başlayanlar doğrudan modal düzenleme duvarına çarpmaz.
      Emacs ilk başta biraz daha kolay çünkü evet, ilkine yaz

  4.   annubis dijo

    [mod falmewar AÇIK]

    Emacs, 35 yıl sonra hala iyi bir metin düzenleyiciden yoksun olan işletim sistemi 😛

  5.   xykyz dijo

    "Vim ve Emacs". Başlıktaki (ve metnin herhangi bir yerinde) "e" yanlış kullanılmış ...

    1.    xykyz dijo

      Ve bu arada, zaten her şey için vim kullanıyorum. Geçen sene kullanmaya başladım ve artık benim için vazgeçilmez hale geldi. Ayrıca vi'nin hepsinde (veya en azından hemen hemen hepsinde) önceden yüklenmiş olması avantajına da sahiptir, bu işlem neredeyse aynıdır, bu nedenle onu nasıl kullanacağınızı bilerek, X11'e sahip olsun ya da olmasın herhangi bir dağıtımdaki dosyaları düzenleyebilirsiniz.

      Emacs'ı denedim ama rahatsız edici klavye kombinasyonları göründüğü için Vim'e odaklandım

    2.    anti dijo

      Bunu zaten aşağıya açıkladı. Benim için ne kullanılmalı e çünkü ifade şöyle geliyor / vim ve i-macs /, sonraki kelime i sesiyle başladığında y'nin e olarak değiştiğini gözlemleyerek.
      Her neyse, geriye doğru koymak ve beladan kaçınmak çok daha zarifti, ama küçük bir deney kimseyi incitmez.

      1.    xykyz dijo

        Tamam, zaman yetersizliğinden dolayı makalenin tamamını okuyamadım haha.

        Kulağa daha iyi gelse de, yine de bir yazım hatası.

        1.    anti dijo

          Sorun değil. Okumayı bitirmeden eleştirmek için bu garip şeyden daha fazlası değil.
          Umarım bu eksikliğim için beni mazur görürsün. Görünüşe göre gözden geçirmede onlar da geçtiler, bu yüzden benimle aynı fikirde olmaları gerekiyor, ancak RAE'den yabancı kelimeler için bazı referanslar gözden geçirilmelidir. Bunlar tercüme edilemez.

          1.    xykyz dijo

            Evet, bitirmedim, hatayı kabul ediyorum ama son zamanlarda vaktim yok ve istediğim kadar ortalıkta olamam. Aslında, sonunda bugün birkaç dakikalığına burada olabilmem son derece tuhaf.

            Yabancı kelimelere gelince, 've' bağlacı, emacs olmasına rağmen yabancı bir kelime değildir. Anladığım kadarıyla (ki şimdi doğrulamak için vaktim yok), İngilizce ne kadar okursak okuyalım emacs emacs okumalıdır. Aksi takdirde, yazım kurallarını uygulamak zor olacaktır, çünkü İspanyolca konuşursanız İngilizce veya Almanca konuşmanıza gerek yoktur ve bu nedenle bu kelimelerin bu dillerde nasıl telaffuz edildiğini bilmeniz gerekmez.

            Her neyse, bu bir eleştiri değildi, sadece bir yorumdu ve bundan sonra makalelerinizi her zaman sevdiğimi söylüyorum 😉

        2.    anti dijo

          Teşekkür ederim. Geri bildirim ve yapıcı eleştiri hepimize hizmet eder.

  6.   Diazepan dijo

    Bunları kullanmayı sevmiyorum ama Gelişmiş Fonksiyonel Programlama kursunda, haskell'de Vim-tipi bir editör yapmanız gerekiyordu.

  7.   Tyo100 dijo

    Herhangi bir işletim sisteminde aynı şekilde çalıştığı ve tüm * nix'ler içerdiği için ve tümüyle GNU / Linux, HP-UX, Solaris, AIX, BSD'den Linux'un kısaltılmış sürümlerine kadar herkesi kastediyorum. dd-wrt.

  8.   Abimael martell dijo

    VIM (Ruby, PHP, Javascript, Coffescript, CSS ve daha fazlası) ile% 100 programlıyorum
    işte Ruby programcıları için bir dağıtım, çok eksiksiz ve birçok yararlı şey, selamlar (https://github.com/carlhuda/janus)

    1.    damian nehri dijo

      Söylediğim şey (yukarıda) vim'i mono, java, perl, bash ve python için kullanıyorum sadece yorumlanmamış dillerin terminali derlemek için kullanması gerekiyor, FreeBSD'de çok fazla VI kullanıyorum (ve kullanıyorum) editör yerli ama aynı zamanda ee ve joe'yi çok iyi kuruyor (nano'ya benzer), Gentoo'da iyi olan şey nano getiriyor olması ama zaten vim'i derlemiştim ve onu çok seviyorum! Mevcut en iyi düzenleyicidir ve ihtiyaçlarınıza göre değiştirilir, sistem yönetimi için mükemmel bir araçtır

      selamlar

  9.   Matias (@ W4t145) dijo

    Vim Vim Vim!, Sonsuza kadar, her şey için ve her yerde çalışır, asla değiştirmem

  10.   nano dijo

    Ahm, bilmiyorum, tembelim ve Sublime xD kullanıyorum

  11.   daniel rojas dijo

    Her zaman Vim kullanıyorum, çok seviyorum ve çok pratik ve rahat buluyorum 😀

  12.   ejderha dijo

    Basitçe vim, günden güne olmazsa olmaz.

  13.   Guido rolon dijo

    vim KURALLARI! ama «ed» KAYALAR !!!!,

  14.   gayret dijo

    Vim orange güzel yazar, cristal normal, vim, vim, vim yazar ...

  15.   Yogurblanco dijo

    "Çünkü", "neden", "neden" ve "neden" arasındaki farkları öğrenmelisiniz. Erkek, metnin tamamında tek bir tane bile vermedin.