Rumah Tutorial sistem LINUX Terokai kemahiran operasi lanjutan VIM

Terokai kemahiran operasi lanjutan VIM

Jan 05, 2024 am 10:52 AM
linux tutorial linux Topi Merah sistem linux arahan linux pensijilan linux linux topi merah video linux

Pengenalan Artikel ini mengumpulkan beberapa operasi VIM mudah yang sama ada tidak dapat diselesaikan oleh editor teks biasa yang lain, atau diselesaikan dengan sangat perlahan. Melalui pengenalan artikel ini, pemula dapat mengukuhkan keazaman dan keyakinan mereka dalam mempelajari VIM. Jika anda mempunyai sebarang teknik mudah yang bagus dan mudah ditunjukkan, sila tinggalkan mesej. Selain itu, melainkan dinyatakan sebaliknya, kunci yang disebut dalam artikel ini adalah sensitif huruf besar-besaran. Sebagai contoh, apabila teks mengatakan "tekan G," kekunci yang anda tekan hendaklah "Shift + G."

Terokai kemahiran operasi lanjutan VIM

1 Pertama, kami membuka VIM dan memasukkan sekeping teks untuk demonstrasi hari ini:

this is a test
Salin selepas log masuk
Salin selepas log masuk
2. Cari dan gantikan Tekan ESC beberapa kali untuk memasuki mod Normal dan masukkan arahan berikut:

:%s/ /r/g/ . Kesan yang diperoleh selepas menekan Enter adalah seperti berikut:

this
is
a
test
Salin selepas log masuk
Penjelasan: Fungsi arahan ini adalah untuk menggantikan semua ruang dalam artikel dengan pemulangan pengangkutan. Hampir semua editor menyokong cari dan ganti, tetapi tidak semua editor menyokong menggantikan ruang dengan pemulangan pengangkutan, jadi fungsi ini agak menyusahkan untuk dilaksanakan dalam banyak editor lain.

3. Penyambungan talian Tadi kami memecahkan satu baris teks kepada 4 baris, jadi bagaimanakah cara kami menggabungkannya kembali? Sudah tentu, kita boleh menggunakan kaedah carian dan ganti yang disebutkan di atas untuk menyambung garisan dengan menggantikan pemulangan pengangkutan dengan ruang. Walau bagaimanapun, di sini kita menggunakan kaedah lain.

Tekan ESC beberapa kali untuk memasuki mod Normal, kemudian masukkan arahan ini:

ggVG. gg bermaksud lompat ke permulaan teks, V bermaksud masukkan mod pemilihan baris, dan G bermaksud pilih ke penghujung artikel. Dengan 3 arahan ini, 4 ketukan kekunci secara keseluruhan, kami memilih keseluruhan artikel.

Kemudian, tekan titik bertindih: untuk memasuki mod arahan Perkataan:

:'> muncul pada bar status Enter j selepas itu dan tekan Enter ​bersama-sama sekali lagi, keseluruhan operasi termasuk Enter hanya memerlukan 7 penekanan kekunci:

this is a test
Salin selepas log masuk
Salin selepas log masuk
4. Salin, tampal dan ulangi tindakan Tekan ESC beberapa kali untuk mengesahkan bahawa anda berada dalam mod Normal, kemudian tekan

yy untuk menyalin baris semasa ke daftar lalai (bersamaan dengan papan keratan). Kemudian tekan 12p, VIM akan melakukan tindakan tampal 12 kali, dan 13 baris aksara seperti ini akan muncul pada skrin:

this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
this is a test
Salin selepas log masuk
Penjelasan: Dalam VIM, operasi salin dan tampal adalah sangat pantas. Di samping itu, kebanyakan arahan dalam VIM boleh diulang beberapa kali dengan menambah nombor sebelum arahan.

5. Operasi lajur Seterusnya kita menukar huruf pertama pada permulaan setiap baris kepada huruf besar.

Tekan ESC beberapa kali untuk mengesahkan bahawa anda berada dalam mod Normal, kemudian tekan gg untuk melompat ke baris pertama, dan tekan

Ctrl + v untuk memasuki mod pemilihan lajur (jika anda menekan Ctrl + v dan gagal memasuki mod pemilihan lajur , sila lihat di sini), kemudian tekan G untuk melompat ke baris terakhir artikel Pada ketika ini anda akan melihat bahawa lajur pertama teks dipilih dan hanya lajur pertama dipilih. Tekan kekunci U dan anda akan melihat bahawa huruf pertama setiap baris menjadi huruf besar. Petua: Selepas memilih teks, tekan u untuk menukar teks kepada huruf kecil Selepas memilih teks, tekan ~ untuk membalikkan kes asal.

This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
This is a test
Salin selepas log masuk
Kemudian, kami menambah asterisk di hadapan setiap baris. Tekan gg untuk melompat ke baris pertama, tekan

