IDE yerine VIM kullanmaya başlayıp başlamam gerektiğini düşünüyorum. Bir IDE'de standart olmayan VIM'in en kullanışlı özellikleri nelerdir?
emacs
bunun yerine kullanmaya başlayabilirsiniz . ;-)
IDE yerine VIM kullanmaya başlayıp başlamam gerektiğini düşünüyorum. Bir IDE'de standart olmayan VIM'in en kullanışlı özellikleri nelerdir?
emacs
bunun yerine kullanmaya başlayabilirsiniz . ;-)
Yanıtlar:
Bunun VIM'in onu bu kadar güçlü kılan gelişmiş özelliklerinin mutlaka olduğunu sanmıyorum. Hiçbir şey yapmamak için ellerinizi asla klavyeden çekmemelisiniz. Büyük bir dosyada bir şey bulmak birkaç tuşa basmak kadar basittir. Aynı pencerede birden fazla dosyayı açmak ve kapatmak da inanılmaz derecede hızlı.
İlk başta sezgisel görünmese de, zaman ayırmaya değer. Standart IDE'niz olarak kullanmasanız bile (örneğin, genellikle Visual Studio veya Eclipse kullanıyorum), IDE'nin beklemesinden çok daha hızlı olduğu için dosyaları hızlı bir şekilde açmak ve düzenlemek için VIM'i kullanmaya başlayacaksınız. yük.
VIM'i nasıl iyi kullanacağınızı öğrenmek için zaman ayırın ve asla pişman olmayacaksınız. Ben dokunma-yazı öğrenme ile karşılaştırılabilir olduğunu söyleyebilirim.
Benim için :global
komut katil bir uygulama. Bir regex ile eşleşen (veya eşleşmeyen) herhangi bir satırda rasgele vim komutları çalıştıracaktır.
İşte bazı örnekler:
Varsayılan davranış, eşleşen her satırı listelemektir.
:g/TODO:/
"TODO:" metnini içeren her satırı listeler.
'Mickey' kelimesini, 'Fare' kelimesini içeren herhangi bir satırda 'Minnie' olarak değiştirin
:g/Mouse/ s/Mickey/Minnie/
Komutların kendi aralıkları olabilir, bu "TODO:" ile her satırdan bir sonraki boş satıra silecektir:
: g / TODO: /., / ^ $ / d
Kullan: g! regex ile eşleşmeyen her satırda yürütmek, örneğin "emacs" kelimesini "emmek" kelimesini içeren satırlar dışında "vim" ile değiştirmek için:
:g!/sucks/ s/emacs/vim/
Bir dizi eşleştirilmiş sembol arasındaki her şeyi silme yeteneğini inanılmaz derecede faydalı buluyorum. Örneğin, oldukça sık, kendimi kodda bir dize değiştirmek isteyen bulacağım. Böylece, di"
imleç blok içinde iken, dize siler, ""
sağlam tutarken ve imleci iki alıntı karakteri arasına yerleştirir. da"
aynı şeyi yapar, ancak alıntı karakterlerini de siler.
ci"
hemen yazmaya başlayabilmeniz için imleci ekleme moduna geçirir.
'Ekleme modu anahtar kelime tamamlama'. Ctrl-P ve Ctrl-N, yazdığınız değişken adını denemek ve tamamlamak için metni aramak için ekleme modundadır. Bunu başka bir IDE'de hiç görmedim ve gerçekten çok özlüyorum. IDE’lerde kod tamamlama aynı değil.
^X^O
omni, etkinleştirilmişse ekleme modunda tamamlanır. Ancak haklısınız, kendimi anahtar kelime tamamlama özelliğini çok yönlü tamamlamadan çok daha fazla kullanırken buluyorum.
İnanılmaz derecede faydalı bulduğum bir diğer özellik de girintiyi değiştirme yeteneği. :15,30>>
tüm satırları 15-30 (dahil) 'den iki kez :15,30<<
girintilerken, aynı satırları iki kez çıkarır.
=
gibi olmasa daha kullanışlı, daha olmak <<
ve >>
.
dd komutu (geçerli satırı sil). Bunu çok kullanırım.
Ayrıca, 3dd gibi bir şey yazabilmek ve sonraki 3 satırı silebilmek harika. Bunu başka bir editörde hiç görmedim = D
Esc ! }
gibi bir komut satırı filtreye geçerli paragraf kapalı sokacaklar fmt
ya wc
ya which
editöre dönüş sonuçları ve.
Komut satırına hızlı erişim. CTRL + Z veya: wqa, elim klavyeden çıkmadan bana 1 sn'den daha kısa bir komut satırı alır.
:!/bin/bash
. Çok :!
sık kullanıyorum.
:sh
Sorunun belirsizliği ve bir kısmı da IDE’nin farklı olduğu gerçeğinden ötürü, cevaplaması oldukça zordur ve birçoğu, diğerlerinin yapmadığı (ve bunlardan yalnızca birkaçı) olmayan özellikler sunar.
Bununla birlikte, Vim'i diğer editörlerden ayırdığına inandığım şey (evet, bu konuda Emacs bile) gerçekten harika bir editör. . Zamanın içindeyim, birçok editör kullandım ve dürüstçe söyleyebilirim ki, Vim'in yaptığı gibi metin işlemek için böylesine tam bir özellik setinin çok azının geldiğini söyleyebilirim.
Örneğin, metin düzenleme stilim çok uzun zaman önce hızlı kısayollar tanımladığım (birkaç satırdan satır / seçim) çoğaltma ve (birkaç satırdan satır / seçim) işlemlerini içerir. Çoğu IDE'deki bu özellikleri özlüyorum (ReSharper for VS'de benzer şeyler olduğunu duydum).
Tutulma için bir vi eklentisi olduğunu biliyor muydun ? O 15 euro (20ish ABD $) maliyeti ama bu yüzden değer. Artık dd
bir belgenin ortasında değil ve tüm küçük faydalı şeyleri özlüyorum.
Belki biraz konu dışı ama işaret değeceğini düşündüm.
Programladığınız dile bağlı olarak, ide ile yapıştırın ya da bulabileceğiniz en refaktörleri sunan ide'yi alın, c #, java için intellij veya görsel stüdyo için görsel asistanlık yapıyorsanız görsel stüdyoya yeniden uyum sağlayın, tutuculukları tutulma ya da netbealarda maksimuma çıkar.
Metni manipüle etmek için kodu manipüle etmek için hareket etmeliyiz, yeniden düzenleme araçları size bu yeteneği verir. Vim size tüm özellikleri iyi veriyorsa, biri için artık bir metin editörü ile uğraşmak istemiyorum.
Çoğu IDE ekranı bölmenize izin vermez. VIM'deki bu özelliği seviyorum.
<C-w>