Vi / Vim'i kullanma konusunda başkalarına nasıl ilham verebilirim?


37

Kullandığım ilk yarım saatten beri vi'nin gücünden çok etkilendim. Daha sonra, bazı çalışma ortamlarında, hiçbir zaman uyarıcıyı çalıştırmadan "çok karmaşık" olarak kaçan birçok insanın (teknisyen ve hatta sistem yöneticileri!) Olduğunu ve vi'yi yalnızca insert modunda ve hala kullanan diğer insanların olduğunu öğrendim. modsal düzenleme tüm noktasını özledim.

Vi / Vim'in gücünü başkalarına öğrenmelerini ve kullanmalarını sağlayacak şekilde nasıl gösterebilirim?

Özellikle Vim'i öğrenmek ve kullanmak için başkalarının (veya kendinizin) elde edilmesinde başarılı olanların gerçek geçmişleriyle ilgileniyorum.


4
Subjektif sorular hakkındaki yönergeleri okudum ve bunun uygun olduğunu düşünüyorum.
Wildcard

@Wildcard belki öznel sorulara uyuyor, ancak gerçekten çok geniş. Bkz meta.vi.stackexchange.com/q/1278/205 biz benzer "sübjektif" sorusu üzerine vardı tartışma için.
muru,

Senin değinmek istediğin noktayı anlıyorum. Bu tartışmayı (ve birkaç bağlantılı tartışmayı) okudum. Hala bu sorunun uygun olduğunu düşünüyorum ama burada tartışmam gerektiğini düşünmüyorum; Metada tartışmamız gereken bir yer var mı?
Joker

@Wildcard her zaman bu soru hakkında Vi ve Vim Meta'ya bir soru gönderebilirsin .
muru

Yanıtlar:


54

Vim ve ekosistemi için biraz çaba harcamama rağmen, aktif olarak diğerlerini dönüştürmeye çalışmıyorum. Çalıştığım insanların çoğu, iş akışlarını ve araç setlerini geliştirmek için çok fazla zaman harcamıyorlar çünkü sahip olduklarından memnunlar. Bunu mükemmel buluyorum… ve sürekli editör ile ilişkili proselytizing hedefi olmaktan nefret ediyorum , bu yüzden başkalarına dayatmıyorum.

Yine de, bazen bir iş arkadaşım benim titrememden etkilenebilir ve bana birkaç soru sorabilir. Bu nadir olay gerçekleştiğinde, konuyu tartışmaktan, güzel hileler yapmaktan ve faydalı kaynaklara yönlendirmekten çok mutluyum.

Son işimde, bir iş arkadaşım Vim ile çok ilgilendi ve temellerini oldukça iyi biliyordu ( vimtutor). Hızlı düzenlemeler yapabilmesi onun için yeterliydi ama gerçekte Vim'e (aslında istediği bir şeye) geçmek için kendinden emin değildi. Bir noktada, büyük bir JSON dosyasında bir dizi tekrarlı düzenleme yapmak zorundaydı. Bunu yaparak bir saatini boşa harcama fikrinden sıkılmıştı ve daha hızlı / daha akıllı bir çözüm aramak için bana geldi. Elbette, basit bir makro işi bir dakikadan az bir sürede yaptı (kayıt dahil) ve bu da birkaç anahtar kavramı açıklamama izin verdi…

Yeni gelenlerin karşılaştığı bir sorun da "Şimdi ne?" hemen sonra gelen an vimtutor. Vim güzelliğini çok iyi gizler ve pek çok insanın yardım almadan kabuğunu kırma isteği yoktur. Gerekirse bu yardımı sağlayabilirim… ama Vim'i başkalarına asla zorlamayacağım.


20

Vim'i her şey için kullanıyorum. Her şeyi kastediyorum. Programlama, kelime işlem, roman yazma, vb. Vim ile Linux Sanal Kutu çalıştıran bir Surface Pro 3 kullanarak bir otomobil bayisinde oturuyordum ve insanların yaptığım şey hakkında benimle konuşmasını sağladım.

Sadece Vim'i kullan. İnsanlar ne yaptığınızı ve nedenini bulmak için size akın edecekler. Genelde bu şekilde açıklarım -

Vim kullanıyorum çünkü çok az yer kaplıyor. Microsoft Word birkaç gigabayttır ve Yüzeyimde yalnızca 128 GB boş alan var. Alanımı büyütmem gerekiyor ve Vim bunu yapmama yardımcı oluyor. Aynı zamanda genişletilebilir ve odaklanmama yardımcı oluyor. İşte, bak. Eklentilerimin bazılarını göster ve tam ekrandaki Vim'in temelde her şeyi nasıl kapsadığını gösterebildiğimi göster .

