Pilih blok kode dalam vim


13

Diberikan kode seperti ini:

588          while ($linecounter > 0) {
589             $token = " ";
590             while ($token != PHP_EOL) {
591                 if (fseek($handle, $pos, SEEK_END) == -1) {
592                     $beginning = true;
593                     break;
594                 }
595                 $token = fgetc($handle);
596                 $pos--;
597             }
598             $linecounter--;
599             if ($beginning) {
600                 rewind($handle);
601             }
602         }

Kursor berada pada karakter =di baris 590.

Yang merupakan cara paling efisien untuk memilih blok kode:

  1. baris 590-597
  2. baris 591-596 (hanya bagian dalam)

Jawaban:


20

Untuk melakukan yang pertama:

  • Tekan $untuk pergi ke akhir baris atas{
  • Tekan vatau V(tergantung pada apakah Anda ingin memilih jalur atau tidak)
  • Tekan %(untuk melompat ke braket yang cocok).

Untuk memilih hanya bagian dalam, masuk ke dalam bagian dalam dan gunakan i{pengubah arah.

Misalnya, untuk menghapus segala sesuatu di dalam arus {…}blok, ketik: di{.


1
Wow, saya baru belajar cara menggunakannya yi(, terima kasih :)
takeshin

10
  1. $untuk melompat ke ujung garis Anda berada (berada di atas brace pembuka)
    vuntuk memulai seleksi ( Vuntuk seluruh baris)
    %untuk melompat ke penjepit yang cocok.

  2. juntuk turun satu baris sehingga kursor Anda berada di dalam kawat gigi yang Anda coba pilih
    vuntuk memulai seleksi ( Vuntuk seluruh garis)
    i{pilih segala sesuatu di dalam kawat gigi


Metode 2 mungkin adalah metode terbaik di sini, karena $ pergerakan dalam metode 1 hanya berfungsi karena tanda kurung buka di akhir baris. Metode 2 berfungsi tanpa gerakan j jika kursor Anda berada di mana saja dalam kurung kurawal.
SpoonMeiser

3

Untuk memperluas jawaban Caleb hanya sedikit, vi{akan memilih "bagian dalam" dari blok kode. Untuk memasukkan "luar" dari blok kode, yaitu termasuk kurung kurawal, gunakan va{.

Ini tidak akan termasuk whilebait. Untuk melakukan itu, Anda dapat menggunakan ountuk memindahkan kursor ke awal pilihan, dan kemudian 0untuk memindahkan pilihan ke awal baris.

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.