Vim: pluginy bez których ciężko żyć - Surround
Surround
Dzisiejszym artykułem rozpocznę nową, krótką serię mającą na celu przedstawienie naważniejszych moim zdaniem pluginów do edytora Vim.
Pierwszym z nich jest surround Plugin ten skupia się na jednej funkcjonalności: otaczanie (surrounding). Pisząc kod niejednokrotnie otaczamy (fatalnie to brzmi :) ) swój kod. Otaczamy wyrazy cudzysłowami, nawiasami, klamrami albo tagami. Surround dba o wszystkie te aspekty. Możemy bardzo łatwo nimi manipulować.
Surround działa przeważnie w trybie komend chociaż w trybie wizualnym też dodaje kilka funkcjonalności. Jego podstawową zaletą jest bardzo zwięzła składnia, posiada tylko kilka komend, których odpowiednia kombinacja wykonuje tą magiczną robotę
s- podstawowa komenda: oznacza sorroundc- modyfikator surrounda oznaczający zmianęy- modyfikator surrounda oznaczający wprowadzanied- modyfikator surrounda oznaczający usuwaniet- oznacza tag używany w plikach html/xml
to wszystko do tego dochodzi znajomość selektorów i czasem użycie trybu wizualnego: v
v- tryb wizualnyp- selektor paragrafuw- selektor słowa
Przykłady
Kursor generalnie może być w obrębie
otaczanego fragmentu więc nie trzeba się restrykcyjnie trzymać zgodnie z
naszym przykładem (W przykładach kursor oznaczamy |). Pierwsze komendy postaram się
łopatologicznie rozłożyć na części pierwsze.
Zacznijmy od początku - mamy proste zdanie Surround jest super i chcemy pierwszy wyraz (Surround)
otoczyć cudzysłowem. Skoro chcemy dodać to używamy y potem s jako
klucz i selektor (iw) na koniec czym czym chcemy otoczyć (")
Surr|ound is super
ysiw"
"Surround" is super
yh, Chyba miał być pojedyńczy cudzysłów.... musimy to zmienić. c
Zmiana, s - klucz, selektor już nie potrzebny (bo plugin sam odnajdzie
oataczającą parę znaków) i co chcemy zmienić (") na co (')
"Surr|ound" is super
sc"'
'Surround' is super
a właściwie po co on wogóle, usuwamy cudzysłowy
'Surro|und' is super
ds'
Surround is super
i wracamy do stanu początkowego. Właściwie to cała wiedza, którą musimy znać. Kwestia tylko doboru selektora i znakdu otaczającego. Możemy wybrać dowolny: ", ', (,[, { ,
Dla łatwego zapamiętania
- dst - delete selected tag
- cst - change selected tag
Nieparzyste
Nieparzyste znaki to takie, które są inne na początku i na końcu, dobrym przykładem są tagi HTML/XML. Otaczając tekst tagiem zostaje on automatycznie zamknięty na końcu.
Surround
ysiw<b>
<b>Surround</b>
cst<p>
<p>Surround</p>
cst<p class="highlight">
<p class="highlight">Surround</p>
Innym przykładem są znaki nawiasów, klamer itp. Generalną zasadą jest to, że możemy użyć znaku otwierającego lub zamykającego. Różnica jest taka, że w przypadku użycia znaku zamykającego zostanie dodana dodatkowa spacja.
Surrounwd
ysiw(
( Surround )
lub
Surround
ysiw)
(Surround)
Tryb wizualny
Surround dodaje trochę funkcjonalności także w trybie wizualnym
Możemy w tym trybie zaznaczyć fragment tekstu, wcisnąć s i dodać czym
chcemy otaczać.
Surround jest super
Vs<p>
<p>Surround jest super</p>
Ostanią czynnością, którą warto wspomnieć jest zaznaczanie za pomocą
surround. Otóż w trybie wizualnym możemy zaznaczyć tekst zgodnie z
symbolami otaczającymi. Dodatkowo mamy wybór czy zaznaczamy tekst
wewnątrz tych znaków czy też razem z nimi.
Gdy chcemy zaznaczyć tekst wewnątrz używamy i (inner) natomiast na
zewnątrz - a (around)
symbol | oznacza pozycję kursora
<p> Najlepszym pluginem do Vim jest <b>Suror|und</b> (Tim Pope)</p>
vitcSurround
<p> Najlepszym pluginem do Vim jest <b>Surround</b> (Tim Pope)</p>
v - wejście w tryb wizualnym
i - wybór aby zaznaczało wewnątrz
t - wybieramy w obrębie tagu
c - zaznaczenie zmieniamy na
Surround
<p> Najlepszym pluginem do Vim jest <b>Surround</b> (Tim |Pope)</p>
va(d
<p> Najlepszym pluginem do Vim jest <b>Surround</b> </p>
Zakończenie
Warto używać sorround, bardzo warto nawet nie wiecie jak szybko idzie się do tego pluginu przyzwyczaić. Polecam korzystać.