Panduan Mengisih Garis dalam Vim

Panduan Mengisih Garis Dalam Vim



Untuk mengisih baris dalam Vim, anda boleh menggunakan terbina dalam menyusun perintah yang mengisih baris mengikut julat yang ditentukan. Biasanya, semua baris dalam dokumen diisih jika tiada julat diberikan.

Sebagai contoh, jika anda ingin mengisih keseluruhan dokumen, gunakan :sort arahan dalam mod NORMAL. Sebaliknya, jika anda hanya mahu mengisih baris tertentu, gunakan :x,y jenis perintah, di mana x dan dan tentukan julat daripada nombor baris x kepada dan .







Isih ialah salah satu fungsi penting yang diperlukan semasa mengedit dokumen. Vim tidak kurang daripada mana-mana editor lanjutan dalam menyediakan ciri unik seperti pengisihan. Oleh itu, dalam panduan ini, saya akan menerangkan terbina dalam Vim menyusun arahan, dan cara menggunakannya dengan cara yang berbeza untuk mengisih baris.



Catatan: Arahan dan arahan yang dinyatakan dalam panduan ini dilakukan pada Linux (Ubuntu 22.04). Vim ialah editor teks merentas platform, dan arahan ini akan berfungsi tanpa sebarang ralat pada macOS dan Windows juga.



Isih Semua Baris





Untuk mengisih semua baris dalam dokumen, laksanakan menyusun arahan dalam mod NORMAL.

:sort



Secara lalai, the menyusun arahan akan menyusun baris dalam susunan leksikografi.

Ambil perhatian bahawa jika fail anda mempunyai baris kosong, maka perintah isihan akan meletakkan baris kosong di atas jenis teks sebenar.

Isih Barisan Terpilih

Untuk mengisih baris yang dipilih, pertama, kita perlu memilihnya dalam mod pemilihan. Dan untuk membolehkan mod pemilihan, tekan dalam , dan pilih baris menggunakan h , j , k, dan l kekunci atau butang arah.

Vim juga mempunyai mod pemilihan khusus baris yang dipanggil GARIS VISUAL mod. Tekan V (anjakan+v) untuk membolehkan GARIS VISUAL mod untuk memilih garisan.

Selepas memilih baris, anda akan melihat ' <, ' > dalam baris arahan, yang mewakili julat pemilihan. ' < menunjukkan baris pertama pemilihan visual, manakala ' > menunjukkan yang terakhir.

Sekarang, taip sahaja menyusun arahan, dan tekan kekunci kembali untuk menggunakan jenis pada baris yang dipilih seperti yang ditunjukkan dalam GIF berikut.

Isih Garis Berjulat

Julat garisan boleh dilalui sebelum menyusun perintah untuk menyusun baris. The : tetapkan nombor arahan boleh digunakan untuk mengaktifkan nombor baris dalam Vim, justeru memudahkan untuk mengenal pasti nombor baris.

Contohnya, untuk mengisih baris dari baris nombor 1 hingga baris nombor 4, gunakan :1,4 jenis perintah.

: 1 , 4 menyusun

Seperti yang dapat dilihat dalam output di atas bahawa satu-satunya baris yang ditentukan diisih.

Isih secara Songsang

Seperti yang dinyatakan sebelum ini, tingkah laku lalai menyusun perintah adalah untuk mengisih baris dalam susunan leksikografi. Untuk mengisih baris dalam cara bukan leksikal, tambah tanda seru ( ! ) selepas menyusun perintah.

:sort !

Isih mengikut Tempatan

Komputer dikendalikan di seluruh dunia, mempunyai bahasa yang berbeza dengan set aksara dan peraturan yang berbeza. Apabila ia datang untuk mengisih pengumpulan mengikut perkara tempatan. Contohnya, jika anda tinggal di Jepun dan ingin mengisih baris mengikut tempat tersebut, maka anda perlu menentukannya. The menyusun arahan juga menyediakan untuk menetapkan pilihan tempat dengan l bendera.

