Marioosh's developer diary RSS ICON Polish version

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ę

to wszystko do tego dochodzi znajomość selektorów i czasem użycie trybu wizualnego: v

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

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

Kategoria: Programowanie         Tagi: Vim Surround
Komentarze możliwe dzięki: Disqus