Yanıtlar:
Kullanım ci"
çift tırnak içine değişim neyi: demektir.
Diğer metin nesnelerini de benzer şekilde değiştirebilirsiniz, örneğin:
ci'
- tek tırnak içinde değişiklikciw
- bir kelimenin içinde değişiklik ci(
- parantez içinde değiştirindit
- bir HTML etiketi, vb. içinde silin.Farklı vim metin nesneleri hakkında daha fazla bilgiyi burada bulabilirsiniz .
F"ci"
.
Tırnak işaretleri arasında seçim yapabilir ve ardından silebilir ( d
), değiştirebilir ( c
) vb.
vi"
Benzer şekilde, parantezleri, köşeli parantezleri, XML öğelerini vb. Değiştirebilirsiniz, böylece:
vi(
vi{
vit
basitçe değişiklik / silme veya karşılık gelen do di"
, ci"
vb yerine a
için i
(eğer işaretlemek veya parantez değiştirmek böylece çevredeki unsurları kapsayan irade ve örneğin, içeriği)
Bir eklenti yaptım vim-textobj-quotes
: https://github.com/beloglazov/vim-textobj-quotes
Her türden en yakın tırnak çifti için metin nesneleri sağlar ve birden çok satıra yayılan tırnak işaretlerini destekler. Yalnızca iq
veya kullanarak aq
imleci çevreleyen tek ('), çift (") veya arka (`) tırnakların içeriği üzerinde işlem yapmanıza izin verir, imlecin önünde veya arkasında (tercih sırasına göre) Diğer bir deyişle, tekliflere ulaşmak için ihtiyaç duyulduğunda ileri veya geri atlar.
Örneklere bakarak anlamak daha kolay (imleç ile gösterilir |
):
foo '1, |2, 3' bar
:; bastıktan sonra diq
:foo '|' bar
foo| '1, 2, 3' bar
:; bastıktan sonra diq
:foo '|' bar
foo '1, 2, 3' |bar
:; bastıktan sonra diq
:foo '|' bar
foo '1, |2, 3' bar
:; bastıktan sonra daq
:foo | bar
foo| '1, 2, 3' bar
:; bastıktan sonra daq
:foo | bar
foo '1, 2, 3' |bar
:; bastıktan sonra daq
:foo | bar
Yukarıdaki örnekler tek tırnak için verilmiştir, eklenti çift (") ve ters (`) tırnaklar için tam olarak aynı şekilde çalışır.
: Ayrıca başka kullanabilirsiniz ciq
, diq
, yiq
, viq
, vb
Daha fazla ayrıntı için lütfen yukarıda bağlantısı verilen github sayfasına bir göz atın.
Zaten alıntıların içinden yapabilirsin
di"
İçini sil olarak oku "
Brian'ın cevabına ek olarak , yeni değeri p
(yapıştırabilir) ve y
( çekebilirsiniz ) , böylece tırnak içindeki değeri başka bir değerle değiştirmek isterseniz, alanı seçmek yi"
için kopyalamak istediğiniz seçimi yapabilirsiniz . vi"
Değiştirmek istediğinizi ve ardından p
değeri düzgün bir şekilde değiştirin.
Seçilen cevap SADECE ViM için uygundur, ancak vi için DEĞİLDİR. Soru aynı zamanda yanlıştır çünkü yazar imlecin ilk konumunun ne olduğundan bahsetmemişti. İmlecin çift tırnak içinde olduğunu varsayarsak, vi için cevap şöyle olacaktır:
T"ct"
Nerede:
T "-" karakterinden hemen sonra geri git
c - komut değiştir
t "- c komutu için karakterleri silmeyi durdurması gereken son konumu, diğer bir deyişle değiştirilecek aralığı belirtin
vim
, ama DEĞİLvi
. (Emin değilim)