Sık sık göstermek LaTeX Vim ile birlikte. Bir LaTeX dosyası oluşturacağım ve daha sonra sahip olduğum bir şablonu kullanarak güzel bir PDF olarak derleyeceğim. Ayrıca mektubumu demo yapıyorum ve şablonuma devam ediyorum. Stili içerikten ayırmanın ne kadar önemli olduğunu vurgularım. Bu noktada insanlar artık söylemek zorunda olduğum şeyler ve benimle konuştuğum için pişmanlık duyuyorlar.

Sohbetten çıkmanın bir yolunu ararlar ve ben de yazıya geri dönerim. Vim, bir kelime işlemcisinden çok dini bir deneyimdir.


3
Merak ediyorum: e-postanızı vim olarak da yazıyor musunuz? (Yaparım!)
Oliphaunt

5
@Oliphaunt VIM'de e-posta yazarım. Tercih edilen e-posta istemcisi MUTT ve yeni bir e-posta düzenlediğimde veya düzenlediğimde, tercih editörümün açılışını yapıyor. RSS besleme okuyucuma (newsbeuter) URL'leri eklemek için bile VIM kullanıyorum.
ILikeTurtles

7
Bazı insanlar Visual Basic kullandığımı belirterek cevabımı düzenlemeye karar verdi. Virtual Box kullanıyorum ve Linux’u Windows’un üzerinden çalıştırıyorum. Ancak, bu düzenlemelerin çok ilginç olduğunu düşünüyorum, bu yüzden bırakacağım. Bu tür düzenlemelerle telefon oynamak gibi bir şey. Hikaye sadece daha fazla insanın düzenlediği şeyi değiştirmeye devam ediyor. Eğlence.
ILikeTurtles 12:15

2
@ Will Yep. 2 GB veya daha az gibi bir şey alan bir VM'im var. İşletim sisteminin tamamını, VIM'i ve diğer tüm araçlarımı 4GB veya herhangi bir Microsoft Tools kopyası yüklemek yerine yüklemeyi tercih ederim. Gerekirse VM'nin kendisi de genişleyebilir, ancak bu, henüz o bilgisayarla uğraşırken çoğunlukla metin dosyaları ile çalıştığım için olmadı. FreeBSD kullanıyor olsaydım, potansiyel olarak daha küçük bir alan kaplayabilir ve muhtemelen tüm VM'yi bir konser altında çalıştırabilirdim.
ILikeTurtles 21:15

3
Office 365 6 GB'a kadar sabit disk alanı ve 4 GB'a kadar RAM ram gerektirir. 4 GB HD alanı ve 1028 MB ram kullanarak tüm Linux işletim sistemini çalıştırabilirim. Bir şeyleri zorlamak istersem daha az. Bir VM'de FREEBSD'yi çalıştırdım ve yalnızca 256 MB ram verdim. Benim için VIM, Office'in yerini alıyor ancak ek olarak, tam bir işletim sistemi yüklemesi, Office'in daha az ayak izi verdiğinden çok daha fazla araç sağlıyor. Umarım anlamlı olur.
ILikeTurtles 21:15


13

Son işimde Vim'i öğrenmek zorunda olan biri olarak, en büyük engelin, hiçbir seçeneği olmayan "varsayılan" bir kurulumun önüne konulduğunu söyleyebilirim . Zamanımın çoğunu, "Neden herkes tam tersini yapmayı beklediğinde böyle davranıyor?" Diyerek geçirdim.

Her birinin zaten bazı "akıl sağlığı" varsayılanları belirlediği ortaya çıktı . Bunu bir kez anladım, daha mutlu oldum ve daha fazla öğrenmek için "bir şans verdi" . Sayısal tuş takımının birkaç gün çalışmamasından sonra, sekmeler yanlış, aramalar iyi çalışmıyor vb. Havluya atmaya hazırdım ve bir daha arkama bakmadım.

Birisinin daha gelişmiş özellikleri denemek ve öğrenmek için yeterince hoşuna gitmesini istiyorsanız , yapması gereken çalışma türüne göre optimize edilmiş bir ayar dosyasıyla bunları sağ ayaktan başlatın.


4
Bakın, bahsettiğiniz bu sinir bozucu beklentilerin hiçbiri ile yaklaştı. Bu, genel kullanıcıların günümüzde aşina oldukları ürünlerden on yıl önce doğduğu bilinciyle desteklendi. Tanıdık olup olmadıklarına bakmadan daha iyi çalışma yollarına açığım. Ve gerçekten, kendi ayarlar dosyanızla bir acemi eyerlemek çok iyi bir eğitim değil!
underscore_d