Untuk menyemak tempat pengumpulan semasa, gunakan :bahasa perintah.

:bahasa

Untuk mengisih dengan penggunaan tempat semasa:

:jenis l

Catatan: Pilihan ini mungkin tidak berfungsi dengan betul pada sistem berdasarkan macOS.

Isih mengikut Nombor

Untuk mengisih baris berdasarkan nombor perpuluhan pertama dalam baris, gunakan n bendera dengan menyusun perintah. Pengisihan akan diteruskan dalam tertib menaik secara lalai.

:susun n

Untuk mengisih dalam tertib menurun, gunakan ! simbol selepas arahan.

:sort ! n

Perbezaan antara menyusun dan menyusun n ialah perintah isihan menyusun baris secara leksikal, mengabaikan nombor di dalamnya. Jika anda ingin mengisih berkenaan dengan nombor, kemudian tambahkan n bendera dengan perintah isihan.

Sebagai contoh, baris dalam fail berikut mempunyai huruf dan nombor juga. Apabila kita menyusunnya dengan menggunakan menyusun arahan sahaja, baris ini akan diisih mengikut abjad. Sebaliknya, mengaplikasikan menyusun n perintah menyusun baris mengikut nombor seperti yang ditunjukkan dalam imej berikut.

Beberapa pilihan lain untuk pengisihan berangka disebut dalam jadual berikut.

f Isih nombor apungan
b Isih nombor binari
O Pengisihan nombor oktal
h Isih nombor heksadesimal

Isih mengikut Markah

Dalam Vim, tanda digunakan untuk menetapkan kedudukan tertentu dalam fail untuk navigasi lebih mudah bagi fail dengan beratus-ratus baris. Tanda boleh digunakan untuk melakukan operasi isihan menggunakan menyusun perintah.

Katakan anda telah menetapkan dua markah a dan b .

Jadi, untuk mengisih semua baris dari tanda a menanda b , gunakan arahan berikut.

: 'a,' b menyusun

