Neden normal modda ok tuşlarını kullanmak kötü uygulama olarak kabul edilir?


43

Birçok makalede ( örneğin ) ok tuşlarını normal modda kullanmanın kötü bir uygulama olduğunu okudum . Birisi neden yanlış bir uygulama olarak değerlendirildiğini açıklayabilir mi?


5
Hjkl kullanmamak için iyi bir neden, başka bir klavye düzeni kullanıyorsanız. Örneğin, hjkl Dvorak'ta mekansal olarak ilişkili değildir ve bu nedenle kullanımı zordur.
Kylos

1
@Kylos Dvorak'ta kullanıyorum hjkl. Kesinlikle qwerty'den daha az mantıklı, ama bildiğim kadarıyla "kullanımı zor"; Onlar sadece anahtarlar ve onlara alıştıktan sonra bir şeye veya onlara ulaşmak zor değil.
Dougal

2
hjklBir belgede taşınması için neden en iyi seçenek olması gerektiği konusunda birçok efsane vardır . Gerçek şu ki, bazı klavyeler hjklvi'nin oluşturulduğu sırada ok tuşlarını açık tutuyordu, bu yüzden vi aynı klavyeyi normal modda klavye düzeniyle eşleştirmek için kullandı. İşte klavyenin bir fotoğrafı olan bir makale: catonmat.net/blog/why-vim-uses-hjkl-as-arrow-keys
allo

8
Zorluğu itibarı olan her şey ... belli bir insanı çekiyor. Crossfit, Vim, işlevsel programlama, veganizm, vb. Şimdi kesinlikle bu tür etkinliklerden birini yapan herkes o tür değildir, ancak orantısız bir şekilde ortaya çıkarlar. Ve bu kişi için cazibenin bir parçası , faaliyetin kendisinin zorluğudur . Girişine çıtayı düşüren şeyler onlar için bir anemadır: onları daha az özel kılar. Tercih etmek için sebepler var hjkl. İyi olanlar. Fakat en azından kısmen dogmanın durumuna şişirilirler, çünkü insanlar diğerlerinden daha iyi olduklarını hissetmek zorundadır.
Jared Smith

@Kylos dvorak'taki hjklen iyisi olmadığını kabul ediyorum . Ancak bir dvorak kullanıcısı olarak, onları bir araya getirdiklerinden biraz kullanışlı bulabilirim: jkpanonun bir tarafında olduğu gibi; ve hl diğer tarafta.
nilon

Yanıtlar:


66

Aslında bu kötü bir uygulama değil.

Birçok insan ( Vim'in @B Katmanı'nın cevabını gösterdiği dokümanı dahil ) ok tuşlarını kullanmayacağınızı, çünkü ellerinizin ana satırdan (klavyenizin bulunduğu ikinci satır) hareket etmenizi hjklsağladığını ve sizi daha az verimli kıldığını söylüyor. .

Bu (en azından IMO) vim "purists" çember sarsıntısının kötü bir sonucudur: yeni kullanıcılar bunu kör bir şekilde takip eder, bazıları ok tuşlarını bile devre dışı bırakır ve daha sonra eskisi kadar verimli olmadığından şikayet ederler.

Kullandığınız daha rahat hissetmiyorsanız: kullanım vim tek gerçek kural verimli bir şekilde kullanmaktır Leftve Rightdaha hve l olsun, ok tuşlarını kullanın. set mouse=aFare kullanmak istiyorsanız Vim'in bile seçeneği var!

Eğer Vim ve daha iyi farklı mevcut hareketleri ile almak alışması kez ( f, t, ,, ;, w, b, e, geiçinde, ve temelde her şey :h quickref) Eğer kullanım ok tuşları pek bunu fark olabilir. Ve hala onları kullanıyorsanız, sorun değil, en verimli olanı kullanın.

