Vi'nin tek seçeneğin olduğu durumlar var mı?


22

viBir Ubuntu ortamında dosya oluşturmak, düzenlemek veya değiştirmek için tek seçeneğin nerede olduğu senaryoları var mı?

Benim sorum temel olarak viUbuntu ekosisteminde belirli bir durumda mevcut olan tek seçenek olacağı için kullanmak zorunda kalacağım bir durum olup olmadığını gerçekten bilmek .

Olabilir gibi ben bir şekilde diğer seçeneklerine erişim olmazdı özel bir durum var olur nano, picoya da sadece gibi araçlarla bilgi gönderiyor cat, sed, teeve daha?

Masaüstünde daha birçok seçenek bulunduğundan, bunun daha çok bir sunucu veya bulut tarafı olduğunu varsayardım, ancak terminali çok kullanan herhangi birinden soruyorum:

Böyle bir durum var mı?



8
@Tim Aslında visudoherhangi bir düzenleyiciyi kullanabilir. Ubuntu'daki varsayılan konfigürasyonu EDITORve VISUALortam değişkenlerine saygı duyduğundan, sudo env VISUAL=emacs visudoemac'ler veya hatta gksudo env VISUAL=gedit visudoGedit gibi bir grafik editörü için çalışabilirsiniz . ( sudo -HVeya sudo -iyerine kullanılabilir gksudo.) Bunu önermek envşekilde olarak VISUAL=emacs sudo visudoiş olmaz ( sudosıfırlar en çevre) ve sudo -EH belki yanlış, kabul edilebilir.
Eliah Kagan

3
vi, yalnızca seçenektir ... vi, bildiğiniz yüklü tek düzenleyici olduğunda ve başka bir tane yüklemek için zaman harcamak istemezsiniz. vi, kullanılabilir olanlar arasında en iyi bildiğiniz / sevdiğiniz düzenleyici olduğunda ve daha çok sevdiğiniz birini kurmak için zaman harcamak istemiyorsanız, en iyi seçenektir. ASLA tek bir takımın bir sorunu çözebileceği bir durum yoktur; seçimlerin kısıtlandığı zamanlar olabilir. Ve bazı insanlar aslında vi gibi. (Ben değilim. Ben bir Emacs
bigot'um

3
cat? sed? Gerçekten mi? vigerçekten o kadar karmaşık değil ve gerçekten öğrenmek için canınız sıkılmazsa, yalnızca iki modu hatırlamanız gerekir (Normal ve Ekleme modu). İmleci oklarla hareket ettirirsiniz (veya mevcut değilse HJKL), düzenlemeye başlamak için "i" ye basın (ekleme modu). Tamamladığınızda, normal moda dönmek için "Esc" tuşuna basın. Kaydetmek ve çıkmak için ": wq" yazın (Write + Quit).
sleblanc

2
Sadece emmek ve öğrenmek vi :) İlk başta göründüğü kadar zor değil ve bir kez bildiğiniz zaman diğer editörler için kullandığınız herhangi bir yeni sistemde avlamakla zaman kaybetmeyeceksiniz.
JamesRyan

Yanıtlar:


32

İçinde Ubuntu ekosistem, bu durumda sanmıyorum var hatta olabilir gibi vien azından bir vim-minik, zaten bir “gerçek olacağını vimuzakta” “gerçek vi.”

Bağlamında kaynak sınırlı normalde Ubuntu değildir gömülü sistemler, sadece bir olabilir vibir bağlantı olduğu ortaya çıkıyor ki busybox. Ve boşluk kalmadı. O zaman vitek seçenek bu.

Bunun dışında vi, tek seçeneğin bugün Linux dünyasının dışında bile pek yaygın olmadığı durumları düşünüyorum .

Ama kolayca durumları olabilir violduğu için planlayabilirsiniz tek seçenek büyük olasılıkla, bir müşterinin aşırı soğutulmuş sunucu oda içinde gerçekleşecek olan -, certaily gelecekteki bir durumla mevcud olacağı tek seçenek.

Bir müşteri tarafından arandığını düşünün:

Müşteri: Bu yapılandırmayı düzeltmem gerekiyor! Şimdi !! Nasıl olduğunu bilmiyorum ama yapılandırma dosyasının yerini söyleyebilirim. Bana yardımcı olabilir misiniz!?!

Siz: Tamam, bu ne tür bir sistem üzerinde çalışıyor?

