linux

Vim

İçerik desteklenmiyor Jun 13, 2021 6 min

Vim

İçerik desteklenmiyor

Bu blok, Evernote’un bu sürümünde desteklenmeyen bir Erken Erişim özelliği olan Görevler’e ait yer tutucudur. Bu bloku silmek veya taşımak Evernote’un yeni sürümlerinde beklenmedik davranışlara yol açabilir. Lütfen Evernote’u en son sürüme güncelleyin.

Vim unix işletim sistemi için geliştirilmiş bir metin editörüdür. Bir programlama dili  yaklaşımıyla

geliştirilmiştir o nedenle güçlü bir editördür. Basit konfigürasyon dosyalarını düzenlemek için kullanabilieceğimiz gibi eklentileri ile bir kodlama editörüne de dönüşebilmektedir.

Bir linux kullanıcısının editördeki yetkinliği onun güçlü olmasını sağlayacaktır. O nedenle hem kullanıdığınız editör güçlü olsun hem de siz.

Kullanımı: vi dosya_adi

Vim Modları

Komut Modu: Bu mod, vim ile bir dosyayı açtığımızda, editör alanına ilk girdiğinizde vim’in kullandığı moddur; bazen normal mod olarak adlandırılır. Burada vim komutlarını kullanmak mümkündür.

Ekleme (Insert) Mod:  Ekleme modu ingilizce insert mode’dur. Ekleme, düzenleme veya giriş modu olarak da adlandırılır. Ben insert mod demeyi tercih ediyorum. En basit şekliyle düzenleme ve yazı yazma yaptığımız moddur. Intert moduna girmek için komut modundayken <i/I> veya <a/A> tuşuna basılarak girilir. Bu modda olduğunuzu, mesaj alanında –Insert– mesajı gördüğünüzde anlayailirisiniz. Esc tuşuna basarak bu moddan çıkarsınız.

Ex Mod: Bu modda en alt satırdaki mesaj bölümünde iki nokta üst üste (:) bulunur. Buraya komutlar girilerek değişik görevler yerine getirilebiliriz. Örneğin, vim düzenleyiciden çıkmak ve herhangi bir değişikliği kaydetmemek için şunu yazın: q ve Enter tuşuna basın.

Görsel (Visual) Mod: Görsel Mod, metin seçmenin bir yoludur. Normal Mod’a çok benzer, ancak imleç hareketleriniz vurgulamanızı değiştirir. Metni hem karakter hem de satır bazında seçebilirsiniz ve bu modlardan birinde hareketleriniz daha fazla metin seçer. Görsel Modun amacı, vurguladığınız tüm içerik üzerinde bazı işlemler gerçekleştirmektir, bu da onu çok güçlü kılar.

INPUT KOMUTLARI

a
İmleçten sonra ekle
A
Satırın sonuna ekle
i
İmleçten önce ekle
I
Satırın başına ekle
o
mevcut satırın altında yeni bir satır aç
O
mevcut satırın üzerinde yeni bir satır aç
:r file
Geçerli satırdan sonra dosya ekle

DEĞİŞTİRME KOMUTLARI

r<karakter>  ör: rf
İmlecinizin altındaki bir karakteri değiştirin, örnekte f ile değişir.
R
İmlecinizin altındaki karakterden itibaren değiştirmenize izin verir,  daha sonra yazmaya devam edebilirsiniz.
C
bulunduğunuz yerden itibaren olduğunuz satırı silin ve  insert moda geç.
cw
imlecin bulunduğu yerden itibaren kelimeyi sil (Change word)
c$
İmlecin bulunduğu yerden satır sonuna kadar sil  ve  insert moda geç.
ct<karakter> ör: ct?
Karakterin olduğu yere kadar sil  ve  insert moda geç.
s
Bir karakter sil  ve  insert moda geç.
S
Satırı sil  ve  insert moda geç.
~
büyük harfi küçük, küçük harfi büyük yapar.
gu<ENTER>
cümleyi küçük hark yap
gU<ENTER>
cümleyi BÜYÜK HARF yap
guu
satırı küçük harf yap
gUU
satırı BÜYÜK HARF yap

Insert Modu Sırasında Silme Komutları

<CTRL>h
Önceki bir karakteri sil
<CTRL>w
Önceki bir kelimeyi sil
<CTRL>u
Önceki satırı sil

DOYSA YÖNETME KOMUTLARI

:w zyeni_dosya
dosyanın mevcut halini yeni_dosya adındaki dosyaya kaydet.
:q!
Kaydetmeden çık
:wq |
Kaydet ve çık
😡
:wq
ZZ
:wq
:sh
dosyadan çıkamdan shell komutları çalıştırmak için verilen komuttur. Çıkmak için terminal’e exit komutu verilir.
:saveas  ~/some/path/
Dosyayı farklı isimle başka dizine kaydetme