Not : Daha fazla verim için evden ayrılma argümanının bence iyi olmadığını düşünüyorum: Neden bir vim kullanıyorsanız hjkl kullandığına bakarsanız, bu tuşların seçildiğini göreceksiniz, çünkü herhangi bir ok yoktu. Vi yazıldığında Bir kimse, eğer şu anda klavyeler farklı olsaydı, hiç kimse ok tuşlarını kullanmamayı iyi bir uygulama olarak düşünmezdi.


13
Sık sık kendimi ok tuşlarına ulaşmak için bileğimi çok fazla bükerken buldum, çünkü onlara çok alışmıştım. Ok tuşlarını etkisiz hale getirerek kendimi alışmak hjkliçin bileğimden biraz ağrı hissetmeye başladım.
Shahbaz

9
Bunun sadece QWERTY klavyelerinde bir anlam ifade ettiğini belirtmek isterim. Bazı düzenler için hjkl gerçek bir acı olabilir.
coteyr

1
Her iki seçenekten de yararlanabilirsiniz: hjkl veya okları seçip seçmemekle birlikte, diğer yukarı / aşağı tuş kümesini, ekran çizgileriyle taşımak ve dosya çizgileriyle bağlamak için bağlayabilirsiniz. Uzun satırlı dosyaları düzenlerken yardımcı olur.
user31389, 28.08.2018

1
Cevabınızı okumadan önce hjkl ve ok tuşlarını kullandığımı fark etmemiştim, çünkü bahsettiğiniz ileri düzey hareket komutlarına alıştım. İyi bir nokta!
Spiros

4
Gözlerimin doğru cevabını takdir etsem de, lütfen beni rahatsız edici bir görüntü uyandırmayacak çember pisliklerine daha az “tohumlu” alternatif ifadeler bulmak için elinden gelenin en iyisini yapmaya zorlu bir moderatör ve vi meraklısı olarak savunabilir miyim? Birbirlerinin şirketinde birlikte mastürbasyon yapan, erkeklerin ya da erkeklerin, pantolonsuz bir halkası mı? :)
tchrist

40

Bunun artık gerçekten alakalı olup olmadığını bilmiyorum, ama ben eski bir zamanlayıcım, bu yüzden burada biraz tarih var.