Müşteri: Ah, sunucuda, ahh ... çalışıyor ... hatırlayamıyorum, sonunda "ix" olan bir şey veya "ux" olan mayeb ...

Hiç sorun değil, şimdiye kadar biliyorsunuz vi!


1
Kişisel olarak sadece metin editörü olarak vi içeren bir dizi gömülü sistem üzerinde çalıştım, asgari yapılandırma seçeneklerini kullanırken buildroot'un ve ikisinin de sadece editör olduğuna inanıyorum. Kuşkusuz bu, ubuntu ile ilgili bir sorun değil, fakat eğer bir gömülü dev iseniz bu gerçek bir sorun olabilir. Ancak her zaman OP'nin söylediği gibi sed, sort, grep ve benzeri gibi boru bazlı araçları kullanabilirsiniz, ancak bu çok acı verici olabilir.
Vality

Busybox durum gerçekten iyi bir tanesidir. Bu konuda can sıkıcı olan şey, bence tam bir vi bile değil (en azından on yıl önce değildi ve umarım can sıkıcı olsa bile şişirmemişlerdir).
Hyde

1
busybox vi4k satırdır curl -s https://gitorious.org/busybox/busybox/raw/1c7a58dfb82ea04c525e0c19f94f2d800dee99e3:editors/vi.c | wc;;)
Volker Siegel

17

Vi hiçbir zaman tek seçenek değildir; edbunun yerine her zaman kullanabilirsiniz .


8
Örneğin Arch Linux'ta, bir edparçası değildir base.
muru,

@muru FWIW vimya da değil.
Sparhawk

4
@Sparhawk viis.
muru

@muru Ah evet, elbette. Kafam karıştı.
Sparhawk,

edstandard^kurulumun sadece bir kısmı . Bir minimalyükleme yaparsanız , eddahil değildir.
Oli

13

Pekala, vieditöre ihtiyaç duyduğunuz bir durum olduğunu varsayalım:

  • grafiksel arayüz yok
  • garip bilinmeyen bir *nixsistemdesin
  • terminalin şuna benziyor:

görüntü tanımını buraya girin

  • Böyle yeterince adamınız var:

görüntü tanımını buraya girin

Gördüğünüz gibi sayısal bir tuş takımı yok . Eski ile vi(ve demek orijinal gelenekselvi değil vim, vim.tinyya vim.basicbu klavye ile düzenleyebileceğiniz bir dosya). Ok tuşları olmadan ? Komut modunda olduğunuzda Evet, birlikte dosyası üzerinden taşınır h, j, kve lbir profesyonel gibi. hkalmıştı, jçöktü, kkalkmıştı ve lhaklıydı.


5
Bu cevabın aslında o kadar da kötü olmadığını düşünüyorum (daktilo benzeri klavyeler ile karşılaşılması tamamen olası bir şey değil), ama aslında bu viözellikle ihtiyacınız olduğu anlamına gelmiyor . Tüm eski metin editörleri, ok tuşları vs. olmadan çalışmanıza izin veren "yedekleme" tuş kombinasyonlarına sahiptir, ancak viok tuşlarını özlemeyeceğiniz tek editör olduğunu düşünüyorum.
leftaroundabout

Biraz konu dışı: Neden herhangi bir metin editörü için nümerik bir tuş takımına ihtiyacınız olduğunu anlamıyorum ve ok tuşları yine de Vim'de işe yaramaz. : P
Doorknob

1
Hey, eski güzel indirim yapmayın ed! Böyle bir sistem üzerinde bu "görsel" hile için gerek yok! Sadece kâğıt terminalde vim kullanmayı deneyin ve nasıl yönettiğinizi görün ... Daha da önemlisi, bilmek edyararlı olsa da, düzenleme için komut dosyası gerektiğinde iyi bir seçenek.
Hyde

bu klavyeyle komut moduna nasıl geçersiniz (kaçış göremiyorum; bunun için başka bir anahtar kombinasyonu var mıydı?)
Foon

@Foon Bir kaçış anahtarı var =) Sekmenin normalde olması gereken yer. Q tuşunun solunda .
kaos

6

İşin aslı, editörlerin çoğu dağıtımda diğer paketler yani standartlar gibi nanove picosadece standart olmadığıdır vim-tiny. Ubuntu-minimal paket listesi için buraya bakınız vim-tiny, tek editördür . Bu cevaba göre, Ubuntu sunucusu için de geçerli gibi görünüyor. Bunun temel Debian, Fedora için de geçerli olduğunu biliyorum.