+1. Aynı deneyimi yaşadım ve daha fazla hemfikir olamadım. Tamamlayacak işiniz olduğunda, herhangi bir yeni editöre geçmek acı verici / imkansız olabilir. Sadece bir .vimrc teslimini bilmemekle birlikte, bunun ne olduğunu açıklamak ve yeni bir kullanıcının çalışma tarzı için birkaç varsayılan ayar yapmasına yardımcı olmak sadece hızlı bir şekilde üretken olmalarına yardımcı olmakla kalmaz, aynı zamanda vi (m) büyüsü.
Will

1
.vimrcBir sürü yararlı varsayılan dosyayı okumak gerçekten yararlıdır. Vim hakkında çok şey öğrendim, ancak github.com/amix/vimrc
icc97

Tamamen katılıyorum. Biraz daha fazla pil dahil olsaydı, Vim daha da popüler olurdu. Sözcüğü değiş tokuş etmek için çalışmak için ne yapmam gerektiğine bakın . Halen olduğu gibi, her zaman hayalini kurduğu metin editörünü yapılandırması / programlaması gereken vimtemel yapı taşlarını sunar .
Serge Stroobandt 25:18

9

Yaşlı bir köpeğe yeni bir numara kullanması için ilham vermenin en iyi yolu, yaptıkları şeyi almak ve başka bir şekilde daha kolay / daha kolay / daha iyi nasıl yapılabileceğini göstermektir.

Sadece bazı insanları susturmasına rağmen kesinlikle bir öğrenme eğrisi var. Bir şaka gider

Gerçekten rastgele bir dizge nasıl üretilir? Yeni bir üyeden vim'i kapatmasını isteyin.


1
İyi bir nokta. Fare yerine klavyeye yönelme eğilimi olan biri olarak, vi/ mçoğu durumda bana hız artışı sağlıyor ve / veya giriş aygıtları arasında gezinmeyi önlüyor. Ayrıca, bir miktar komut istemi işlemi de yapıyorum (Linux, Cygwin) ve viher zaman sadece orada .
underscore_d

8

En iyi yol, kendi kendini Vim öğrenmek ve onun gücünü başkalarına göstermek. Siz bile (göstermek zorunda değilsiniz) - kendini tanıtıyor. Bazı hackish benzeri terminal arka plan üzerinde bazı fantezi sözdizimi renkleri ile kullandığınızda, insanlar meraklanır ve sık sık soruyor - halt ne yapıyorsun . O zaman onlara göster.

Eğer çifti programlama yapmak ve başka bir geliştirici (vurmak gibi bir Sisyphos görev gibi hissediyor bazı tekrarlanabilir işi başladığını gördüğünüzde Geri zamanın veya oklar yüzlerce), ona nasıl kadar bu sıkıyor sizi Vim bunun sadece birkaç tuşa sürer bir saniyeden az.

Ayrıca bazı yararlı Vim püf noktaları için aşağıdaki sayfaları kontrol edin:


1
İkinci paragrafınız açık. Tabii ki , vim kullanırken , ekleme modundayken ve satır sonuna kadar hareket etmek için ok tuşlarına basarken ağrı daha da kötüleşir . Arrrggh! (Bunu telafi etmiyorum.)
Wildcard

1
@Wildcard ile eşleşmek, beni meslektaşımın tuşlara basarak sabit genişlikteki verileri ayrıştırmaya çalışırken izlemesini deli etti, birkaç hafta götürdü, yardımım reddedildi. Sigh
roblogic

7

En önemlisi: itme, evangelize etme. Motivasyonundan kesinlikle emin ol. Misyonerlikle ilgili bir ipucu varsa bile başlamayın. İnsanların ezici çoğunluğu rahatsız ya da saldırgan davranıyor, çünkü başka bir iş akışını kontrol etmek için yapılan tek öneri, az eleştiriliyor. İş akışınızın onlarınkinden daha iyi olabileceği. Hangi birçok insanı kapatır. Aslında, bu ayar ne olursa olsun işe yarayan genel bir ilkedir (Vejeteryanlar / Et yiyiciler, Demokratlar / Cumhuriyetçiler, otomobil markaları, tarifler, vb. Düşünün) Yaptıklarının doğru olanı yaptığına inandıkları için yaptıkları her şeyi yaparlar.

En iyisi, sizin tarafınızdan hiçbir eleştirinin ilk etapta yapılmaması olabilir, ancak bu diğer tarafta olur ve bu konuda yapabileceğiniz hiçbir şey yoktur. Bu senin için insanlar.

