Czy istnieje ruch podobny do „, który nigdy nie obejmuje wiodących białych znaków?

10

Używam tego a"ruchu dość często w vimie; np. użycie ca"podczas refaktoryzacji fragmentu kodu w celu zastąpienia zakodowanego na stałe argumentu nazwą zmiennej. Problem z tym podejściem polega na tym, że a" obejmuje wiodące białe znaki, jeśli nie ma końcowych białych znaków :

Uwzględnia się dowolne końcowe białe spacje, chyba że ich nie ma, uwzględniane są wiodące białe spacje.

Tak więc, gdy edytuję wywołanie funkcji w ten sposób:

aFunction(arg1, "toBeReplaced", arg3) #original
aFunction(arg1, replacedArg, arg3)    #refactored

Muszę ręcznie re-insert przestrzeni przed replacedArgjak ca"usunie go.

Czy istnieje podobny ruch, który nie obejmuje tej białej przestrzeni, czy też jest coś innego, czego mogę użyć zamiast tego ca", oszczędza mi konieczności wpisywania dodatkowej spacji?

Uwagi:

  • cf"robi to, co chcę, o ile ciąg nie zawiera cudzysłowów, ale wymaga ode mnie kursora na początku łańcucha. Chciałbym czegoś, czego mogę użyć z dowolnego miejsca w ciągu, i ?"<Enter>cf"raczej niezręcznie jest pisać.
  • Nie chodzi tu o pojedyncze <Space>naciśnięcie klawisza, a bardziej o to, że często początkowo zapominam o wpisaniu miejsca, co kosztuje mnie co najmniej cztery dodatkowe naciśnięcia klawiszy ( bi<Space><Esc>) i nie koncentruje się na tym. Dlatego długość polecenia zamiany nie jest tak ważna, dopóki usuwa tylko tekst między podanymi znakami, a następnie przechodzi w tryb wstawiania.
l4mpi
źródło
1
Zamiast ?"<Enter>szukać cudzysłowu w wierszu, możesz użyć F". Fjest taki sam jak fwyszukiwania w lewo. Poniższe odpowiedzi wyglądają lepiej na twoje pytanie, ale Fsame w sobie są przydatnym poleceniem.
Lithis

Odpowiedzi:

10

Istnieje wtyczka Wellle's target.vim . Aby zacytować odpowiednią część (w sekcji „ Cytat ”):

a' a" a

  • Wybierz wycenę.

  • Zastępuje to domyślny obiekt tekstowy Vima do obsługi wyszukiwania.

  • W przeciwieństwie do cytowanych obiektów tekstowych Vima nie obejmuje to otaczających białych znaków .

VanLaser
źródło
Wygląda na to, że ta wtyczka zastępuje a"i używa A"oryginalnego zachowania?
Martin Tournoij,
... podczas gdy, jak sądzę, pozwala także na szukanie „w lewo”
VanLaser