İMLEÇ HARAKETLERİ

H
Ekranın en üstüne git
M
Ekranın ortasına git
L
Ekranın altına git
j
j: bir satır aşağı git
k
k: bir satır yukarı git
h
h: bir karakter sola git
l
l: bir karakter sağa git
w
bir kelime ileri git
b
bir kelime geri git
e
bulunduğun kelimenin son karakterine imleci götür.
(
bir cümle geri git
)
bir cümle ileri git
[
bir paragraf geri git
]
bir paragraf ileri git
^
satır başına git (home)
$
satır sonu (end)
gg
Dosyanın en üstüne git
G
Dosyanın en altına git

BUL VE GİT

f<karakter>  ör:fa
ilk karakter (a’yı) bul ve git
t<karakter>  ör:ta
ilk karakter (a’yı) bul ve git. imleç karakterden önceye taşınır.
F<karakter>  ör:Fa
önceki ilk karakteri (a’yı) bul ve git
T<karakter>  ör:Ta
önceki ilk karakteri (a’yı) bul ve git. İmleç sonraki karakterin üstüne gider.
*
imlecin üzerinde bulunduğu kelimeyi ara ve git.
;
bir karaktere atladığında sonraki örneğe git
,
bir karaktere atladığınızda önceki örneğe git

BUL SİL

cf<karakter>
Belirli bir karaktere kadar olan tüm karakterleri silme,
ct<karakter>
Belirli bir karaktere kadar olan tüm karakterleri silme, karakterin kendisini silmez.

SİLMEK

dd
satırı sil
5dd
5 satır sil
dw
kelimeyi sil
d5w
5 kelime sil
db
önceki kelimeyi sil
x
karakteri sil
D
Satır sonuna kadar sil.  (Satır boş kalır)
d)
bulunduğun yerden kelimenin sonuna kadar sil.

YAPIŞTIR

p
Silinen veya kopyanan buffer’ı imleçten sonra yapıştır.
P
Silinen veya kopyanan buffer’ı imleçten önce yapıştır.

GERİ AL

u
Son değişikliği geri al
U
Tüm değişiklikleri geri al.

Kopyalama

yy veya Y
satırı kopyala
6yy
6 satırı kopyala
yw
kelimeyi kopyala

Ctrl-i: önceki navigasyon konumunuza atlar

Ctrl-o: bulunduğunuz yere geri dönün

Bir dil olarak VIM

Vim, isimler, fiiller ve zarflarla tamamlanmış bir dil gibi işlev görecek şekilde ayarlanmıştır.

Fiiller

Fiiller yaptığımız eylemlerdir ve isimler üzerinde gerçekleştirilebilirler. İşte bazı örnekler:

d: delete
c: change
y: yank (copy)
v: visually select (V for line vs. character)
f: jump

Değiştiriciler(Modifiers)

Değiştiriciler, isimlerden önce bir şeyi nasıl yapacağınızı açıklamak için kullanılır. Bazı örnekler:

i: inside
a: around
NUM: number (e.g.: 1, 2, 10)
t: searches for something and stops before it
f: searches for that thing and lands on it
/: find a string (literal or regex)

İsimler

İngilizcede isimler, bir şeyler yaptığınız nesnelerdir. Nesnelerdir. Vim ile aynı. İşte bazı Vim isimleri:

w: word
s: sentence
): sentence (another way of doing it)
p: paragraph
}: paragraph (another way of doing it)
t: tag (think HTML/XML)
b: block (think programming)

Hareket olarak isimler

İsimleri hareket olarak da kullanabilirsiniz, yani içeriğinizde onları zıplamanızın boyutu olarak kullanarak hareket edebilirsiniz. Aşağıdaki hareketli bölümde bunun örneklerini göreceğiz.

Bu dili kullanarak cümleler (komutlar) oluşturmak

Tamam, elimizde çeşitli parçalar var, peki bunları kullanarak nasıl bir cümle kurarsınız? Tıpkı İngilizce gibi, fiilleri, değiştiricileri ve isimleri sezgisel yollarla (yakında olacak) birleştirirsiniz.

# İki kelimeyi sil (Delete two words)

d2w

# Cümlenin içinde değiştir (mevcut olanı sil ve ekleme moduna gir) (Change inside sentence)

cis

# İçinde bulunduğunuz paragrafı kopyalayın(yank inside paragraph)

yip

ARAMA YAPMAK

Bir editörle yapmanız gereken ilk şeylerden biri, aradığınız metni bulmaktır. Vim’in son derece güçlü arama yetenekleri var ve şimdi bunlardan bazıları hakkında konuşacağız.