Konuyu son tarih olmadığında rahat bir ortamda açmanızı öneririm. Dan Konuşma senin bir şekilde tecrübe, nasıl etkiledi sen ve ne kadar daha verimli sen şimdi hissediyorum. Asla kıyaslama. Asla "daha iyi" deme, bu sadece meydan okumayı istemek gibi mutlak bir ifade olacaktır. Her zaman "Ben bu şekilde daha üretkenim" ile devam edin. Bu şekilde diğer kişinin o görevden olamaz sen gerçekten daha üretken olabilir ve hiçbir baskı uygulanmaz. Diğeri konuyu açarsa, nazik olun ve belki bir veya iki bağlantıyı paylaşmayı önerin, Vimcasts örneğin harika bir kaynaktır.

Vim'i öğrenmek çok zor bir iştir, özellikle de ilk kurulumunuzu doğru yapmak için yatırım yaptığınız çılgın süreyi düşünün. Bu süre zarfında kafamda o kadar çok soru işareti vardı ve yaklaşık her saniye ayarı saçma sapan görünüyordu, hatta düşmanca görünüyordu. Sezginin tam tersi. Ya biri ona yapışır ve giderek daha fazla "aha!" Olur. anlar ya da sadece Word benzeri bir editör için bırakacak. Nasıl uygun görürsen.

Sonunda hiçbir tartışmaya değmez: herkes sadece işi yapan şeyi kullanır. Kaynak kodun güzelliği bu: evrensel.


7

Vi'yi ilk kullandığımda "Unix'e giriş" sınıfındaydı. Öğretmen bunu çok iyi tanımıyordu ve çok çekici bir şekilde tanıttı. Başka bir şey kurulu olmayan bir sisteme sıkışıp kaldığımızda, etrafta dolanmak için yeterince ezberlemek zorunda kaldık. O dönemden sonra ikinci kez bakmadım. Yani nasıl yok evangelize vi ve ben bir sürü insan ilk deneyim nasıl olduğunu düşünüyorum.

Birkaç yıl sonra Perl hakkında kurumsal ve sürekli bir eğitim sınıfındaydım. Eğitmen gösterilerinde vim kullandı ve sınıfın temel amacı olmasa da, yan taraftaki insanlara yardım etmeyi teklif etti.

Resmi olmayan bir Perl sloganı TMTOWTDI (bunu yapmanın birden fazla yolu var). Sınıf soru soracağı için, öğretmen alternatifleri göstermek için düzenlemeleri sözcüklerle açıklayabileceğinden daha hızlı düzenlemeler yapacaktır . Düzenlenirken kodu okuyabiliyordum, ancak onun için düzenleme bir anahtar telaşında gerçekleşti, ardından açıklama glacial hızıyla karşılaştırıldı. Düzenlemeyi bize açıklamaktan vazgeçmek zorunda kalmasaydı, bir sonraki göreve geçecekti.

Vim'i göstermek için bir kaç benzer fırsatım var:

  • Scrum toplantıları
  • Çiftler programı
  • Teknik konuşmalar
  • Yazılım gösterileri

Bence insanlara potansiyelini gösterdikten sonra, ilk tıkanıklığı aşmaları için onlara ilham vereceğini düşünüyorum.


İki farklı pozlamanın vi'ye karşı yarattığı gösterimleri karşılaştırmanızın çok değerli bir ders olduğunu düşünüyorum. Bunu okuduğumdan beri bunu çok düşündüm ... aklımda. Teşekkür ederim.
Wildcard

6

