LFCS #2: Linux'ta Vi/Vim Nasıl Kurulur ve Kullanılır


Birkaç ay önce Linux Vakfı, dünyanın her yerinden bireylerin Linux sistemlerinde temel ve orta düzey sistem yönetimi görevlerini yerine getirebildiklerini doğrulamalarına yardımcı olmak amacıyla LFCS (Linux Vakfı Sertifikalı Sistem Yöneticisi) sertifikasını başlattı.

Linux yönetim görevleri, ilk elden sorun giderme ve bakımın yanı sıra sorunları üst destek ekiplerine bildirme zamanının geldiğini bilmek için akıllı karar almayı içerir.

Serinin başlığı LFCS (Linux Foundation Sertifikalı Sistem Yöneticisi) 1'den 33'e kadar Bölümlere Hazırlık olacak ve aşağıdaki konuları kapsayacak:

Part 1

Linux'ta Dosyaları İşlemek için 'Sed' Komutu Nasıl Kullanılır

Part 2

Linux'ta Vi/Vim Nasıl Kurulur ve Kullanılır

Part 3

Linux'ta Dosyaları ve Dizinleri Sıkıştırma ve Dosya Bulma

Part 4

Depolama Aygıtlarını Bölümlendirme, Dosya Sistemlerini Biçimlendirme ve Takas Bölümünü Yapılandırma

Part 5

Linux'ta Yerel ve Ağ (Samba ve NFS) Dosya Sistemlerini Bağlama/Çıkarma

Part 6

Bölümleri RAID Aygıtları Olarak Birleştirme – Sistem Yedeklemeleri Oluşturma ve Yönetme

Part 7

Sistem Başlatma Süreçlerini ve Hizmetlerini Yönetme (SysVinit, Systemd ve Upstart)

Part 8

Kullanıcı ve Gruplar, Dosya İzinleri ve Sudo Erişimi Nasıl Yönetilir

Part 9

Yum, RPM, Apt, Dpkg, Aptitude ve Zypper ile Linux Paket Yönetimi

Part 10

Temel Kabuk Komut Dosyalarını ve Dosya Sistemi Sorunlarını Gidermeyi Öğrenme

Part 11

Vgcreate, lvcreate ve lvextend Komutlarını Kullanarak LVM Nasıl Yönetilir ve Oluşturulur

Part 12

Yüklü Yardım Belgeleri ve Araçlarla Linux Nasıl Keşfedilir?

Part 13

Grand Unified Bootloader (GRUB) Nasıl Yapılandırılır ve Sorun Giderilir

Part 14

Linux Süreçlerinin Kaynak Kullanımını İzleyin ve Kullanıcı Bazında Süreç Sınırlarını Belirleyin

Part 15

Linux Sistemlerinde Çekirdek Çalışma Zamanı Parametreleri Nasıl Ayarlanır veya Değiştirilir

Part 16

Linux'ta SELinux veya AppArmor ile Zorunlu Erişim Denetiminin Uygulanması

Part 17

