Basit bir vi / vim alternatifi olarak hangi düzenleyiciyi kullanabilirim?


17

WSL sayesinde Ubuntu'nun Bash'ına gelen bir Windows kullanıcısıyım . Şimdi bazı dosyaları düzenlemem gerekiyor ve Vi'dan gerçekten nefret ediyorum. Bununla başa çıkmak zorunda mıyım yoksa daha basit bir alternatif var mı?

Aradığım özellikler:

  • CLI tabanlı
  • kullanımı kolay (yazma ve düzenleme Not Defteri'ne benzer olmalıdır)
  • basit düzenleme yetenekleri yeterlidir

Vim'de ustalaşmaya çalışacağım, ancak şimdi hızlı bir düzenleme yapmam gerekiyor!


Bu bir görüş meselesi. Yeni başlayanlar nano howtogeek.com/howto/42980/… kullanır . vim (vi geliştirilmiş) biraz öğrenme eğrisine sahiptir, ancak çok güçlüdür - Bkz. linux.com/learn/vim-101-beginners-guide-vim veya herhangi bir vim kılavuzu veya vim öğretici, vimtutor ( vim'de bulunur )
Panter

Bu sorunun görüşe dayalı olarak kapatılmış olabileceğini lütfen unutmayın. Sitenin kurallarına uyacak şekilde yeniden yazmak isteyebilirsiniz (örneğin
vim'e

3
Bunu görüşe dayalı bir soru olarak kapatmak için oy kullanma. Tavsiye sözcüğü: nano ile başlayın ve daha sonra bebek adımlarıyla vime geçiş yapın. Vim temelde herhangi bir Linux sisteminde olduğu için uzun vadede ödeyecek
Sergiy Kolodyazhnyy

1
Yorumumu takip etmek için, şu anki başlık hala tartışmalıdır ve kapanmaya yol açabilir. İnsanlar vimin kendisini "iyi" olarak görebilirler ve bu özneldir. Bunun yerine "daha kolay" kelimesini kullanmanızı önerebilir miyim? Ayrıca, istenen bazı özelliklerin belirtilmesi sorunun daraltılmasına yardımcı olabilir.
Andrea Lazzarotto

2
@Jos, çalışan GUI programlarının yapılabileceği ancak önemsiz olmadığı WSL'den bahsediyoruz. Ayrıca soru GUI editörleri için mevcut olmayacaktır çünkü hepsi vim'den daha kolaydır.
Andrea Lazzarotto

Yanıtlar:


25

Alternatif bir editör arıyorsanız, yalnız değilsiniz. Temel olarak hayat öğrenmek için çok kısavi ve bunun yaşamak için bir yazılım geliştiricisi olduğunu söylüyorum. Ancak gerektiğini bunun için bir sorun çünkü o çıkmak öğrenmek 20k programcılar biri out . Ayrıca bazı temel ekleme / ekleme işlemlerini gerçekleştirmek öğrenmeye değer olabilir, çünkü bazı inatçı sunucularda başka bir düzenleyici bulamazsınız.

Şimdi, sorunuzun cevabı muhtemelen nano.

Bazı otomatik derleme komut dosyası gitçalıştırıyorsanız, diğer komutları kullanarak veya çalıştırıyorsanız, vimsiz istemeden açılabilirler . Devam etmeden önce aşağıdakileri çalıştırarak bunu önleyebilirsiniz:

export EDITOR=nano

1
Teşekkürler! EDITORbahşiş için ekstra puan
sebagomez

3
"Temelde hayat vi öğrenmek için çok kısa". Vim seviyorlarsa, tüm yaşamı harcamaya gerek yok. YouTube'da iyi bir eğitici izlerken 2 saat geçirdim ve videodan öğrendiğim temel bilgileri uygulamaya devam ettim. Şimdi Ask Ubuntu ile ilgili tüm cevaplarımın% 70'i vim yazıyor.
Sergiy Kolodyazhnyy

7
"Hayat çok kısa" konusunda bu makalenin iyi bir noktaya sahip olduğunu düşündüm . Vim öğrenmede en büyük (yapay) birlikte gösterimlerden biri, derhal "sert çekirdekli" bir kullanıcı olmak için dalmanız gereken yanlış önermedir. Yapmazsın. Ok tuşlarını kullanın. Kopyalamak / yapıştırmak için GUI kısayollarını kullanın. Ekleme modunda takılın. Sekmeleri, kayıtları ve çanları ve ıslıkları yok sayın (şimdilik). Vim'de nano düzey işlevlere erişmek nispeten hızlıdır ve daha sonra ihtiyaç duyduğunuzda gelişmiş özellikleri yavaşça ekleyebilirsiniz.
RM

@RM GUI kısayolları?
Andrea Lazzarotto

1
@Sergiy vim, gelişmiş özellikleri kullanmak istiyorsanız mantıklıdır. Vano'yu nano kullandığım gibi kullanacak olsaydım sadece nano'yu kullanmaya devam ederdim (aslında, yapıyorum ... Vim'i, bir müşterinin makinesi gibi yazılım ekleyemediğim bir sunucudayken kullanıyorum).
Andrea Lazzarotto

11

Bu bir görüş meselesi.

Yeni başlayanlar nano kullanır .

vim ("vi advanced") biraz öğrenme eğrisine sahiptir ancak çok güçlüdür. Vim veya diğer vim kılavuzları veya vim öğreticisine vimtutor(vim'de dahil edilmiştir) ilişkin bu başlangıç ​​kılavuzuna bakın .

Şimdilik nano'yu öneriyorum

nano -B /path/to/file/to/edit

-B yedek yapar

Komutlar kontrol tuşuyla verilir ve editör penceresinin altında listelenir.

Sözdizimi vurgulama konusunda bir kılavuz var bkz: Nano'da sözdizimi vurgulamayı nasıl etkinleştiririm?

nano

emacsHer iki alternatif bir olduğunu vimve nanove hem de birçok faydası vardır. emacsnano'dan daha karmaşıktır. Emac'ın turunu görebilirsiniz .

Tamlık için Zenburn gibi vim + temalar oldukça yardımcı olabilir

Zenburn


2
Sadece yeni başlayanlar değil, temelde vim ve emacs savaşlarına girmek istemeyen tüm insanlar. : P
Andrea Lazzarotto

1
+1 Ben de nano ile giderdim, uzun süre kullanıcılar için bile eski bir saçmalık gibi görünüyor
xavier_fakerat

Adil olmak gerekirse, tema vim olabilir ve bir .vimrc uzun yollara gider. vim ve emacs, nano'da bulunmayan gelişmiş özelliklere sahiptir, ancak gelişmiş özellikleri kullanmazsanız bu bir israftır. Genel olarak bir vim fanboi olmasına rağmen hızlı temel düzenlemeler için nano kullanıyorum. kippura.org/zenburnpage
Panther

1
Öğrenin vi/vim. :) Her nix cihazında. :) Temel bilgiler o kadar da zor değil.
kaçak

3
"emacs nano'dan daha karmaşıktır." : p Bu yılın yetersizliği olabilir.
Daniel Jour

3

windows poweruser olarak, denedikten sonra vimve nanoaralarında bir şeylere ihtiyacım olduğunu öğrendim, karmaşıklık bilge. bu yüzden tokat denedim ve aradığım şey buydu .

tokat görüntü

slap, terminalden düzenlemeyi kolaylaştırmak için çabalayan Yüce bir terminal tabanlı metin editörüdür.


Kurulum:

curl -sL https://raw.githubusercontent.com/slap-editor/slap/master/install.sh | sh

1
Ana satış noktasından, birinci sınıf fare desteğinden (SSH bağlantısı üzerinden bile)
blueray

2

Metin düzenleyicinizin istediğiniz şeyi yapmadığından hiç hayal kırıklığına uğradınız mı? Hatırlayamadığın için öfkelendi ...

  • ... nasıl yardım bulabilirim?
  • ... ne: wq ne demek?
  • ... lisans olarak okuduğunuz küçük lisperlerden herhangi biri?

Küçük, cesur bir dünya sizi bekliyor!

En sevdiğimiz hafif metin editörlerimizi savunurken, eXcellent, minik ve hızlı xo(exofrills) tavsiye etmeme izin verin .

Tek bir Python 3 dosyasıdır ve Pygments aracılığıyla sözdizimi vurgulaması için iyi bir desteğe sahiptir (Python olmayanlarla mükemmel olmasa da):

resim açıklamasını buraya girin

Ayrıca, kalbinizin içeriğine kolayca ve kolayca değiştirilebilen son derece basit ve kullanışlı tuş kombinasyonlarına sahiptir:

resim açıklamasını buraya girin

Diğer özellikler:

  • Tek bir dosyada 850 satırdan az kod!
  • Sözdizimi vurgulama!
  • Düzenli ifade eşleme ve değiştirme!
  • Arama geçmişi önbellekleme!
  • WTFPL lisanslı!
  • Tamamen özelleştirilebilir!
  • Menşei olmayan yerlerden başlayın!
  • Bir satırdaki kelimeler arasında zıplayın!
  • Dosyanın herhangi bir yerine atla!
  • Tüm dosya ekleme!
  • Başlangıç ​​dostu - belki de kelimeler için yenisiniz!
  • Metni kopyalayıp yapıştırın!
  • Satır ve sütun durumu!
  • Metin olmayan düzenleme alanının yalnızca bir satırı!
  • Hem tasarruf ve yükleme!

Python3 kaynağı github üzerindedir ve aşağıdakileri kullanarak daha kolay yükleyebilirsiniz:

sudo apt install python3-pip
sudo pip3 install exofrills 

exofrills: metniniz düzenlendi ... ama hala açsın.

Feragatname: Hiçbir şekilde exofrills projesine bağlı değilim.


1
Bu çok düzgün görünüyor, benden +1. Her ne kadar bu ünlem işareti rahatsız edici olsa da. : P
Andrea Lazzarotto

0

Başlangıçta vi ile çok mücadele ettiğimi inkar edemesem de, vi'nin gerçekten öğrenmesi çok kolay olduğu konusunda bir tartışma yapılabilir. (Unix kullanmaya başladığımda seçim vi ya da emacs'tı, bu yüzden ed'i seçtiğimde, erken Unix ders kitaplarını okumayı öğrendiğim çok basit bir çizgi editörü oldu.) Her gün vi kullanıyorum, ama muhtemelen özelliklerinin yalnızca çok küçük bir alt kümesini kullanın.

İlk önce vi'yi kullanmak için bir argüman var: vi tüm sistemlerde var, çok az kaynak kullanıyor ve diğer editörlerin başarısız olabileceği veya yavaş ve kullanılamaz olduğu kararsız ve yavaş bağlantılar üzerinde kullanılabilir. Veya sistemin bozuk olduğu durumlarda, ok tuşları doğru şekilde yorumlanmaz (örneğin kötü terminfo ayarları.) Bu nedenle, vi, soruna yol açmadan, soruna yol açan yapılandırma dosyalarını düzeltmek için kullanılabilir.

İşte vi'nin yararlı bir alt kümesini nasıl öğreneceğiniz: İlk olarak: vi'yi etkileşimli, terminal-GUI "düzenleyicisi" olarak düşünmeyi bırakın ve metin dosyalarını değiştirmek için bir programlama dili olarak görün. Başlangıçta "vi" VIsual modu için duruyordu ve vi, başlangıç ​​için iyi bir yer olan, görsel olmayan bir muadili var. Kabuk isteminde ex yazın (ben dönüşü temsil etmek için ¬ kullanacağım):

$ ex¬
Entering Ex mode.  Type "visual" to go to Normal mode.
:

Şimdi enter tuşuna basın.

:¬
E749: empty buffer
:

Yani, içine bir şey koyalım. "A¬" yazın ve bir metin satırı yazın, ardından satırda tek başına bir nokta yazın:

:a¬
Hello World¬
.¬
:

Ekle komutu buydu. Kolay, kısa ve anımsatıcı. Ancak tamponda ne olduğunu görmek güzel olurdu:

:%p¬
Hello World
:

Açıkçası p baskı komutu buydu. %, Kestirme bir çizgi aralığıdır. Her komuttan önce, komutun uygulanması gereken bir satır numarası veya aralık olabilir. %, "tüm satırlar" anlamına gelir. $ son satır ve nokta geçerli satır anlamına gelir. Sayı, belirli bir satır anlamına gelir. Bir aralık n, m olarak yazılır ve bir sayı eklenebilir veya çıkarılabilir, böylece + 1, $ - 1, bir sonraki satırdan sonuncu satıra kadar anlamına gelir. Yalnızca bir satır numarasından oluşan bir komut o satıra gider. Kullandığım komutların geri kalan küçük alt kümesi:

:1i¬
this text is inserted before line 1.¬
.¬
:

:w /tmp/filename¬
"/tmp/filename" [New] 2L, 49C written
:

w tüm (veya seçilen aralıktaki) satırları bir dosyaya yazar.

:1d¬

satır 1'i siler.

:.s/Hello/Hello,/¬
Hello, World
:.s/$/!/¬
Hello, World!

s, normal bir ifadenin yerine geçer. Düzenli ifadeleri bilmek güzel!

:q¬
E37: No write since last change (add ! to override)

q çıkar. wq yazar ve çıkar. q! yazmadan çıkar ve benzer bir şekilde, w! mümkünse bir dosyaya yazmaya zorlar.

Şimdi havalı:

:p
Hello, World!
:.!tr a-z A-Z
:p
HELLO, WORLD!

! komut olarak satırları bir kabuk komutuna filtreler.

Ve sonunda:

:vi¬

VISUAL moduna girer. Kanmayın. Bir editör gibi görünüyor, ama yine de sadece etkileşimli bir programlama kabuğu. Sadece her zaman arabellek ve birkaç komut daha bakmak için olsun. Görsel modda a: ex modundan: istemini gösterir. Ok tuşları (eğer çalışırlarsa) hareket eder ve eğer yapmazlarsa, hjkl do! h sola, j aşağı, k yukarı ve sağa. 0 ilk karaktere ve ^ (burada normal ifade düşünün!) Satırdaki ilk boşluk olmayan karaktere gider. $ (tekrar regex!) satır sonuna gider. Yazma: 999¬, tıpkı eski modda olduğu gibi doğal olarak 999 satırına gider.

"i", satırlar yerine karakterlere eklenen ekleme moduna girer ve ".¬" yerine kaçış tuşuna basılarak biter. "I" başında ekler, imlecin altındaki karakterden sonra "a" ve geçerli satırın sonundan sonra "A" ekler. Metin yazmayı bitirdiğinizde daima escape tuşuna basın. "x", imlecin altındaki karakteri siler ve "D", imleçten satır sonuna kadar siler. "Y" geçerli satırı sorar (kopyalar) ve "P" geri yapıştırır. ": pu" aynı şeyi yapar, ancak öncesinde bir satır numarası olabilir. ": ya", "Y" nin eşdeğeridir ve yine, bir satır aralığına uygulamak için faydalıdır. Bence bir mark komutu da var, ama bunu hatırlamadığımı itiraf edeceğim. Ben özlemiyorum.

Yukarıda kullandığım şeydir ve muhtemelen çok "verimli" vi kullanıcısı olmadığımı biliyorum. Öte yandan, ex'in çok yönlülüğünü kullanıyorum, örneğin yapılandırma dosyalarını komut dosyası düzenleme için. Ana bilgisayar adınızı foo.bar.com'u bir dizi conf dosyasında www.foobar.com olarak değiştirmeniz mi gerekiyor?

for file in conf/*
do (echo "%s/foo.bar.com/www.foobar.com/" ; echo "wq") |ex $file ; done

Söylemeye çalıştığım şey, vi ile ilgili sorunun insanların bunu zor bir editör olarak düşünmeleridir. Yapmanız gereken tek şey zihninizi biraz değiştirmek ve bunun yerine çok basit ama aynı zamanda çok güçlü bir interaktif programlama dili olarak görmek. O kadar güçlü ki, mevcut komutların bir alt kümesiyle bile, onu sadece bir editör olarak değil, Unix'in geri kalanıyla iyi entegre edilmiş genel, yazılabilir bir araç olarak büyük bir etki için kullanabilirsiniz. Nano'nun tüm bunları yapacağından şüpheliyim - emacs ... belki.


3
Üzgünüm ama ... bu soruya cevap vermiyor. OP vim'e bir alternatif istedi ve cevaplar bunu sağlamalı.
Andrea Lazzarotto

1
Bu cevaba koyduğunuz işi takdir ediyorum, ama gerçekten soruyu cevaplamıyor - vim için bir öğretici ve fiş, buraya ait değil, ancak blogunuza ait.
kedi

Bu cevap tam olarak neden bu kadar çok insan viemaklara alternatif istiyor?
Shukri Adams

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.