Petikan tunggal ( ' ) digunakan untuk mengakses markah.

Isih mengikut Ungkapan Biasa (RegEx)

Ungkapan biasa (RegEx) ialah salah satu cara biasa untuk mengisih baris dengan mentakrifkan corak dengan menyusun perintah.

Contohnya, untuk mengisih baris berkenaan dengan lajur yang mempunyai abjad dan digit, gunakan /[a-z]*[0-9]+/ corak dengan menyusun perintah. The r bendera selepas menyusun arahan digunakan untuk mengarahkan arahan untuk mengisih berdasarkan corak yang disebutkan.

:susun r / [ a-z ] * [ 0 - 9 ] + /

Seperti yang anda lihat dalam imej di atas, lajur terakhir diisih mengikut abjad. Untuk mengisih lajur secara berangka, hanya masukkan n bendera.

Catatan: Saya melangkau baris pertama dengan menentukan julat dari baris 2,5.

The r flag membolehkan anda mengisih fail mengikut corak yang diberikan. Tanpa r bendera, perintah isihan akan mengisih semua baris yang tidak sepadan dengan corak.

Keluarkan Garis Pendua

Cara paling cepat untuk mengalih keluar baris pendua dalam fail adalah menggunakan menyusun perintah dengan dalam bendera, yang mewakili yang unik.

:pelbagai u

Ambil perhatian bahawa menggunakan kaedah ini untuk mengalih keluar baris pendua juga akan mengisih baris, yang boleh menjadi tidak diingini dalam banyak situasi. Gunakan kaedah alternatif, seperti regex, untuk mengalih keluar baris pendua dalam fail tanpa perlu mengisih.

Isih Garis Berdasarkan Lajur

Terdapat dua kaedah untuk mengisih baris dalam Vim berdasarkan lajur. Kaedah pertama menggunakan perintah isihan Linux luaran, manakala yang kedua menggunakan perintah isihan terbina dalam.

Arahan luaran mudah dilaksanakan berbanding dengan arahan isihan lalai. Ambil perhatian bahawa arahan luaran bukanlah arahan lalai Vim. Ia bermaksud sebarang arahan yang disokong oleh sistem pengendalian.

Mari kita fahami cara ia berfungsi dalam Vim.

Untuk menggunakan sebarang arahan luaran dalam Vim, ! simbol digunakan sebelum arahan itu. Andaikan kami mempunyai fail dipisahkan koma (CSV) dan ingin mengisih fail berkenaan dengan lajur ketiga. Perintahnya ialah

: %! menyusun -t ',' -k3

The % menunjukkan keseluruhan penimbal sebagai pilihan. The -t bendera digunakan untuk menentukan pemisah medan, yang boleh menjadi koma, titik bertindih, atau ruang. The -k bendera ialah kunci yang menunjukkan kedudukan dalam barisan, dan k2 bermaksud medan kedua selepas pembatas yang ditentukan.

Dalam contoh, saya telah menyebut julat bukannya % untuk melangkau baris pertama.

: 2 , 5 ! menyusun -t ',' -k3

Luaran menyusun arahan boleh berguna dalam banyak cara lain juga kerana ia menawarkan pelbagai pilihan pengisihan seperti kocok, pengisihan rawak dan penggabungan. Untuk mengetahui lebih lanjut tentang perintah isihan Linux, gunakan bantuan lelaki perintah.

Sebaliknya, untuk menggunakan terbina dalam Vim menyusun perintah, corak ungkapan biasa akan digunakan dengan perintah isihan.

:sort / \v^ ( . { - } , ) { 2 } /

Dalam arahan di atas:

  • \dalam mewakili tab menegak
  • ^ menunjukkan permulaan baris
  • (.{-},) adalah kumpulan yang akan di mana .{-} adalah versi tidak tamak .* dan , ialah medan pemisah
  • {2} mewakili 2 lajur pertama untuk dilangkau

Ia boleh dilihat bahawa r bendera tidak digunakan dengan corak, yang bermaksud corak akan melangkau mana-mana lajur yang dipadankan dan mengisih lajur selepas corak. Dalam kes ini, fail akan diisih berdasarkan lajur ketiga. Sekali lagi dalam contoh berikut, untuk melangkau baris pertama, saya menggunakan julat 2,5.

Perbezaan asas antara .* dan .{-} adakah itu .{-} akan memproses algoritma pertama padanan terpendek, manakala .* akan sepadan sebanyak mungkin. Sebagai contoh, dalam rentetan wxyz the x.*y akan sepadan dengan keseluruhan rentetan manakala x.{-}y akan sepadan dengan xy sahaja.

Isih Baris Tidak Peka Huruf Besar

Jika anda mengisih baris yang bermula dengan huruf atas dan bawah, maka perintah isihan akan mengisih baris dalam huruf besar dahulu. Nah, untuk mengabaikan sensitiviti kes, gunakan i bendera.

Seperti yang anda lihat dalam imej berikut, baris yang tidak diisih dan diisih dengan kedua-dua :sort dan :susun i arahan.

Kesimpulan

Isih dalam Vim boleh dilakukan dengan mudah menggunakan Vim terbina dalam menyusun perintah. Secara lalai, baris diisih mengikut abjad, bagaimanapun, jika anda ingin mengisih secara terbalik maka gunakan ! tanda tangan selepas arahan. Perintah isihan biasanya mengisih keseluruhan penimbal; julat juga boleh ditakrifkan dengan pemisah koma. The n flag digunakan untuk pengisihan berangka, manakala untuk mengalih keluar baris pendua dalam bendera digunakan. Selain itu, untuk meningkatkan proses pengisihan, luaran menyusun arahan juga boleh digunakan dalam Vim.

Untuk mengetahui lebih lanjut tentang pengisihan dalam Vim, jalankan :membantu menyusun perintah.