Vim ileri düzey: makrolar, yazmaçlar ve metin nesneleri
Metin nesneleri, yazmaçlar, makrolar, çoklu dosya ve pencereyle düzenleme hızını katlar, kendi .vimrc dosyanı yazarsın.
Seviye 201 · 18 ders · 21 pratik lab
Dersler
Dilbilgisi
- Vim dilbilgisi: işlem artı hareket
- Metin nesneleri: iw, i", it, ip
- İşaretler ve atlama listesi
- Kısa görev: bir YAML dosyasını metin nesneleriyle yeniden düzenle
Yazmaçlar ve makrolar
- Yazmaçlar: adlı, numaralı ve sistem panosu
- Makro kaydetmek ve oynatmak
- Makroyu yüzlerce satıra uygulamak
- Kısa görev: dağınık bir listeyi makroyla CSV'ye çevir
Arama ve değiştirme
- Vim'de düzenli ifadeler ve \v kipi
- :g ve :v ile seçilen satırlarda işlem yapmak
- :s derinlemesine: gruplar, onay ve aralıklar
- Dış komutla süzmek: !sort, !column
- Kısa görev: günlükteki IP adreslerini maskele
Dosyalar ve pencereler
- Tamponlar ve argüman listesi: çok dosyada çalışmak
- Bölünmüş pencereler ve sekmeler
- vimdiff ile iki yapılandırmayı birleştirmek
- Kendi .vimrc dosyanı yazmak
- Bitirme görevi: on yapılandırma dosyasında tutarlı değişikliği tek oturumda yap
Pratik lablar
- Tırnak içini tek hamlede değiştir: JSON dosyasındaki tüm parola değerlerini ci" metin nesnesiyle maskeli değerle değiştir.
- Yapılandırma bloklarının sırasını değiştir: Paragraf metin nesnesi ve işaretlerle yapılandırma bloklarını istenen sıraya taşı.
- HTML etiketlerinin içeriğini toplu güncelle: Bakım sayfasındaki etiket içeriklerini it metin nesnesi ve işaret listesiyle hızlıca güncelle, yapıyı bozma.
- Dağınık listeyi makroyla CSV'ye çevir: Her kaydı üç satıra yayılmış listeyi bir makro kaydedip tekrarlayarak tek satırlık CSV kayıtlarına çevir.
- Makroyu yüzlerce satıra uygula: Kullanıcı listesindeki her satırı useradd komutuna dönüştüren makroyu yaz, tüm dosyaya uygula ve sonucu betik olarak kaydet.
- Hatalı makroyu düzenleyip yeniden çalıştır: Yanlış kaydedilmiş makroyu yazmaçtan yapıştırıp düzelt, geri yükle ve kalan satırlara uygula.
- Silinen satırı yazmaçtan geri getir: :registers ile yazmaçları listele, iki silme önce kaldırılan ayar satırını numaralı yazmaçta bul ve dosyadaki yerine yapıştır.
- Adlandırılmış yazmaçlarla parça taşı: Üç farklı yapılandırma parçasını ayrı yazmaçlara kopyala ve hedef dosyada doğru yerlere yapıştır.
- Dağınık satırları tek yazmaçta biriktir: Uzun bir yapılandırmadaki dağınık altı izin satırını büyük harfli yazmaç adıyla aynı yazmaca ekleyerek topla, ifade yazmacıyla hesapladığın satır sayısını başlığa yaz ve hepsini yeni dosyaya yapıştır.
- Bölünmüş pencerelerde günlük ve yapılandırmayı birlikte incele: Günlüğü ve yapılandırmayı bölünmüş pencerelerde açıp hatanın işaret ettiği ayarı bul ve düzelt.
- Bölünmüş pencereler arasında ayar taşı: Eski ve yeni yapılandırmayı dikey bölünmüş pencerelerde aç, pencereler arasında geçerek eksik üç ayarı kopyala ve iki dosyayı da kaydet.
- Üç pencereli düzenle uzun dosyaları eşzamanlı incele: Günlüğü, yapılandırmayı ve yedeğini üç pencerede aç, scrollbind ile iki yapılandırmayı birlikte kaydır, pencereleri yeniden boyutlandırıp taşı, farklı olan dört satırı düzelt ve düzeni oturum dosyasına kaydet.
- Dosyanın tamamını dış komuttan geçir: Vim'den çıkmadan :%!sort ile konak listesini sırala ve sonucu kaydet.
- Seçili bölümü dış komutla sırala: Yapılandırmanın yalnızca izin listesi bölümünü !sort -u ile sırala ve yinelenen girdileri kaldır.
- Dosya içindeki bir bloğu dış araçla biçimlendir: Yapılandırmaya gömülü tek satırlık JSON bloğunu görsel kipte seçip jq'dan geçirerek biçimlendir, komut hata verdiğinde bozulan metni geri al ve :r ! ile dosyaya tarih satırı ekle.
- Günlükteki IP adreslerini maskele: Paylaşılacak günlükteki tüm IPv4 adreslerinin son okteti yerine x koyacak :s komutunu \v kipinde yaz.
- Yalnızca hata satırlarını bırak: :v ile ERROR içermeyen tüm satırları sil, ardından :g ile kalan satırlara zaman damgası öneki ekle.
- Gruplarla sütunların yerini değiştir: Ad soyad biçimindeki kayıtları yakalama gruplarıyla soyad, ad biçimine çevir ve e-posta alanını küçük harfe indir.
- İki yapılandırmayı vimdiff ile birleştir: Sunucudaki ve depodaki yapılandırma sürümlerini vimdiff ile karşılaştır ve yalnızca güvenlik ayarlarını aktar.
- On dosyada tutarlı değişiklik yap: Argüman listesi ve :argdo ile on yapılandırma dosyasındaki eski günlük yolunu tek oturumda değiştir ve hepsini kaydet.
- Ekip için güvenli bir .vimrc yaz: Satır numarası, arama vurgusu, sekme ayarları ve dosya türüne göre girinti içeren, modeline'ı kapatan bir .vimrc hazırla.
Kurs hakkında
Metin nesneleri, yazmaçlar, makrolar, çoklu dosya ve pencereyle düzenleme hızını katlar, kendi .vimrc dosyanı yazarsın.
Ne öğreneceksin
- Dilbilgisi
- Yazmaçlar ve makrolar
- Arama ve değiştirme
- Dosyalar ve pencereler
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.