Vim - pilih / yank / hapus konten antara tanda kurung termasuk tanda kurung


31

Dalam vim, apakah mungkin untuk memilih konten di antara tanda kurung termasuk tanda kurung yang serupa

yi{ yi(

Tapi saya ingin memasukkan tanda kurung.

Jawaban:


0

Anda dapat memindahkan kursor ke satu braket, dan melakukan vf{atau vf(untuk membawa Anda ke mode visual dan kemudian memilih semuanya sampai (dan termasuk) braket.


5
Sebenarnya, ini hanya akan berakhir dengan memilih brace pembuka. Jika Anda berada di atas brace pembuka, f{akan memindahkan Anda ke brace pembuka terdekat, yang sudah Anda buka. Apa yang Anda inginkan adalah v%yang akan memindahkan Anda ke penjepit yang cocok dan dapat digunakan di kedua sisi.
Michael Mior

Ini bukan jawaban yang benar. Lihat jawaban @ garyjohn di bawah ini.
Michael Sandman

75

Iya nih. Gunakan asebagai ganti i, sebagai

ya{
ya(

Lihat

:help a{
:help a(

dan lebih umum,

:help text-objects
:help 04.8

1
Ini harus menjadi jawaban yang diterima!
phanhuy152

3

Apakah f{v% atau f(v%melakukan apa yang Anda inginkan? Ini memindahkan kursor Anda ke {atau (berikutnya, masuk Anda ke mode visual, dan kemudian memindahkan kursor Anda ke penutup yang sesuai} atau). Jika Anda sudah melewati ruang lingkup yang ingin Anda pilih, Anda dapat menggunakan modal F. Berfungsi juga untuk melompat ke penutup} atau) pertama juga - f}v%.

Setelah Anda memiliki apa yang ingin Anda pilih, Anda bisa y, d,x , dll itu. The %perintah bekerja multi-line, juga, sehingga Anda dapat menggunakan teknik ini pada blok besar kode jika Anda ingin (meskipun fdan Ftidak, sehingga Anda harus mulai di kedua baris pertama atau terakhir).

EDIT: Jawaban yang lebih baik, tampaknya persis seperti yang Anda cari:

ya(

Mengganti idalam perintah asli Anda dengan amelakukan hal yang persis sama, kecuali bahwa itu termasuk dalam '(' karakter. Ini adalah "menghentak sebuah blok", sedangkan yi(yang "menghentak sebuah i blok nner".

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.