GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Bergabung dengan Baris Berikutnya Ketika Sebuah Baris Sesuai Dengan Regex Untuk Seluruh Dokumen Di Vi?

Saya memiliki garis seperti

abcdefgjoin!
abcdef
no join
abcdefgjoin!

Jika sebuah baris cocok dengan regex ^a.+g$ maka saya ingin mereka bergabung, jadi itu akan menjadi:

abcdefgjoin!
abcdef
no join
abcdefgjoin!

Apakah ada cara untuk melakukannya di VIM ?

Jawaban yang Diterima:

Dalam mode normal, J (berbeda dari j , yang memindahkan kursor ke bawah satu baris) digunakan untuk menggabungkan satu baris dengan yang tepat di bawahnya. Namun, secara default itu menambahkan spasi ke akhir baris pertama; untuk mendapatkan hasil yang Anda inginkan (menggabungkan baris tanpa memasukkan spasi tambahan), seseorang harus menggunakan gJ .

Untuk menggunakan perintah mode normal dalam mode lama (yang Anda masukkan dengan menekan : saat dalam mode normal), seseorang harus menggunakan normal memerintah. Lihat :h normal dalam vim. Jadi, untuk bekerja dengan baris berikutnya yang cocok dengan pola, seseorang akan menggunakan (perhatikan bahwa secara default, Anda harus keluar dari + untuk membuatnya bekerja dengan regex vim, konsekuensi dari menjaga kompatibilitas dengan mesin regex kuno vi asli):

:/^a.\+g$/normal gJ

Untuk mengerjakan setiap baris yang cocok dengan pola, seseorang akan menggunakan :global perintah (lihat :h :g dalam vim) seperti ini:

:global/^a.\+g$/normal gJ

Atau, lebih ringkasnya:

:g/^a.\+g$/norm gJ

Anda juga dapat menggunakan perintah ex join (lihat :h :join ) untuk mencapai hal yang sama dengan pengetikan yang sangat sedikit (! pada akhirnya, dalam hal ini, beri tahu join untuk tidak menyisipkan spasi di akhir baris pertama).

:g/^a.\+g$/join!

Linux
  1. Cara Membuat Database di MySQL Menggunakan Command Line

  2. Cara Membuat Sudo Mengingat Kata Sandi Lebih Lama

  3. Bagaimana membuat tar terkompresi ketika ada terlalu banyak nama file untuk diperluas oleh shell dalam satu baris?

  1. Cara memasukkan informasi login untuk situs web dari baris perintah linux

  2. Bagaimana cara mendapatkan alamat IP saya dari baris perintah?

  3. Bagaimana cara menemukan nomor baris di Bash ketika terjadi kesalahan?

  1. 8 tips untuk baris perintah Linux

  2. Kiat bash untuk sehari-hari di baris perintah

  3. Debian – Bagaimana Kami Memprediksi Kapan Rilis Debian Berikutnya Akan Keluar?