Kullanıcılar ve Gruplar için Erişim Kontrol Listeleri (ACL'ler) ve Disk Kotaları Nasıl Ayarlanır?

Part 18

Ağ Hizmetlerini Yükleme ve Önyükleme Sırasında Otomatik Başlatmayı Yapılandırma

Part 19

Anonim Oturum Açmalara İzin Verecek FTP Sunucusunu Ayarlamaya Yönelik Temel Kılavuz

Part 20

Temel Özyinelemeli Önbelleğe Alma DNS Sunucusu Kurulumu ve Etki Alanı için Bölgeleri Yapılandırma

Part 21

MariaDB Veritabanı Sunucusunun Kurulumu, Güvenliği ve Performans Ayarlaması Nasıl Yapılır

Part 22

Dosya Sistemi Paylaşımı için NFS Sunucusu Nasıl Kurulur ve Yapılandırılır

Part 23

SSL Sertifikalı İsme Dayalı Sanal Barındırma ile Apache Nasıl Kurulur

Part 24

Linux'ta Hizmetlere Uzaktan Erişimi Etkinleştirmek için Iptables Güvenlik Duvarı Nasıl Kurulur

Part 25

Trafiği Statik ve Dinamik Olarak Yönetmek için Linux'u Yönlendiriciye Dönüştürme

Part 26

Şifrelenmiş Dosya Sistemlerini Kurma ve Cryptsetup Aracını Kullanarak Değiştirme

Part 27

Sistem Kullanımı, Kesintiler Nasıl İzlenir ve Linux Sunucularında Sorun Giderilir

Part 28

Paketleri Kurmak veya Güncellemek İçin Ağ Havuzu Nasıl Kurulur

Part 29

Ağ Performansı, Güvenliği ve Sorun Giderme Nasıl Denetlenir

Part 30

Sanal Makineler ve Konteynerler Nasıl Kurulur ve Yönetilir

Part 31

Projeleri Verimli Bir Şekilde Yönetmek için Git'in Temellerini Öğrenin

Part 32

Linux'ta IPv4 ve IPv6 Adreslerini Yapılandırmaya Yeni Başlayanlar Kılavuzu

Part 33

Ubuntu'da Ağ Bağlantısı ve Köprü Oluşturma İçin Yeni Başlayanlar Kılavuzu

Bu gönderi, 33 eğitimlik bir serinin 2.Bölümü'dür; bu bölümde, LFCS sertifikasyon sınavı için gerekli olan temel dosya düzenleme işlemlerini ve Vi/Vim düzenleyicideki anlama modlarını ele alacağız.

Vi Düzenleyicide Temel Dosya Düzenleme İşlemlerini Gerçekleştirin

Vi, Unix için yazılmış ilk tam ekran metin editörüydü. Küçük ve basit olması amaçlanmış olsa da, birkaçını saymak gerekirse NotePad++ veya gedit gibi yalnızca GUI metin düzenleyicilerini kullanan kişiler için biraz zorlayıcı olabilir. örnekler.

Vi'yi kullanmak için, daha sonra güçlü metin düzenleme prosedürlerini öğrenmeye başlamak amacıyla, öncelikle bu güçlü programın çalıştığı 3 modu anlamalıyız.

Modern Linux dağıtımlarının çoğunun, vi ("Geliştirilmiş Vi") olarak bilinen ve vi sürümünden daha fazla özelliği destekleyen bir türeviyle birlikte gönderildiğini lütfen unutmayın. orijinal vi bunu yapar. Bu nedenle, bu eğitim boyunca vi ve vim'i birbirinin yerine kullanacağız.

Eğer dağıtımınızda Vim yüklü değilse aşağıdaki şekilde yükleyebilirsiniz.

sudo apt install vim         [On Debian, Ubuntu and Mint]
sudo yum install vim         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/vim  [On Gentoo Linux]
sudo apk add vim             [On Alpine Linux]
sudo pacman -S vim           [On Arch Linux]
sudo zypper install vim      [On OpenSUSE]    

Neden Vi Öğrenmek İstiyorum?

Vi editörünü öğrenmek için en az 2 iyi neden var.

  1. vi POSIX tarafından gerekli olduğundan her zaman kullanılabilir (hangi dağıtımı kullanıyor olursanız olun).
  2. vi önemli miktarda sistem kaynağı tüketmez ve parmaklarımızı klavyeden kaldırmadan akla gelebilecek her türlü görevi gerçekleştirmemize olanak tanır.

Ayrıca vi'de çok kapsamlı bir yerleşik kılavuz bulunur ve bu kılavuz, program başlatıldıktan hemen sonra :help komutu kullanılarak başlatılabilir. Bu yerleşik kılavuz, vi/m'nin kılavuz sayfasından daha fazla bilgi içerir.

Vi Düzenleyiciyi Başlatma

vi'yi başlatmak için komut isteminize vi yazın.

vi

Daha sonra Ekle moduna girmek için i tuşuna basın ve yazmaya başlayabilirsiniz.

vi/m'yi başlatmanın başka bir yolu da.

vi filename

Bu, daha sonra diske kaydedebileceğiniz, dosya adı adlı yeni bir arabellek (arabellekler hakkında daha sonra bilgi verilecektir) açacaktır.

Vi Modlarını Anlamak

Vi düzenleyicisinin birden fazla modu vardır; her biri farklı bir amaca hizmet eder ve kullanıcıların belirli işlemleri gerçekleştirmesine olanak tanır.

Bilmeniz gereken ana modlar şunlardır:

Vi Komut Satırı Modu

Komut modunda, vi, kullanıcının dosyada gezinmesine ve bir veya birkaç komuttan oluşan kısa, büyük/küçük harfe duyarlı vi komutları girmesine olanak tanır. daha fazla mektup. Hemen hemen hepsine, komutu o sayıda tekrarlamak için bir sayı eklenebilir.

Örneğin, yy (veya Y) geçerli satırın tamamını kopyalarken 3yy (veya 3Y) geçerli satırı kopyalar. mevcut satırın tamamı ve sonraki iki satır (toplamda 3 satır).

Esc tuşuna basarak her zaman komut moduna girebiliriz (üzerinde çalıştığımız moddan bağımsız olarak). Komut modunda klavye tuşlarının metin yerine komut olarak yorumlanması yeni başlayanlar için kafa karıştırıcı olabilir.

Vi Ex Modu

Ex modunda, dosyaları işleyebiliriz (geçerli bir dosyayı kaydetmek ve dış programları çalıştırmak dahil). Bu moda girmek için, komut modundan iki nokta üst üste (:) yazmamız ve ardından doğrudan kullanılması gereken ex-mode komutunun adını yazmamız gerekir. Bundan sonra vi otomatik olarak komut moduna döner.

Vi Ekleme Modu

Ekle modunda (bu moda girmek için genellikle i harfi kullanılır), yalnızca metni giriyoruz. Çoğu tuş vuruşu metnin ekranda görünmesiyle sonuçlanır (önemli bir istisna, ekleme modundan çıkıp komut moduna dönen Esc tuşudur).

Vi Komutlarının Kullanımı

Aşağıdaki tabloda yaygın olarak kullanılan vi komutlarının bir listesi gösterilmektedir. Dosya düzenleme komutları, komuta ünlem işareti eklenerek uygulanabilir (örneğin, :q! kaydetmeden çıkmayı zorlar).

 Key Command

 Açıklama

 h or left arrow

Bir karakter sola git

 j or down arrow

Bir satır aşağı git

 k or up arrow

Bir satır yukarı git

 l (lowercase L) or right arrow

Bir karakter sağa git

 H

Ekranın en üstüne git

 L

Ekranın alt kısmına git

 G

Dosyanın sonuna git

 w

Bir kelime sağa git

 b

Bir kelime sola git

 0 (zero)

Geçerli satırın başına git

 ^

Geçerli satırdaki ilk boş olmayan karaktere git

 $

Geçerli satırın sonuna git

 Ctrl-B

Bir ekran geri git

 Ctrl-F

Bir ekran ileri git

 i

Geçerli imleç konumuna ekle

 I (uppercase i)

Geçerli satırın başına ekle

 J (uppercase j)

Geçerli satırı bir sonrakiyle birleştir (sonraki dizilişe git)

 a

Geçerli imleç konumundan sonra ekle

 o (lowercase O)

Geçerli satırdan sonra boş bir satır oluşturur

 O (uppercase o)

Geçerli satırdan önce boş bir satır oluşturur

 r

Geçerli imleç konumundaki karakteri değiştir

 R

Geçerli imleç konumunun üzerine yaz

 x

Geçerli imleç konumundaki karakteri sil

 X

Geçerli imleç konumunun hemen öncesindeki (soldaki) karakteri silin

 dd

Geçerli satırın tamamını kesin (daha sonra yapıştırmak için)

 D

Geçerli imleç konumundan satırın sonuna kadar kes (bu komut d$'a eşdeğerdir)

 yX

Bir X hareket komutu verin, geçerli imleç konumundan uygun sayıda karakter, kelime veya satırı kopyalayın (çekin)

 yy or Y

Geçerli satırın tamamını çekin (kopyalayın)

 p

Geçerli imleç konumundan sonra (sonraki satır) yapıştır

 P

Geçerli imleç konumunun öncesine (önceki satıra) yapıştır

 . (period)

Son komutu tekrarla

 u

Son komutu geri al

 U

Son satırdaki son komutu geri alın. Bu, imleç hala satırda olduğu sürece çalışacaktır.

 n

Aramada sonraki eşleşmeyi bulun

 N

Aramada önceki eşleşmeyi bulma

 :n

Sonraki dosya; Düzenleme için birden fazla dosya belirtildiğinde bu komut sonraki dosyayı yükler.

 :e file

Dosyayı geçerli dosyanın yerine yükleyin.

 :r file

Dosyanın içeriğini geçerli imleç konumundan sonra (sonraki satır) ekleyin

 :q

Değişiklikleri kaydetmeden çıkın.

 :w file

Geçerli arabelleği bir dosyaya yazın. Mevcut bir dosyaya eklemek için :w >> file komutunu kullanın.

 :wq

Geçerli dosyanın içeriğini yazın ve çıkın. x'e eşdeğer! ve ZZ

 :r! command

Komutu yürütün ve çıktıyı mevcut imleç konumundan sonra (sonraki satır) ekleyin.

Vi Seçenekleri

vim'i çalıştırırken aşağıdaki seçenekler kullanışlı olabilir (bunları ~/.vimrc dosyamıza eklememiz gerekir).

echo set number >> ~/.vimrc
echo syntax on >> ~/.vimrc
echo set tabstop=4 >> ~/.vimrc
echo set autoindent >> ~/.vimrc

  • numarayı ayarla, vi mevcut veya yeni bir dosyayı açtığında satır numaralarını gösterir.
  • sözdizimi açık, kodu ve yapılandırma dosyalarını daha okunabilir hale getirmek için sözdizimi vurgulamayı (birden fazla dosya uzantısı için) açar.
  • set tabstop=4 sekme boyutunu 4 boşluğa ayarlar (varsayılan değer 8'dir).
  • set autoindent önceki girintiyi sonraki satıra taşır.

Vi'de Metin Arama ve Değiştirme

vi, aramalara göre imleci belirli bir konuma (tek bir satıra veya dosyanın tamamına) taşıma yeteneğine sahiptir. Ayrıca kullanıcının onayı olsun ya da olmasın metin değiştirme işlemleri de gerçekleştirebilir.

Bir Hat İçinde Arama

f komutu bir satırı arar ve imleci geçerli satırda belirtilen karakterin bir sonraki geçtiği yere taşır.

Örneğin, fh komutu, imleci geçerli satırdaki h harfinin bir sonraki örneğine hareket ettirir. f harfinin veya aradığınız karakterin ekranınızın herhangi bir yerinde görünmeyeceğini, ancak Enter tuşuna bastığınızda karakterin vurgulanacağını unutmayın.

Örneğin, komut modunda f4 tuşuna bastıktan sonra elde ettiğim şey bu.

Tüm Dosyanın Aranması

/ komutunu ve ardından aranacak kelimeyi veya ifadeyi kullanın. Bir arama, n komutuyla önceki arama dizesi veya sonraki arama dizesi (N komutu kullanılarak) kullanılarak tekrarlanabilir. Bu, komut modunda /Jane yazmanın sonucudur.

Metni Ara ve Değiştir

Vi, bir satır aralığı veya bir dosyanın tamamı üzerinde değiştirme işlemlerini gerçekleştirmek için (sed'inkine benzer) bir komut kullanır.

Dosyanın tamamı için “eski” kelimesini “young” olarak değiştirmek için aşağıdaki komutu girmeliyiz.

 :%s/old/young/g 

Dikkat: Komutun başlangıcındaki iki nokta üst üste.

İki nokta üst üste (:) ex komutunu başlatır, bu durumda s (değiştirme için), % bir ilk satırdan son satıra kadar olan kısayol anlamına gelir (aralık aynı zamanda n,m olarak da belirtilebilir, bu da “satır n'den m satırına anlamına gelir) ”), eski arama modelidir, genç ise değiştirme metnidir ve g, değiştirmenin her durumda gerçekleştirilmesi gerektiğini belirtir dosyadaki arama dizesinin.

Alternatif olarak, herhangi bir değişiklik yapmadan önce onay istemek için komutun sonuna bir c eklenebilir.

:%s/old/young/gc

Orijinal metni yenisiyle değiştirmeden önce vi/m bize aşağıdaki mesajı sunacaktır.

  • y: değişikliği gerçekleştirin (evet)
  • n: bu tekrarı atla ve bir sonrakine geç (hayır)
  • a: değiştirmeyi bu örnekte ve modelin sonraki tüm örneklerinde gerçekleştirin.
  • q veya Esc: değiştirmeyi bırakın.
  • l (küçük L): bu değişikliği gerçekleştirin ve çıkın (sonuncu).
  • Ctrl-e, Ctrl-y: Önerilen değişikliğin içeriğini görüntülemek için sırasıyla aşağı ve yukarı kaydırın.

Vi'de Birden Çok Dosyayı Düzenleme

Komut istemimize vim dosya1 dosya2 dosya3 yazalım.

vim file1 file2 file3

İlk olarak vim dosya1'i açacaktır. Bir sonraki dosyaya (dosya2) geçmek için :n komutunu kullanmamız gerekiyor. Bir önceki dosyaya dönmek istediğimizde :N işi yapacaktır.

dosya1'den dosya3'e geçiş yapmak için.

a). :buffers komutu, o anda düzenlenmekte olan dosyanın bir listesini gösterecektir.

:buffers

b). :buffer 3 komutu (sonunda s olmadan) dosya3'ü düzenleme için açacaktır.

Yukarıdaki resimde, kare işareti (#) dosyanın o anda açık ancak arka planda olduğunu belirtirken, %a o anda düzenlenmekte olan dosyayı işaretler.

Öte yandan dosya numarasından sonra gelen boşluk (yukarıdaki örnekte 3) dosyanın henüz açılmadığını gösterir.

Geçici Vi Tamponları

Ardışık birkaç satırı (örneğin 4 diyelim) a adlı (bir dosyayla ilişkili olmayan) geçici bir arabelleğe kopyalamak ve bu satırları daha sonra geçerli vi dosyasında dosyanın başka bir bölümüne yerleştirmek için bölümünde yapmamız gerekenler…

  • vi Komut modunda olduğumuzdan emin olmak için ESC tuşuna basın.
  • İmleci kopyalamak istediğimiz metnin ilk satırına getirin.
  • Geçerli satırı sonraki 3 satırla birlikte a adlı bir ara belleğe kopyalamak için “a4yy” yazın. Dosyamızı düzenlemeye devam edebiliriz; kopyalanan satırları hemen eklememize gerek yok.
  • Kopyalanan satırların konumuna ulaştığımızda, kopyalanan satırları < adlı ara belleğe eklemek için p veya P komutlarından önce “a kullanın. b>a:

    1. İmlecin bulunduğu geçerli satırdan sonra arabelleğe kopyalanan satırları eklemek için “ap yazın.
    2. Arabellek a'ya kopyalanan satırları geçerli satırın önüne eklemek için “aP yazın.

Dilersek tamponun içeriğini dosyamızda birden çok yere eklemek için yukarıdaki adımları tekrarlayabiliriz. Bu bölümdeki gibi geçici bir arabellek, geçerli pencere kapatıldığında atılır.

Özet

Gördüğümüz gibi vi/m, CLI için güçlü ve çok yönlü bir metin düzenleyicisidir. Aşağıda kendi hilelerinizi ve yorumlarınızı paylaşmaktan çekinmeyin.

Güncelleme: VI düzenleme becerilerinizi geliştirmek istiyorsanız, size bazı konularda rehberlik edecek aşağıdaki iki kılavuzu okumanızı öneririm. yararlı VI düzenleyici püf noktaları ve ipuçları.

LFCS e-Kitabı artık satın alınabilir. Kopyanızı bugün sipariş edin ve sertifikalı bir Linux sistem yöneticisi olma yolculuğunuza başlayın!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Son olarak, lütfen bize küçük bir komisyon kazandırmak için aşağıdaki bağlantıları kullanarak sınav kuponunuzu satın almayı düşünün; bu, bu kitabı güncel tutmamıza yardımcı olacaktır.