Vim’de arama yapmanın en temel ve güçlü yollarından biri, sizi pencerenizin altına götüren “/” komutunu girmek ve aradığınızı yazıp ENTER tuşuna basmaktır.

/arama_yaptıdığım_kelime

Aramanızı yaptıktan sonra, sonucun bir sonraki örneğine gitmek için “n” ye veya bir öncekine gitmek için “N” ye basabilirsiniz. Ayrıca “?” Kullanarak geriye doğru arayarak da başlayabilirsiniz. onun yerine “/”.

Konfigürasyon

Oldukça basit bir şekilde başlamanızı ve oradan devam etmenizi öneririm, ancak alabileceğiniz veya görmezden gelebileceğiniz birkaç önemli tavsiyem var. ~ / .Vimrc’de bulunan ana Vim yapılandırma dosyanızı düzenleyerek vim’i kurduktan sonra.

vi ~/vim/.vimrc

Bazı önerilen değişiklikler.

Modalar arası geçişler için ESC tuşu yerine başka tuş kombinasyonu kullanabilirsiniz.

inoremap jk <ESC>

Vim, klavye ile çalışan bir metin düzenleyicidir, bu da birçok klavye kısayolu ve komutu olduğu anlamına gelir. <leader> tuşu, kişiselleştirilmiş kısayollar oluşturmak için kullanılabilecek bir vim aracıdır.

let mapleader = ","

Varsayılan olarak, kısayolunuzu yazmak için lider tuşunuzu yazdıktan sonra 1000 ms süreniz vardır. Bu değer, vimrc’nizde zaman aşımı ayarlayarak ayarlanabilir.

set timeoutlen 500

Bu iki hızlı modla, sol veya sağ serçe parmağınızı ana sıradan hareket ettirmek zorunda kalmadan tüm ana Vim iş akışlarınızda hareket edebilirsiniz.

syntax on # highlight syntax
set number # show line numbers
set noswapfile # disable the swapfile
set hlsearch # highlight all results
set ignorecase # ignore case in search
set incsearch # show search results as you type
set list
Görünmez karakterleri göster ($, TAB vs.)
set nolist
Görünmez karakterleri gizle
set number
satır numarasını göster
set nonumber
satır numarasını gizle
set autoindent
Satır başından sonra girinti (yeni yazmaya başladığınız satır bir önceki satır ile aynı hizadan başlar
) normal modda: o veya O ile yeni satıra geçmeyi dene.
set noautoindent
kapat autoindent
set showmatch
Eşleşen parantez kümelerini yazılırken göster
set noshowmatch
kapat  noshowmatch
set showmode
Ekranın son satırında görüntüleme modu
set noshowmode
kapat  showmode
set all
tüm özellikleri göster

Eklenti Yönetimi

Eklenti yönetiminizi olabildiğince doğal tutmanızı öneririm, bu gerçekten sadece sizin için onları yöneten karmaşık üçüncü taraf işlevlerinden kaçınmak anlamına gelir. Bunu artık Vim 8.x ve NeoVim’de yapmak çok daha kolay. Eklentilerinizi aşağıya bırakın:

~/.vim/pack/pluginfoldername/start/pluginname

Artık yukarıdaki yöntemi kullanarak istediğiniz herhangi bir eklenti ile oynayabilirsiniz ve Vim başladığında otomatik olarak yüklenecektir. Bunu, daha önceki Vim sürümlerinde ihtiyaç duyduğumuz üçüncü taraf eklenti yönetimi seçeneklerine tercih ediyorum.

Silme:

x: imlecin altındaki karakteri yok et (sil)

X: imlecden önceki karakteri yok et (sil)

dd: satırı sil

dt . : bulunduğunuz yerden döneme kadar sil

D : satırın sonuna kadar sil

J: mevcut satırı bir sonrakiyle birleştir (arasını sil)

İŞLEMİ GERİ ALMA

u: son eyleminizi geri alın.

Ctrl-r: son eylemi yeniden yap

tekrar eden eylemler

dw: imcein bulunduğu kelimeyi sildim.

  1. :  bu işlemi 5 defa tekrarladım. yani 5 kelime daha sildim.

kopyala yapıştır

y: seçileni kopyala (kopyala) yy: mevcut satırı çek

p: kopyalanan (veya silinen) metni mevcut imleç konumundan sonra yapıştır

P: kopyalanan (veya silinen) metni mevcut imleç konumundan önce yapıştır

yy-p: satırı kopyala yapıştır.

dd-p: satırı sil (kes) yapıştır.

Bul değiştir

Her satırda “foo” yu “bar” olarak değiştirin

:%s /foo/bar/g

Sadece mevcut satırda “foo” yu “bar” olarak değiştirin

:s /foo/bar/g

Your email address will not be published. Required fields are marked *