Olduğu söyleniyor, eğer nanosisteminizde varsa , vibunun yerine kullanmak zorunda kalacağınız bir davayı henüz görmedim , fakat, bir müşteri için çalışıyorsanız ve yoksa kök erişimi? apt-get install nano(dışarıdan internete bile erişimi varsa!) size çok iyi yapmayacak.


4

Orada durumlarda nerede bir dizi vi(ve doğal olarak demek tarafından vim.tinybiz gemi ne olduğundan) olabilir tek interaktif editör. Kelebekleri ve kozmik ışınları görmezden gelirsek, bunlar bunun olabileceği en muhtemel durumlara benziyor:

  • Sadece ubuntu-minimaltemel meta paketi kullanıyorsunuz. Bu, vim-tiny diğer editörlere göre değişir . Şu anda standard^görev olmadan Ubuntu'yu kurmanın bir yolunu bulamıyorum, ancak kurulumdan sonra kaldırabilirsiniz:

    sudo apt-get remove $(apt-cache show standard^ | awk '/Package: / {print $2}')
    

    standard^Görev yüklenmeden sistem imajını verdiğim kişisel deneyime sahibim . Eğer ağ bağlantım violmasaydı tek seçeneğim olurdu.

  • Sadece eşlenen bir ortama Chrooting viyoluyla

  • Diğer tüm editörleri elle silmek (ve yeniden yükleme araçlarını devre dışı bırakmak)

  • Tanıtımı vibaşlatmak için bilinen düzenleyicileri durdurmak için kabuğu elle kırma .

Gerçek bir asgari yükleme en olası neden olacaktır, ancak bu günlerde oldukça nadirdir. Bazı VPS ve bulut barındırma şirketleri bunları kullanır (disk alanını başka bir şey kadar tasarruf etmek için) ancak kesinlikle onların normal olmadıklarını öneririm.


Her zamanki gibi harika bir cevap. Ben çok bilgili buluyorum.
Luis Alvarado,

2

Emac'leri kuramadığınız durumlarda veya emac'ları yüklemenizi sağlamak için bir yapılandırma dosyasını değiştirmeniz gereken durumlarda. :-p


Veya emacs'tan daha iyi bir editör kullanmak istediğinizde. ( işaret parmağı ): P
Doorknob

3
Elbette, eğer Ubuntu kullanıyorsanız, o zaman zaten bir işletim sistemine sahipsiniz demektir , bu yüzden emacs gereksiz olacaktır: v
evilsoup 30:14

Hey, iyi yorum. :-p
Craig,

2

Birçok (en çok?) Meşgul Kutu kurulum sadece var vi.

Bu ubuntu'ya özgü değildir, ancak birçok gömülü aygıt için geçerlidir .


2

Her zaman kedi, kafa, kuyruk vardır ... bu yüzden başka seçeneğinizin olmadığı bir sistem olduğundan emin değilim, ancak emacs tercih etseniz bile daha iyi bir alternatifin olmadığı sistemler bulmak mümkündür .

Örneğim, bir zamanlar yönettiğim bir sistemdi, ya o kadar yavaştı (ya da çizgi yavaş ve kayıptı), imleç tuşları ile gezinirken genellikle aniden düzenlenen dosyaya çöp yerleştirmek ve enjekte etmek ve hareket için HJKL kullanmak tek güvenilir seçenek oldu.


1
Ve tabii ki eski güzel kelebekler !
leftaroundabout

2

İşte vunt'un Ubuntu ekosistemindeki tek seçenek olduğu durum: Ubuntu Snappybunun dışında herhangi bir metin editörüyle gelmiyor vim-tiny. Belki de gelecekte bir tane olacak, ancak 2015-16 itibariyle değil. Ubuntu Snappy'ı seri konsol veya ssh üzerinden kullanacaksanız, kullanmaya hazır olmalısınız vim.


0

Kendimi bir keresinde sadece vi'nin linemode'sinin çalıştığı bir duruma soktum. Gerçekten terminal tanımlarını mahvetmiş olmasıyla ilgisi var. Temel olarak sadece linemode'da vi (1 satırlık bir terminaliniz olduğunu varsayarsanız normal vi gibi davranır), ex ve ed çalışacaktı çünkü tek terminal tanımı "aptal" idi.

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.