Inne odpowiedzi dotyczyły tego, dlaczego tak się dzieje. Oto dobry sposób na obejście tego.
wellle / target.vim . Niedawno znalazłem tę wtyczkę i myślę, że jest bardzo niedoceniana. Zapewnia ona nowy obiekt tekstowy: din(
Mnemonic. (D) suĹ (i) nside (n) ext „(” To jest kompatybilny z innymi operatorami i różnych przedmiotów, takich jak an(
, in"
, il(
(wewnątrz ostatnim nawiasie)
Zastępuje również domyślne zachowanie, i(
aby najpierw sprawdzić, czy kursor znajduje się w nawiasach, a następnie, jeśli tak nie jest, działa tak samo jak in(
. To zachowanie można włączyć lub wyłączyć. Na przykład:
def foo(bar):
^cursor here
Pisanie ci(
działa tak samo cin(
, ponieważ kursor nie znajduje się w nawiasach.
def foo( ):
^Cursor here, and in insert mode
Akceptuje to także liczbę:
def foo(bar): #Define function foo(bar)
^cursor here
Wpisywanie c2in(
:
def foo(bar): #Define function foo( )
^cursor here
Zapewnia to również nowy obiekt „argument”. Na przykład dana
oznacza „Usuń wokół następnego argumentu”. To także akceptuje liczbę. Na przykład:
def foo(arg1, arg2, BADarg3):
^ cursor here
Wpisywanie d3ana
:
def foo(arg1, arg2):
^ cursor here
Istnieje wiele innych funkcji, ten plugin ma, ale to są te podstawowe.