Eski günlerde, VT100 terminallerinde ok tuşları vardı, ancak birine basıldığında <ESC>[Ayukarı, <ESC>[Başağı vb. Gibi bir kaçış dizisi iletildi .
Ayrıca, 9600 baud'da iletişim kuran seri bir terminal olarak, kullanıcının tuşlara çok hızlı basması mümkündü. bir tuşa basılması önceki tuş basma sırasını kesmek ve vi'yi karıştırmak için bütün sekansı iletmek.

Bu, vi'nın anlaşılmaz biçimde ekleme moduna girmesine ve aşağı okunu basılı tutarsanız, dosyaya [B [B [B [B [B [B [B] B]) yerleştirmesine neden olur. Açıkça söyleyeyim, çünkü bu dizi hakkında ekleme moduna girmesi gereken hiçbir şey yok ve her dizinin bir ESC karakteri ile başlayan gerçeği, ekleme modundan çıkmış olmalı. Ama yine de çöp eklerdi. Her zaman değil - sadece acelesi vardı.

Biri bu durumdan çabucak yoruldu ve sadece hjkltuşlara bağlı kalmaya karar verdi .


8
Sebebi ne olursa olsun, TCP terminal programları hala bir ok anahtar kaçış dizisinin ilk bayt göndererek karşı kaçış tuşuna basarak arasında ayrım herhangi% 100 -Güvenilir yol yok hala kaçış tabanlı ok tuşlarını kullanın ve.
Supercat

1
Onlar @supercat yapmak o ayırt etmek güvenilir bir yol var. SC81T kullanarak denir . Sorun, birçok programın pazarlık yapmaması ve bazı terminallerin muhtemelen desteklememesidir.
jamessan

1
@jamessan: Doğru okuduysam, kaçış tuşlarını ok tuşlarından ayırt etmenin güvenilir bir yolunun, kaçış kullanan programlar hakkındaki yorumumla "ne olursa olsun" yorumumla bağdaştırılan kaçış tabanlı ok tuşlarını kullanmama olduğunu öne sürüyorsun. tabanlı ok tuşları
Supercat

Hmm, VT100'ü taklit edebilecek eski bir IBM terminalim var, bunu denemek zorunda kalabilirim
bir

3
Bu durumun doğru olduğunu kesinlikle teyit edebilirim, en azından geri dönüşte, 80'ler boyunca, bu nedenle bu sebeple vi ' deki ok tuşlarını kullanmamak için metro terminal odasına işaretler koymak zorunda kaldık . Tty sürücüsü düştüğünde dosyalarını karıştırıp durdular.
tchrist

28

@Statox ile ok tuşlarını kullanmayı seçerse hiç kimsenin cezalandırılmaması, küçültülmemesi, konuşulmamasının veya katlanmamaya karar vermemesi konusunda hemfikir olsam da ... açık fikirli yeni bir kullanıcıya rehberlik yapıyor olsaydım, çoğu zaman yanlış sonuç veren bir tutum. En iyi uygulamaları takip etmeye başlamalarını şiddetle tavsiye ediyorum. Onlar bir sebepten dolayı "en iyi uygulamalar" dır ... siz ve benden önce gelen birçok insan tarafından iyi etki etmek için kullanıldılar.

Heck, Vim'in kendi yardımları bile sizi bu yönde dürtüyor , ancak abartısız olmasa da (" büyük ölçüde yavaşlıyor") ...

İmleci ok tuşlarını kullanarak da hareket ettirebilirsiniz. Ancak, ok tuşlarına basmak için elinizi metin tuşlarından ok tuşlarına getirmelisiniz, çünkü düzenlemenizi büyük ölçüde yavaşlatırsınız. Saatte yüzlerce kez yaptığınızı göz önünde bulundurursanız, bu önemli bir zaman alabilir.

Ayrıca, başlangıçta yapacağınız seçimlerin, gelecekte değişmek istiyorsanız kırılması zor olan alışkanlıklar haline gelebileceği gerçeği de var. Önerilen bir alışkanlığı artık yerine ok tuşlarını kullanarak o şansa neden ile aynı değeri her şeyin varlık Yani olan verimsiz veya karpal-öldürme?

Sonuçta, ok tuşları olmadan işleri yapmak için dürüst bir çaba göstermeyi düşünün. Makul bir süre sonra yukarı / aşağı / sol / sağ olmadan yaşayamazsanız ... yapmayın.

... benim görüşüme ilgi duyan yeni bir kullanıcıya söyleyeceğim şey. Kabul etmiyorsan kişisel olarak alma. (Seninle konuşuyorum, küçümseyici).


9
Gerçekten ok tuşlarından daha iyi olduğunu kabul etseniz bile (ikna bile değilim) bir yerde, mümkün olan tüm "en iyi uygulamalar" listesinin en altında. Hjkl kullanmaktan çok daha önemli şeyler olduğunu savunuyorum .
Martin Tournoij

5
@Carpetsmoker En iyi uygulamaları sıralamanın gerekli olduğunu sanmıyorum. Ok tuşlarını kullanma konusunda güçlü bir istek duymazsan neden Vim'in önerdiği gibi yapmıyorsun? Özellikle Vim'de yeniyseniz ... hepimiz köklendikten sonra bir şeyi yapma biçimimizi değiştirmenin ne kadar zor olduğunu biliyoruz.
B Katmanı

1
"Düzenlemenizi büyük ölçüde yavaşlatıyorsunuz" - bu bana oldukça abartılı görünüyor ... yine de denemeye değer. Sadece savaşmak için yeterince önemli değil.
Gölge

2
@Bayer burada değil - bu gördüğüm konuyla ilgili en medeni tartışma. Ama savaşlar kesinlikle savaştı ...
Shadow

1
don't think it's necessary to rank best practicesBana öyle geliyor ki, kaynakların sınırlı olması ve yaşamın kısa olması şartıyla bize yaşamda en iyi değeri veren şeylere odaklanmamız gerekiyor. Hjkl tuşlarının numpad olmadan bir dizüstü bilgisayarda haydut, larn, angband, vb. Oynayan yanlış çocukluk nedeniyle kalp olduğunu biliyorum ama bazı insanlar çocukluklarını daha iyi geçirdiler ve ne olursa olsun ok tuşlarını "öğrenmek" zorunda kalacaklar. Öğrenme hareketleri, aralıklar vb. Zaman harcamak için çok daha kullanışlı bir yol
Martin Tournoij

16

Diğer cevaplar, ellerinizi evden hareket ettirmekten kaynaklanan verimlilik kaybının o kadar büyük bir şey olmadığını ve çoğunlukla kabul ediyorum. Ancak, önemli bir şey vim öğrenirken, normal moda geri dönmemek için her zaman ok tuşlarını kullanmaktır.

Bir single kullanan diğer bir deyişle, tek bir kullanılmış olurdu hverimlilikte büyük bir kayıp değil, ama kullanan kullanmış nerede EscI olduğunu büyük bir kayıp.

Bu yüzden insanlar size vim öğrenirken ok tuşlarından kaçınmanızı söyler, çünkü sizi asla ekleme modundan çıkmak yerine normal mod öğrenmeye zorlar. Normal mod, tüm veriminizin kazandığı yerdir.


1
+1. Başka bir deyişle: "Ok tuşlarını kullanmayın ve kullanmayın hjkl." (Kasıtlı abartma
kolunun korunması

3
Aslında bunun yerine 10 kez sen kullanmış olabilir 1 0 , daha da basit veya Home. İkincisi, Windows Not Defteri'nde bile çalışır.
Ruslan

7

İnsanların ok tuşlarını kullanmamanız gerektiğini söylemelerinin iki ana nedeni var. Bazıları hjkl'nin tercih edildiğini iddia ediyor, çünkü ellerini ana sıraya sokuyor, yanlış değil , aynı zamanda önemli değil. Kendim de dahil olmak üzere diğerleri, birkaç karakterden daha fazla hareket ediyorsanız ok tuşlarını kullanmamanız gerektiğini, ancak hjkl kullanmamanız gerektiğini söyler.

Önemli olan , hangi anahtarları kullandığınız değil, kaç tane kullandığınızdır . Kelimenin başına gitmek istiyorsanız, vurmayın hhh; Eğer çarptı b. Kelimenin sonu edeğil llll. Satırın başlangıcı: 0hattın sonuna: $. Ve başka bir şey, /searchgitmek istediğiniz yerde var olan metin için. (veya gelişmiş hareketlerden hangisini tercih ederseniz).

Ancak, aynı anahtarı arka arkaya iki defadan fazla yazdığınızda, bunu yapmanın daha iyi bir yolu var.


7

Daha kesin bir ifade " vim'i daha iyi öğrenmeye çalışırken ok tuşlarını kullanmak kötü bir uygulamadır " olabilir . Vim'e yeni başlayanlar, dolaşmak için ok tuşlarını kullanmaya alışkındır ve bu yüzden öğrenmeyin hjkl, bu nedenle tercih edilip edilmediğini görme şansı bulamıyor.

Şahsen, vim'e genel bir aşinalık kazandırdıktan sonra , ok tuşlarını bir süre devre dışı bırakmak hjklve daha sonra basitleştirmek için yeniden etkinleştirdim .vimrc. Geleneksel bilgelik benim durumumda geçerli; Hem hjklok tuşlarını hem de ok tuşlarını nasıl kullandığımı öğrendiğimde, kendimi neredeyse yalnızca eskisini kullanırken buldum.


6
Katılmıyorum. Gibi bu blog diyor, yeni başlayanlar için o "hep ya hiç" yaklaşımı vim "kullanıcı düşmanca" ün neden olur. Yeni kullanıcılar başlar, tıkanır ve boğulur ve (şaşırtıcı bir şekilde değil) vim'in kutsal bir karmaşa olduğu sonucuna varır ve tereddütlü bir şekilde üretken olabilecekleri bir editöre geri döner. - Yüzmeyi öğreniyorsan, kendini açık okyanusun içine atarsın. Su ile rahat oluncaya kadar çocuk havuzunun etrafındaki köpek kürekleri çekmek tamamen kabul edilebilir.
RM

2
... ok tuşlarını devre dışı bırakmanın insanlar için işe yaramayacağını söylememek. Ama "Vim'i severim ve onu daha iyi kullanmayı öğrenmek istiyorum" adımı değil, "Vimeti yenmeyi ve kullanmayı kullanmayı istiyorum" adımı değil.
RM

5

Her zamanki cevap verimi içerir. Muhtemelen yıllar boyunca ellerinizi asdf ve jkl; Vi'deki kilit bağların büyük çoğunluğu, hjkl hareket komutları da dahil olmak üzere bu gerçeğe göre tasarlanmıştır.

Şahsen ben ikisini de kullanıyorum. Etkin olarak büyük metin bölümlerini düzenlerken hjkl'yi ve günlük dosyaları arasında gezinirken ok tuşlarını (ve |, g ve / bir dosya boyunca spot düzenlemeleri yaparken) ok tuşlarını kullanıyorum. Bu sadece benim için iyi olan bir şey oluyor ve böyle bir durumda, gerçekten önemli olan bu.


2

Uzun zaman önce, birçok terminalde ok tuşları yoktu veya dördü de yoktu. Navigasyon gerektiren yazılım sistemleri normalde ok tuşlarına güvenmeden bir tür navigasyon yaklaşımı sağlamıştır ve vi'nin hjkl'i kanonik bir örnektir. (Başka bir klasik örnek ise WordStar'ın ^ E- ^ S- ^ X- ^ D.) Klavye navigasyonunun aracı giderek daha belirgin hale geldikçe, gittikçe daha fazla sayıda yeni terminal ok tuşlarıyla gelmeye başladı ve yazılım sistemleri bunları genellikle eski yöntemlerle eşleştirdi. navigasyon. Bununla birlikte, bu bir çeşit taşınabilirlik kaygısı yarattı: okullarda eğitilen çocuklar ok tuşları gibi yeni ve süslü bir özelliğe güveneceklerse, düşünmek, bir zamanlar ortak - ok tuşları olmadan klavyeler.

Bu yüzden, temel bilgisayar derslerine giren öğretmenler, öğrencileri en sık kullanılan paydaşları kullanmayı öğrenmeleri konusunda istihdam edilebilirliklerini en üst seviyeye çıkarmak için uyarmaya başladılar. Ve bu uygulama, bir zamanlar sahip olabileceği sebepleri çoktan geride bıraktı.

Vi'nin modern uygulamalarında, hjkl'yi tercih etmenin temel nedeni, elinizin altında bulunan tuşları kullanmanın, elinizi ok tuşlarının olduğu yere taşımaktan biraz daha hızlı olmasıdır. Elbette, elinizin bağlam anahtarından kaçınmanın dezavantajı, vi'nin bağlam anahtarını gerçekleştirmeniz gerekebilir. Günümüzde, insanlar yazma hızıyla çok nadiren değer kazandıklarında, birini ya da diğerini kişisel tercih meselesi yapmaktan ibarettir ve ok tuşlarını kullanmanın, artık varsa, artık doğal olarak kullandığı kötü bir şey yoktur.

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.