Genellikle komut modunda, özellikle satırlara atlayarak, vb.
vimtutor
harika. Muhtemelen bunu bilmiyorlardı?
Genellikle komut modunda, özellikle satırlara atlayarak, vb.
vimtutor
harika. Muhtemelen bunu bilmiyorlardı?
Yanıtlar:
Sadece $ (dolar işareti) tuşu. Sen kullanabilirsiniz Asatırın sonuna taşımak ve düzenleme modu (Append) geçin. Son boş olmayan karakteri atlamak için önce tuşuna, gsonra _tuşlarına basabilirsiniz .
Karşıt Aolan Ibir kenara (satır başında yerleştirin modu). Sadece düğmesine basmak ^imlecinizi satırın boşluk olmayan ilk karakterine yerleştirecektir.
g_
g_
boş karakterler içermediğinden varyasyon daha yararlıdır
Birçok insanın dediği gibi:
Ayrıca:
|
komutu sayılabilir, örneğin 3 | Üçüncü sütuna atlamak için.
g _ boşluk olmayan son karaktere gider.
g $ ekran satırının sonuna gider (bir tampon satırı birden çok ekran çizgisine sarıldığında)
b
hiç aynı şey olmayan bir önceki kelimenin başına gider. Kabaca buna eşit $ge
.
_
ve g_
gibi görsel / yanking için $
de kopyalar / Yeni hat (LN) karakteri silin.
g_
hattın asıl sonuna ulaşmak için bulduğum tek yol.
$
için sarılsa bile hattın sonuna gider. Davranışını ayarlamak için hiçbir ayar bilmiyorum. Belki .vimrc tarafından yeniden eşleştirildi g$
?
Ana soru - satır sonu
$ satırın sonuna gider, komut modunda kalır
A satır sonuna gider, ekleme moduna geçer
Tersine - satır başlangıcı (teknik olarak ilk boşluk olmayan karakter)
^ satırın başına gider, komut modunda kalır
I (büyük harf i) satırın başına gider, ekleme moduna geçer
İleri - satır başlangıcı (teknik olarak boşluktan bağımsız olarak ilk sütun )
0 (sıfır) satırın başına gider, komut modunda kalır
0i (sıfırın ardından küçük harf i) satırın başına gider, ekleme moduna geçer
Vi öğrenmeye başlayanlar için vi'yi tipik Windows GUI Düzenleyicisi imleç hareketi ve kısayol tuşlarına yan yana listeleyerek vi'ye iyi bir giriş.
I
değil 0
ama ^
, hem de I
ve ^
ilk gidin boşluk olmayan hattının karakteri ama 0
(adından da anlaşılacağı gibi) kolonuna sıfır gider.
0
olacağını bulamayacağımı düşündüm ? (satırın ilk karakterine (= sütun 0) gidin ve ekleme moduna gidin)
0i
. :-)
Geçerli satırınız görünür ekranın etrafındaki bir sonraki satıra sarılırsa, ekran satırının sonuna ulaşmak için g $ kullanabilirsiniz .
gw
ve gq
metni yeniden biçimlendiren komutlarsanız. (bakınız :h gw
ve :h gq
) Muhtemelen olan şey, gw{motion}
ekran satırlarının gerçek satırlara karşılık gelmesi için bazı metinleri değiştirip değiştirmiş olmanızdı .
Dolar işareti: $
Çoğu durumda, bir dizenin içindeyken çift tırnak içine alınır veya bir ifade yazarken escape tuşuna basmak ve ok tuşuyla bu satırın sonuna gitmek ve noktalı virgül ( ;
) tuşuna basmak istemeyiz. çizgi. Vimrc dosyanızın içine aşağıdaki satırı yazın :
imap <C-l> <Esc>$a
Hat ne diyor? Ctrl + l'yi bir dizi komutla eşler. Aynı anda Esc(komut modu), $(satır sonu), a(ekle) tuşlarına basmanızla eşdeğerdir .
vim
kesinlikle böyle şeylerle çok daha az zamanda daha fazlasını yapmanıza izin verir. @razorxpress, küçük bir ayar olur imap <C-l> <Esc>A
, bu da Ctrl + l tuşlarına Esc
(çıkış ekleme modundan) ve ardından A
(satır sonuna eklenir ) tuşuna eşdeğer yapar .
inoremap <C-l> <C-o>A
'Son' tuşunun avantajı hem normal hem de ekleme modlarında çalışmasıdır.
'$' sadece normal / komut modunda çalışır, ancak klasik vi düzenleyicide de çalışır (vim'in ne zaman kullanılamadığını bilmek güzel).
Ayrıca çizgi (veya belki de fiziksel çizgi) ile ekran çizgisi arasındaki ayrımı da not edin . Satır, Satır Sonu karakteriyle ("\ n") sonlandırılır. Ekran satırı, terminalinizde veya ekranınızda bir satır karakter olarak gösterilecek şeydir. Ekran genişliğinden daha uzun fiziksel çizgileriniz varsa ikisi birbirinden ayrılır, bu da e-posta ve benzeri şeyler yazarken çok yaygındır.
Ayrım, satır sonu komutlarında da görünür.
Her zaman ikinci davranışı tercih ederseniz, tuşları şu şekilde yeniden eşleyebilirsiniz:
:noremap 0 g0
:noremap $ g$
g_
fiziksel çizginin son boşluk olmayan alanıdır . Ekran çizgisine ne dersiniz?
Ya da açık bir cevap var: Endsatırın sonuna gitmek için anahtarı kullanın.
Standart terminalde vim kullanmak için macbook kısayol tuşunu göremiyorum. Umarım birine yardım eder. MacOS kullanıcıları için (macbook pro 2018'de test edilmiştir):
fn+ ← - başlangıç çizgisine git
fn+ → - bitiş çizgisine git
fn+ ↑ - sayfayı yukarı taşı
fn+ ↓ - sayfayı aşağı taşı
fn+ g - imleci belgenin başına götür
fn+ shift + g - imleci belgenin sonuna taşıma
Son iki komut için bazen iki kez dokunmanız gerekir.
Mac'in desteklemediği (Windows ve kullanımda Linux'tan) Ekle modundaki satırların başlangıcına ve sonuna ulaşmam için Home / End'e alışkındım. Bu özellikle sinir bozucu çünkü uzak bir sistemde vim kullandığımda da kolayca yapamıyorum. Acı verici bir deneme yanılma işleminden sonra .vimrc
, aynı şeyi yapan ama çizginin başlangıcı için Ctrl-A'ya ve çizginin sonu için Ctrl-D'ye bağlandım. (Bazı nedenlerden dolayı, sanırım Ctrl-E ayrılmış ya da en azından onu bağlamak için bir yol bulamadım.) Keyfini çıkarın.
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
Burada ASCII kontrol karakter kodları için iyi bir grafik var:
http://www.physics.udel.edu/~watson/scen103/ascii.html
Ayrıca Ctrl-V + Ctrl- de yapabilirsiniz, ancak bu böyle yerlere de yapışmaz.