Jawaban lain mencakup mengapa ini terjadi. Ini cara yang bagus untuk mengatasinya.
wellle / target.vim . Saya baru saja menemukan plugin ini, dan saya pikir itu sangat diremehkan. Ini menyediakan objek teks baru: din(
Mnemonic:. (D) apus (i) nside (n) ext "(" ini kompatibel dengan operator lain dan beberapa objek yang berbeda, seperti an(
, in"
, il(
(dalam kurung terakhir)
Ini juga mengesampingkan perilaku default i(
sehingga pertama kali terlihat untuk melihat apakah kursor ada dalam tanda kurung, dan kemudian jika tidak berfungsi dengan cara yang sama in(
. Perilaku ini dapat dihidupkan atau dimatikan. Sebagai contoh:
def foo(bar):
^cursor here
Mengetik ci(
bertindak sama dengan cin(
, karena kursor tidak ada dalam tanda kurung.
def foo( ):
^Cursor here, and in insert mode
Ini juga menerima hitungan:
def foo(bar): #Define function foo(bar)
^cursor here
Mengetik c2in(
:
def foo(bar): #Define function foo( )
^cursor here
Ini juga menyediakan objek baru, "argumen". Misalnya, dana
berarti "Hapus di sekitar argumen berikutnya". Ini juga menerima hitungan. Sebagai contoh:
def foo(arg1, arg2, BADarg3):
^ cursor here
Mengetik d3ana
:
def foo(arg1, arg2):
^ cursor here
Ada banyak fitur lain yang dimiliki plugin ini, tetapi ini adalah yang mendasar.