Satırdaki metni silmenin daha hızlı bir yolu var mı
- basarak 0sonra, başına atlamak için
- d$satır sonuna kadar silmek için tuşuna basın ?
Ayrıca, girinti hariç her şeyi silmek istersem ne olur ? Bunu yapmanın bir yolu var mı?
Satırdaki metni silmenin daha hızlı bir yolu var mı
Ayrıca, girinti hariç her şeyi silmek istersem ne olur ? Bunu yapmanın bir yolu var mı?
Yanıtlar:
Söylediğiniz gibi, birden çok yol vardır ve mevcut satırı sildikten veya sildikten sonra bir sonraki işleminizin ne olacağını da hesaba katabilirsiniz.
ccveya S'autoindent' kapalı veya açıksa, 4. veya 5. olarak işlev görür.
Bu yüzden eldeki eyleme uyan her şeyi kullanın. Bu 0Dçizgiyi temizlemek için en hızlı yol olduğuna inanıyorum , ancak isterseniz daha hızlı yapmak için bunu bir şeyle eşleştirebilirsiniz.
Evet. Vim hakkında sevdiğim bir şey varsa, "Bunu yapabilir miyim?" neredeyse her zaman vurgulu bir evet .
0D Başlangıca atlar, ardından satırın sonuna kadar siler.
^D (Ctrl + D değil), ilk boşluk olmayan karaktere atlar ve ardından sonuna kadar siler.
(PS Bunu şimdi anladım ve diğer noobs ile paylaşmak istedim. Lütfen daha iyi bir yol olup olmadığını bana bildirin.)
Bir (kaydırılır) anahtar ile boşalt: S.
Bu da girintiyi korur.
Girintiden sonraki ilk konumda veya satır başında - sadece bir satırı değiştirmek için gerekenler - dolayısıyla ad S
benzeri yerine geçme moduna girersiniz .
:help S
["x]S Delete [count] lines [into register x] and start
insert. Synonym for "cc" |linewise|.
["x]cc Delete [count] lines [into register x] and start
insert |linewise|. If 'autoindent' is on, preserve
the indent of the first line.
S
harika bir anahtar.
Kana yönettiği "ile vim-textobj satırı " eklentisi, sen ile girintili hat üzerinde işlem kullanabilirsiniz il
(örn dil
ile yeni satır olmadan) veya tüm hat al
(örneğin yal
). Bu yaklaşımın avantajı, ince: yerine düşünmek zorunda hem istenen işlem için hareket (başlangıç, bitiş), metin-nesne belirtmek direkt olarak : i , n l ine, bir l ine.
S
cc