Unix / Linux - vi Editör Eğitimi
Bu bölümde vi Düzenleyicinin Unix'te nasıl çalıştığını anlayacağız. Unix'te dosyaları düzenlemenin birçok yolu vardır. Ekran yönelimli metin düzenleyiciyi kullanarak dosyaları düzenlemevien iyi yollardan biridir. Bu düzenleyici, satırları dosyadaki diğer satırlarla bağlam içinde düzenlemenizi sağlar.
Vi editörünün geliştirilmiş bir versiyonu olan VIMşimdi de kullanıma sunulmuştur. Burada VIM,Vi IMkanıtlanmış.
vi genellikle Unix editörlerinde fiili standart olarak kabul edilir çünkü -
Genellikle Unix sisteminin tüm çeşitlerinde bulunur.
Uygulamaları genel olarak çok benzer.
Çok az kaynak gerektirir.
Diğer editörlerden daha kullanıcı dostudur. ed ya da ex.
Kullanabilirsiniz vidüzenleyici, mevcut bir dosyayı düzenlemek veya sıfırdan yeni bir dosya oluşturmak için. Bu düzenleyiciyi yalnızca bir metin dosyasını okumak için de kullanabilirsiniz.
Vi Düzenleyiciyi Başlatma
Aşağıdaki tablo vi düzenleyiciyi kullanmak için temel komutları listeler -
Sr.No. | Komut ve Açıklama |
---|---|
1 | vi filename Zaten mevcut değilse yeni bir dosya oluşturur, aksi takdirde mevcut bir dosyayı açar. |
2 | vi -R filename Salt okunur modda var olan bir dosyayı açar. |
3 | view filename Salt okunur modda var olan bir dosyayı açar. |
Aşağıda, yeni bir dosya oluşturmak için bir örnek verilmiştir testfile mevcut çalışma dizininde zaten yoksa -
$vi testfile
Yukarıdaki komut aşağıdaki çıktıyı üretecektir -
|
~
~
~
~
~
~
~
~
~
~
~
~
"testfile" [New File]
Fark edeceksin tildeİmleci takip eden her satırda (~). Tilde, kullanılmayan bir satırı temsil eder. Bir satır tilde ile başlamıyorsa ve boş görünüyorsa, bir boşluk, sekme, yeni satır veya başka bir görüntülenemeyen karakter mevcuttur.
Artık üzerinde çalışmaya başlamak için bir açık dosyanız var. Daha fazla ilerlemeden önce, birkaç önemli kavramı anlayalım.
Operasyon Modları
Vi editörü ile çalışırken, genellikle aşağıdaki iki modla karşılaşırız -
Command mode- Bu mod, dosyaları kaydetme, komutları uygulama, imleci hareket ettirme, satırları veya sözcükleri kesme (çekme) ve yapıştırmanın yanı sıra bulma ve değiştirme gibi yönetim görevlerini gerçekleştirmenizi sağlar. Bu modda, yazdığınız her şey bir komut olarak yorumlanır.
Insert mode- Bu mod, dosyaya metin eklemenizi sağlar. Bu modda yazılan her şey girdi olarak yorumlanır ve dosyaya yerleştirilir.
vi her zaman command mode. Metin girmek için, basitçe yazan ekleme modunda olmalısınızi. Ekleme modundan çıkmak için,Esc Sizi komut moduna geri götürecektir.
Hint- Hangi modda olduğunuzdan emin değilseniz, Esc tuşuna iki kez basın; bu sizi komut moduna götürecektir. Vi düzenleyicisini kullanarak bir dosya açarsınız. Birkaç karakter yazarak başlayın ve ardından farkı anlamak için komut moduna gelin.
Vi'den çıkmak
Vi'den çıkma komutu şudur: :q. Komut kipindeyken, iki nokta üst üste ve 'q' yazın, ardından return. Dosyanız herhangi bir şekilde değiştirilmişse, düzenleyici sizi bu konuda uyaracak ve çıkmanıza izin vermeyecektir. Bu mesajı yok saymak için, vi'den kaydetmeden çıkma komutu::q!. Bu, herhangi bir değişikliği kaydetmeden vi'den çıkmanıza izin verir.
Düzenleyicinin içeriğini kaydetme komutu :w. Yukarıdaki komutu quit komutuyla birleştirebilir veya:wq ve dönüş.
En kolay yol save your changes and exit viZZ komutu ile. Komut modundayken yazınZZ. ZZ komutu ile aynı şekilde çalışır :wq komut.
Dosya için herhangi bir belirli ad belirtmek / belirtmek istiyorsanız, bunu dosyadan sonra belirterek yapabilirsiniz. :w. Örneğin, üzerinde çalıştığınız dosyayı başka bir dosya adı olarak kaydetmek istersenizfilename2sen yazarsın :w filename2 ve dönüş.
Dosya İçinde Hareket Etme
Metninizi etkilemeden dosya içinde hareket etmek için komut modunda olmalısınız (iki kez Esc tuşuna basın). Aşağıdaki tablo, bir seferde bir karakter hareket etmek için kullanabileceğiniz birkaç komutu listelemektedir -
Sr.No. | Komut ve Açıklama |
---|---|
1 | k İmleci bir satır yukarı taşır |
2 | j İmleci bir satır aşağı taşır |
3 | h İmleci sola bir karakter pozisyonu hareket ettirir |
4 | l İmleci bir karakterlik sağa hareket ettirir |
Bir dosya içinde hareket etmek için aşağıdaki noktaların dikkate alınması gerekir -
vi, büyük / küçük harfe duyarlıdır. Komutları kullanırken büyük harf kullanımına dikkat etmeniz gerekir.
Vi'daki çoğu komut, eylemin gerçekleşmesini istediğiniz sayıda önceleri olabilir. Örneğin,2j imleci imleç konumunda iki satır aşağı taşır.
Vi'de bir dosya içinde hareket etmenin başka birçok yolu vardır. Komut modunda olmanız gerektiğini unutmayın (press Esc twice). Aşağıdaki tablo dosya içinde hareket etmek için birkaç komut listelemektedir -
Sr.No. | Komut ve Açıklama |
---|---|
1 | 0 or | İmleci bir satırın başlangıcına konumlandırır |
2 | $ İmleci bir satırın sonuna konumlandırır |
3 | w İmleci bir sonraki kelimeye konumlandırır |
4 | b İmleci bir önceki kelimeye konumlandırır |
5 | ( İmleci mevcut cümlenin başına konumlandırır |
6 | ) İmleci sonraki cümlenin başına konumlandırır |
7 | E Sınırlandırılmış boş sözcüğün sonuna gider |
8 | { Paragrafı geriye taşır |
9 | } Paragrafı ileri taşır |
10 | [[ Bir bölümü geri taşır |
11 | ]] Bir bölümü ileri taşır |
12 | n| Sütuna gider n mevcut satırda |
13 | 1G Dosyanın ilk satırına gider |
14 | G Dosyanın son satırına gider |
15 | nG Taşınır nth dosyanın satırı |
16 | :n Taşınır nth dosyanın satırı |
17 | fc İleri gider c |
18 | Fc Geri döner c |
19 | H Ekranın en üstüne gider |
20 | nH Taşınır nth ekranın üstünden satır |
21 | M Ekranın ortasına gider |
22 | L Ekranın altına git |
23 | nL Taşınır nth ekranın altından satır |
24 | :x İki nokta üst üste ve ardından bir sayı, imleci ile gösterilen satır numarasına konumlandırır. x |
Kontrol Komutları
Aşağıdaki komutlar, aşağıdaki tabloda verilen işlevleri gerçekleştirmek için Kontrol Tuşuyla birlikte kullanılabilir -
Sr.No. | Komut ve Açıklama |
---|---|
1 | CTRL+d 1/2 ekran ileri gider |
2 | CTRL+f Bir tam ekran ileri gider |
3 | CTRL+u 1/2 ekran geri gider |
4 | CTRL+b Bir tam ekran geri gider |
5 | CTRL+e Ekranı bir satır yukarı taşır |
6 | CTRL+y Ekranı bir satır aşağı taşır |
7 | CTRL+u Ekranı 1/2 sayfa yukarı taşır |
8 | CTRL+d Ekranı 1/2 sayfa aşağı taşır |
9 | CTRL+b Ekranı bir sayfa yukarı taşır |
10 | CTRL+f Ekranı bir sayfa aşağı taşır |
11 | CTRL+I Ekranı yeniden çizer |
Dosyaları Düzenleme
Dosyayı düzenlemek için, ekleme modunda olmanız gerekir. Komut modundan ekleme moduna girmenin birçok yolu vardır -
Sr.No. | Komut ve Açıklama |
---|---|
1 | i Mevcut imleç konumundan önce metin ekler |
2 | I Mevcut satırın başına metin ekler |
3 | a Mevcut imleç konumundan sonra metin ekler |
4 | A Mevcut satırın sonuna metin ekler |
5 | o İmleç konumunun altında metin girişi için yeni bir satır oluşturur |
6 | O İmleç konumunun üzerinde metin girişi için yeni bir satır oluşturur |
Karakterleri Silme
İşte açık bir dosyadaki karakterleri ve satırları silmek için kullanılabilecek önemli komutların bir listesi -
Sr.No. | Komut ve Açıklama |
---|---|
1 | x İmleç konumunun altındaki karakteri siler |
2 | X İmleç konumundan önceki karakteri siler |
3 | dw Mevcut imleç konumundan sonraki kelimeye kadar siler |
4 | d^ Mevcut imleç konumundan satırın başına kadar siler |
5 | d$ Mevcut imleç konumundan satırın sonuna kadar siler |
6 | D İmleç konumundan geçerli satırın sonuna kadar siler |
7 | dd İmlecin bulunduğu satırı siler |
Yukarıda bahsedildiği gibi, vi'deki çoğu komut eylemin gerçekleşmesini istediğiniz sayıda önsöz olabilir. Örneğin,2x imleç konumunun altındaki iki karakteri siler ve 2dd imlecin üzerinde bulunduğu iki satırı siler.
Daha ileri gitmeden önce komutların alıştırma yapılması önerilir.
Komutları Değiştir
Ayrıca, vi'deki karakterleri, sözcükleri veya satırları silmeden değiştirme olanağına da sahipsiniz. İşte ilgili komutlar -
Sr.No. | Komut ve Açıklama |
---|---|
1 | cc Satır içeriğini kaldırarak sizi ekleme modunda bırakır. |
2 | cw İmlecin bulunduğu kelimeyi imleçten küçük harfe değiştirir w kelimenin sonu. |
3 | r İmlecin altındaki karakteri değiştirir. vi, değiştirme girildikten sonra komut moduna döner. |
4 | R O anda imlecin altında bulunan karakterden başlayarak birden çok karakterin üzerine yazar. KullanmalısınEsc üzerine yazmayı durdurmak için. |
5 | s Mevcut karakteri yazdığınız karakterle değiştirir. Daha sonra, ekleme modunda kalırsınız. |
6 | S İmlecin üzerinde olduğu satırı siler ve yeni metinle değiştirir. Yeni metin girildikten sonra vi, ekleme modunda kalır. |
Komutları Kopyala ve Yapıştır
Satırları veya kelimeleri bir yerden kopyalayabilir ve ardından aşağıdaki komutları kullanarak bunları başka bir yere yapıştırabilirsiniz:
Sr.No. | Komut ve Açıklama |
---|---|
1 | yy Mevcut satırı kopyalar. |
2 | yw Mevcut kelimeyi küçük harf w imlecinin üzerinde bulunduğu karakterden kelimenin sonuna kadar kopyalar. |
3 | p Kopyalanan metni imlecin arkasına koyar. |
4 | P Çekilmiş metni imlecin önüne koyar. |
Gelişmiş Komutlar
Günlük düzenlemeyi basitleştiren ve vi'nin daha verimli kullanımına izin veren bazı gelişmiş komutlar vardır -
Sr.No. | Komut ve Açıklama |
---|---|
1 | J Mevcut satırı bir sonrakiyle birleştirir. Bir dizi j komutu birçok satıra katılır. |
2 | << Mevcut satırı bir kaydırma genişliği kadar sola kaydırır. |
3 | >> Mevcut satırı bir kaydırma genişliği kadar sağa kaydırır. |
4 | ~ İmlecin altındaki karakterin büyük / küçük harf durumunu değiştirir. |
5 | ^G Mevcut dosya adını ve durumu göstermek için Ctrl ve G tuşlarına aynı anda basın. |
6 | U Mevcut satırı, imleç satıra girmeden önceki durumuna geri yükler. |
7 | u Bu, dosyada yapılan son değişikliğin geri alınmasına yardımcı olur. Tekrar 'u' yazmak, değişikliği yeniden yapacaktır. |
8 | J Mevcut satırı bir sonrakiyle birleştirir. Bir sayı bu kadar satıra katılır. |
9 | :f Dosyadaki mevcut konumu% olarak ve dosya adını, toplam dosya sayısını görüntüler. |
10 | :f filename Mevcut dosyayı dosya adı olarak yeniden adlandırır. |
11 | :w filename Dosya adını yazar. |
12 | :e filename Dosya adıyla başka bir dosya açar. |
13 | :cd dirname Mevcut çalışma dizinini dirname olarak değiştirir. |
14 | :e # İki açık dosya arasında geçiş yapar. |
15 | :n Vi kullanarak birden fazla dosya açmanız durumunda, şunu kullanın: :n Serideki sonraki dosyaya gitmek için. |
16 | :p Vi kullanarak birden fazla dosya açmanız durumunda, şunu kullanın: :p Serideki önceki dosyaya gitmek için. |
17 | :N Vi kullanarak birden fazla dosya açmanız durumunda, şunu kullanın: :N Serideki önceki dosyaya gitmek için. |
18 | :r file Dosyayı okur ve mevcut satırdan sonra ekler. |
19 | :nr file Dosyayı okur ve satırdan sonra ekler n. |
Kelime ve Karakter Arama
Vi düzenleyicinin iki tür araması vardır: string ve character. Bir dize araması için,/ ve ?komutlar kullanılır. Bu komutları başlattığınızda, az önce yazdığınız komut, aranacak dizeyi yazdığınız ekranın son satırında gösterilecektir.
Bu iki komut yalnızca aramanın gerçekleştiği yönde farklılık gösterir -
/ komut dosyada ileriye (aşağı doğru) arama yapar.
? komut dosyada geriye doğru (yukarı doğru) arama yapar.
n ve Nkomutlar önceki arama komutunu sırasıyla aynı veya ters yönde tekrarlar. Bazı karakterlerin özel anlamları vardır. Bu karakterlerden önce ters eğik çizgi (\) arama ifadesinin bir parçası olarak dahil edilecektir.
Sr.No. | Karakter açıklaması |
---|---|
1 | ^ Satırın başında arar (Bir arama ifadesinin başında kullanın). |
2 | . Tek bir karakterle eşleşir. |
3 | * Önceki karakterin sıfır veya daha fazlasıyla eşleşir. |
4 | $ Satırın sonu (Arama ifadesinin sonunda kullanın). |
5 | [ Bir dizi eşleşen veya eşleşmeyen ifade başlatır. |
6 | < Bu, bir kelimenin sonunu veya başlangıcını bulmak için ters eğik çizgi ile kaçan bir ifadeye eklenir. |
7 | > Bu, '<'karakter açıklaması yukarıda. |
Karakter araması, komuttan sonra girilen bir karakteri bulmak için bir satır içinde arama yapar. f ve F komutlar yalnızca geçerli satırdaki bir karakteri arar. f ileriye doğru arar ve F geriye doğru arar ve imleç bulunan karakterin konumuna hareket eder.
t ve T komutlar yalnızca geçerli satırda bir karakter arar, ancak t, imleç, karakterden önceki konuma hareket eder ve T satırı geriye doğru karakterden sonraki konuma doğru arar.
Komutları Ayarla
Aşağıdakileri kullanarak vi ekranınızın görünümünü ve hissini değiştirebilirsiniz. :setkomutlar. Komut modundayken şunu yazın::set ardından aşağıdaki komutlardan herhangi biri.
Sr.No. | Komut ve Açıklama |
---|---|
1 | :set ic Arama yaparken durumu yok sayar |
2 | :set ai Otomatik girintiyi ayarlar |
3 | :set noai Otomatik girintiyi kaldırır |
4 | :set nu Sol tarafta satır numaraları olan satırları görüntüler |
5 | :set sw Yazılım sekme durdurucusunun genişliğini ayarlar. Örneğin, bu komutla 4 kaydırma genişliğini ayarlarsınız -:set sw = 4 |
6 | :set ws Eğer wrapscan ayarlanır ve word dosyası altında bulunan edilmez, başında onu ararken çalışacağız |
7 | :set wm Bu seçenek sıfırdan büyük bir değere sahipse, düzenleyici otomatik olarak "kelime kaydırma" yapacaktır. Örneğin, kaydırma kenar boşluğunu iki karaktere ayarlamak için şunu yazarsınız::set wm = 2 |
8 | :set ro Dosya türünü "salt okunur" olarak değiştirir |
9 | :set term Terminal türünü yazdırır |
10 | :set bf Girişten kontrol karakterlerini atar |
Çalıştırma Komutları
Vi, düzenleyicinin içinden komutları çalıştırma yeteneğine sahiptir. Bir komutu çalıştırmak için, sadece komut moduna gidip yazmanız gerekir.:! komut.
Örneğin, dosyanızı o dosya adıyla kaydetmeye çalışmadan önce bir dosyanın var olup olmadığını kontrol etmek istiyorsanız, yazabilirsiniz. :! ls ve çıktısını göreceksiniz ls ekranda.
Vi oturumunuza dönmek için herhangi bir tuşa (veya komutun çıkış sırasına) basabilirsiniz.
Metni Değiştirmek
Değiştirme komutu (:s/), dosyalarınızdaki kelimeleri veya kelime gruplarını hızlı bir şekilde değiştirmenizi sağlar. Metnin yerini alacak sözdizimi aşağıdadır -
:s/search/replace/g
gküresel olarak duruyor. Bu komutun sonucu, imlecin satırındaki tüm oluşumların değişmesidir.
Dikkat Edilmesi Gereken Önemli Noktalar
Aşağıdaki noktalar vi ile başarınıza katkıda bulunacaktır -
Komutları kullanmak için komut modunda olmalısınız. (Komut modunda olduğunuzdan emin olmak için herhangi bir zamanda Esc tuşuna iki kez basın.)
Komutlara dikkat etmelisiniz. Bunlar büyük / küçük harfe duyarlıdır.
Metin girmek için ekleme modunda olmalısınız.