Ctrl + v untuk memasuki mod pemilihan lajur, kemudian tekan G untuk memilih lajur pertama teks penuh, kemudian tekan I untuk memasukkan keadaan sisipan lajur, masukkan asterisk *, dan kemudian tekan ESC. Anda akan melihat bahawa semua baris didahului oleh asterisk:

*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
*This is a test
Salin selepas log masuk
Penjelasan: Bagi mereka yang menulis program, mengulas sekeping kod dalam kelompok adalah operasi yang sangat biasa. Ini boleh dilakukan dengan mudah menggunakan sisipan lajur. Di samping itu, anda boleh menekan x selepas memilih lajur untuk memadamkan blok yang dipilih, dan anda boleh menyahkomen dalam kelompok.

6. Rakaman makro Seterusnya, kami ingin menukar baris teks genap kepada:

Ini adalah ujian lain. Memandangkan semua baris bernombor genap perlu melakukan operasi yang sama, kami boleh menyelesaikan kerja dengan cepat dengan merakam operasi ini dan kemudian memainkannya berulang kali beberapa kali.

Mula-mula, tekan ESC beberapa kali untuk mengesahkan bahawa anda berada dalam mod Normal, kemudian tekan gg untuk melompat ke baris pertama dan bersedia untuk memulakan operasi. Kami mula-mula menekan kekunci q, dan kemudian tekan satu lagi huruf untuk merekodkan makro ini ke dalam daftar yang sepadan dengan huruf itu. Sebagai contoh, jika kita menggunakan daftar m di sini, tekan qm. Pada masa ini, perkataan "rakaman" muncul dalam bar status VIM, menunjukkan bahawa ia telah memasuki keadaan rakaman.

然后,我们把第二行的 a 修改为 another。首先按 j 进入第二行,然后按 $ 跳到行末,再按两下 b 往前跳两个单词,此时光标停在字母 a 上。然后我们按下 caw键删除 a 并进入插入状态,然后输入 another ,按 ESC 回到 Normal 状态,按 j 进入下一行,整个操作步骤就完成了。最后,我们再按一下 q,结束该宏的录制。

接下来我们播放这个宏,完成整个操作步骤。在键盘上输入 1000@m,表示将 m 寄存器里的宏播放 1000 次,马上可以看到,文章中所有偶数行的 a 都变成了 another。

*This is a test
*This is another test
*This is a test
*This is another test
*This is a test
*This is another test
*This is a test
*This is another test
*This is a test
*This is another test
*This is a test
*This is another test
*This is a test
Salin selepas log masuk

解说:虽然我们指定播放 1000 次,但事实上,执行到第 6 次的时候,光标挪到了屏幕最下方,于是执行过程就自动停止了。因此,在批量操作的时候,我们可以指定足够大的数字,而不用担心出现问题。

另外,修改 a 的时候,我们跳到行末后再使用 b 命令以单词为单位跳转,而没使用 h 一个字母一个字母往回挪,我们使用caw 修改整个单词,而不使用 s 命令删除单个字母并进入 Insert模式。这些细节可以保证录制得到的宏更具有一般性。

7. 行尾块操作

注:本章由 Jason Han 网友贡献,感谢他来信指出滇狐原先对于行尾块操作理解的错误。

下面,我们要在每行的尾部都添加一个感叹号。之前我们在每行头部添加一个星号的时候,用的是 Ctrl-V 列操作。现在要在行尾添加,能不能继续用列操作呢?直观上似乎是不行的,每行的长度不一样,行尾位置参差不齐,如何使用列模式往行尾添加东西呢?

事实上,Vim 提供了一种特殊的列模式,叫做行尾块模式,也就是说,我们是可以通过 Ctrl-V模式来选中长度不同的行的行尾,然后对行尾作统一操作的,操作步骤如下:

按下 gg 跳到第一行,按 Ctrl-V 进入列选择模式,再按 G,选中全文的第一列,然后按下 $,进入行尾块模式,按下 A,进入块插入状态,输入星号 !,再按下 ESC,你会看到,所有行尾部都出现了一个感叹号:

*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
Salin selepas log masuk
Salin selepas log masuk
8. 点命令

接下来,我们在每行的末尾加上一个小于号 。

由于我们需要在每行后面添加新行,因此我们无法使用块选择方式批量添加小于大于号。使用宏录制的方式是可以做到这点的,但操作稍嫌繁琐了一些。使用点命令,可以非常方便地做到这一点。

先按几下 ESC 确认当前出于 Normal 模式,然后使用 gg 跳到第一行,按 A 进行行尾插入,输入 ,最后 ESC 回到 Normal 状态,第一行修改就完成了。

然后,我们按 j 进入下一行,也就是第三行,再按 .,可以看到,第三行尾部也出现了小于号,并且自动添加了第四行的大于号。反复按j.j.j. ,直到每一行都完成了这个编辑动作为止。

*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
*This is another test!
*This is a test!
Salin selepas log masuk
Salin selepas log masuk

