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.
- : 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