O was gözlerim Vim için yüzen kalpleri dönüşebilir yapılan hareketler. .Sayıları olan şeyleri tekrarlamaya ve ön eklemeye ek olarak , iç hareketleri göstermek genellikle birileri bana vim hakkında soru sorduğunda gösterdiğim / paylaştığım ilk şeylerden biridir. ci(ya gUi>ya diw.

g;ve g,düzenlediğiniz yerlere atlamak genellikle bir veya iki göz genişlemesi için iyidir.


2

viBilgisayar tarihinde saygın bir soyağacı olmasına rağmen , odaklanmanızı tavsiye ederim vim. Rakiplerinden herhangi birini karşılayan, inanılmaz yeteneklere sahip tam özellikli bir editördür. Tek dezavantajı öğrenme eğrisidir; "Vim zihniyet" ve kas hafızası almak zaman alıyor. Bence bu çabaya değer. Yeterli olduğunuzda emrinizde çok fazla güç vardır vim.

  1. Sıkıcı metin işleme görevlerini otomatikleştirmek için vimscript'in gücünü gösterin.
  2. vim-airlineHerkes iyi bir kullanıcı arayüzü seviyor, çünkü gibi serin eklentileri yükleyin .
  3. Ücretsiz dersler sürü gibi etrafında vardır bu bir .
  4. vi/ vimTüm Unix tabanlı sistemlerde yüklü; Bu nedenle, herhangi bir profesyonel sysdamin bunun hakkında bir çalışma bilgisine sahip olmalıdır.

Sorumun asıl meselesi cevabınızın 1. maddesiyle ilgili "Nasıl" Bunu başkalarına gösteren veya kendinize gösterilen herhangi bir deneyiminiz oldu mu?
Wildcard

Çok fazla göstermedik ama metni temizlemek için rutin olarak küçük vim komut dosyaları kullanıyorum, ama senin gibi meslektaşlarımdan pek fazla ilgi
duymadım

0

VIM'i seviyorum ama öğrenme eğrisi dik.

Henüz VIM'i kabul etmeyen herhangi bir profesyonelin, tartışmaya ikna edilme olasılığı düşüktür . Sadece zorunlu olarak.

Düzenli olarak VIM kullandıklarını söyleyenleri dinlerken, en büyük kullanım durumu, SSH üzerinden CLI ile uzaktan birden fazla * NIX makinesini yöneten yöneticilerdir.

VIM kelimenin tam anlamıyla gezegendeki hemen hemen her * NIX makinesine kuruluyor.

1998'de kullanmaya başladığımdan beri VIM 25+ yaşında ve değişmedi.


0

Basitçe öğrenciden Word ™ işlemcileriyle iki kelimeyi değiştirmelerini isteyin …

… Sonra ustanın bunu nasıl yaptığını gösterin vim. (Burada yapılacak haritalandırma ; daha fazlası burada .)

Son olarak, öğrencinin gerçekten bir kelime işlemci ile çalışıp çalışmadığını düşünmesine izin verin .


1
Akıllıca, ancak kontrol geri alması hemen hemen herhangi bir Windows editöründe bir kelimeyi silecek ve alt geri aldırma hemen hemen her Mac editöründe olacaktır.
Wildcard

@Wildcard delete ile ilk fikrim seçim arasında şüphelerim vardı . Tabii ki kesinlikle haklısın. Bu nedenle, seçmek
Serge Stroobandt 25:18

Yine de - ctrl-shift sola / sağa okları (veya Mac için alt-shift okları). :)
Wildcard

@Wildcard Sanırım şimdi anladım. Geçmiş mantığımı yeniden kurmak zorunda kaldım. ;)
Serge Stroobandt 25:18

@Wildcard Israr ettiğin için teşekkürler. Çok sert bir değişiklik yapmamı sağlayan şeyin ne olduğunu hatırlamakta zorlandım gvim. Şimdi iyi hatırlıyorum. İngilizce olmayan bir konuşmacı olarak İngilizce bir metin yazarken kelimeleri bir cümle içinde değiştiriyor / taşıyordu. Tam olarak bunu yapmak için kendi vimscript haritamı yazdım .
Serge Stroobandt

0

Vim ayrıca düz metin dosyalarını yeniden değerlendiriyor

Belge oluşturma bağlamında, değeri vimyalnızca muhteşem sözcük düzenleme becerilerinde değildir. Vim, aynı zamanda her yerde bulunan düz metin dosyasının değerini ve zamansız geriye dönük uyumluluk garantisini geri kazanmanın bir yoludur .

Vim ayrıca yalnızca içeriğe odaklanmakla da ilgilidir; format değil

Eğer biri web sayfası düzenlemeye dahil değilse içeriğin formattan ayrılması, normal ofis çalışanlarına paradigma paramparça eden bir kavram olabilir. Bu nedenle, Pandoc ve belki de a ile birlikte gvimbir Markdown editörü olarak göstermeyi seviyorum .makefile

Bu aynı zamanda, Unix veya GNU / Linux felsefesinin tek bir şeyde son derece iyi olan programların birleştirilmesi ve borulaştırılması felsefesinin iyi bir gösterimidir .

Bonus olarak, temel vimtuş kombinasyonlarının diğer birçok GNU / Linux programında kullanıldığını göreceksiniz .


0

Ergonomi

Doğru kurulumla saatlerce omuz veya bel ağrıları hissetmeden çalışabilirim.

Doğru kurulum herkes için ders farklı olmakla birlikte, bir terminal, eşlemenizde Vim kullanarak Escetmek Capslockve fare ve imleç tuşları devre dışı bırakarak iyi bir başlangıçtır.

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.