解说:点命令的作用是,重复最近一次所做的编辑操作。由于在第一行里做的操作是行尾添加并插入新行,因此在第三行(原先的第二行)重复这个动作的时候,也会在行尾添加同样的字符。点命令功能不如宏强大,但它使用起来比宏简便,因此也有着广泛的用途。

Atas ialah kandungan terperinci Terokai kemahiran operasi lanjutan VIM. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Perbezaan antara centos dan ubuntu Perbezaan antara centos dan ubuntu Apr 14, 2025 pm 09:09 PM

Perbezaan utama antara CentOS dan Ubuntu adalah: asal (CentOS berasal dari Red Hat, untuk perusahaan; Ubuntu berasal dari Debian, untuk individu), pengurusan pakej (CentOS menggunakan yum, yang memberi tumpuan kepada kestabilan; Ubuntu menggunakan APT, untuk kekerapan yang tinggi) Pelbagai tutorial dan dokumen), kegunaan (CentOS berat sebelah ke arah pelayan, Ubuntu sesuai untuk pelayan dan desktop), perbezaan lain termasuk kesederhanaan pemasangan (CentOS adalah nipis)

Cara memasang centos Cara memasang centos Apr 14, 2025 pm 09:03 PM

Langkah Pemasangan CentOS: Muat turun Imej ISO dan Burn Bootable Media; boot dan pilih sumber pemasangan; Pilih susun atur bahasa dan papan kekunci; Konfigurasikan rangkaian; memisahkan cakera keras; Tetapkan jam sistem; Buat pengguna root; pilih pakej perisian; Mulakan pemasangan; Mulakan semula dan boot dari cakera keras selepas pemasangan selesai.

Pilihan Centos setelah menghentikan penyelenggaraan Pilihan Centos setelah menghentikan penyelenggaraan Apr 14, 2025 pm 08:51 PM

CentOS telah dihentikan, alternatif termasuk: 1. Rocky Linux (keserasian terbaik); 2. Almalinux (serasi dengan CentOS); 3. Ubuntu Server (Konfigurasi diperlukan); 4. Red Hat Enterprise Linux (versi komersial, lesen berbayar); 5. Oracle Linux (serasi dengan CentOS dan RHEL). Apabila berhijrah, pertimbangan adalah: keserasian, ketersediaan, sokongan, kos, dan sokongan komuniti.

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Penjelasan terperinci mengenai Prinsip Docker Penjelasan terperinci mengenai Prinsip Docker Apr 14, 2025 pm 11:57 PM

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apa yang Harus Dilakukan Setelah CentOs Berhenti Penyelenggaraan Apr 14, 2025 pm 08:48 PM

Selepas CentOS dihentikan, pengguna boleh mengambil langkah -langkah berikut untuk menanganinya: Pilih pengedaran yang serasi: seperti Almalinux, Rocky Linux, dan CentOS Stream. Berhijrah ke pengagihan komersial: seperti Red Hat Enterprise Linux, Oracle Linux. Menaik taraf ke CentOS 9 Stream: Pengagihan Rolling, menyediakan teknologi terkini. Pilih pengagihan Linux yang lain: seperti Ubuntu, Debian. Menilai pilihan lain seperti bekas, mesin maya, atau platform awan.

Konfigurasi komputer apa yang diperlukan untuk vscode Konfigurasi komputer apa yang diperlukan untuk vscode Apr 15, 2025 pm 09:48 PM

Keperluan Sistem Kod Vs: Sistem Operasi: Windows 10 dan ke atas, MACOS 10.12 dan ke atas, pemproses pengedaran Linux: minimum 1.6 GHz, disyorkan 2.0 GHz dan ke atas memori: minimum 512 MB, disyorkan 4 GB dan ke atas ruang penyimpanan: minimum 250 mb, disyorkan 1 GB dan di atas keperluan lain:

Apa yang perlu dilakukan sekiranya imej docker gagal Apa yang perlu dilakukan sekiranya imej docker gagal Apr 15, 2025 am 11:21 AM

Langkah Penyelesaian Masalah untuk Gagal Docker Image Build: Semak Sintaks Dockerfile dan Versi Ketergantungan. Semak jika konteks binaan mengandungi kod sumber dan kebergantungan yang diperlukan. Lihat log binaan untuk butiran ralat. Gunakan pilihan sasaran untuk membina fasa hierarki untuk mengenal pasti titik kegagalan. Pastikan anda menggunakan versi terkini Enjin Docker. Bina imej dengan --t [nama imej]: mod debug untuk debug masalah. Semak ruang cakera dan pastikan ia mencukupi. Lumpuhkan Selinux untuk mengelakkan gangguan dengan proses binaan. Tanya platform komuniti untuk mendapatkan bantuan, sediakan dockerfiles dan bina deskripsi log untuk cadangan yang lebih spesifik.

See all articles