Editor vim ialah salah satu penyunting teks paling maju dalam sistem Unix Ia menyokong hampir semua jenis fail dan juga dikenali sebagai editor pengaturcara. Dalam tutorial ini, kami akan belajar cara melakukan operasi carian dalam editor vim untuk mencari teks yang kami perlukan dengan cepat.
Tetapi sebelum itu, sila ambil perhatian bahawa semua contoh, arahan dan arahan yang disebut dalam artikel ini telah diuji di bawah Ubuntu 14.04 dan Vim 7.4.
Operasi carian asas dalam Vim
Apabila anda membuka fail dalam Vim dan ingin mencari perkataan atau templat tertentu, langkah pertama ialah keluar dari mod sisip dengan menekan kekunci Esc (jika anda berada dalam mod sisip). Kemudian taip / diikuti dengan perkataan atau corak carian yang anda ingin cari.
Sebagai contoh, jika perkataan yang anda ingin cari ialah linux, imej berikut menunjukkan arahan carian di bahagian bawah tetingkap Vim:
Selepas menekan kekunci Enter, anda akan melihat bahawa Vim akan meletakkan kursor pada baris pertama yang mengandungi perkataan ini ditemui bermula dari kedudukan kursor dalam mod sisipan. Jika anda baru sahaja membuka fail dan mula mencari serta-merta, carian akan bermula dari baris pertama fail.
Jika anda ingin beralih ke kedudukan seterusnya yang mengandungi perkataan yang dicari, tekan kekunci n. Apabila anda telah merentasi semua lokasi templat yang dicari, teruskan menekan kekunci n Vim akan mengulangi operasi carian, dan kursor akan kembali ke kedudukan di mana hasil carian pertama muncul.
Semasa melintasi hasil carian, jika anda ingin kembali ke perlawanan sebelumnya, tekan N (iaitu shift+n Pada masa yang sama, perlu diingat bahawa pada bila-bila masa, anda boleh memasukkan ggn untuk melompat ke pertama Perlawanan, atau GN untuk melompat ke tempat terakhir
.Apabila anda berada di bahagian bawah fail dan ingin mencari ke belakang, gunakan ? Gambar di bawah adalah contoh:
Sesuaikan carian anda
1. Serlahkan hasil carian
Walaupun mudah untuk melompat dari titik padanan perkataan atau corak yang dicari ke tempat lain melalui n atau N, ia akan menjadi lebih mesra pengguna jika titik padanan boleh diserlahkan. Sebagai contoh, sila lihat tangkapan skrin yang dilampirkan:
Ini boleh dicapai dengan menetapkan pembolehubah hlsearch, contohnya dengan melaksanakan arahan berikut dalam mod biasa/baris arahan:
:set hlsearch
2. Jadikan carian tidak sensitif huruf besar/kecil
Mencari dalam Vim adalah sensitif huruf besar-kecil secara lalai. Ini bermakna jika saya mencari linux, Linux tidak akan sepadan. Walau bagaimanapun, jika ini bukan cara anda mahu mencari, anda boleh membuat carian tidak sensitif huruf besar menggunakan arahan berikut:
:set ignorecase
Jadi apabila saya menetapkan pembolehubah abaikan dan kemudian menggunakan arahan yang dinyatakan sebelum ini untuk mencari linux, lokasi linux juga akan diserlahkan.
3. Cari kes pintar
Vim menyediakan ciri di mana editor akan peka huruf besar kecil hanya jika perkataan/templat yang hendak dicari mengandungi huruf besar. Untuk melaksanakan fungsi ini, anda mesti menetapkan abaikan huruf dahulu dan kemudian tetapkan pembolehubah huruf pintar.
:set ignorecase :set smartcase
Sebagai contoh, jika fail mengandungi LINUX dan linux, apabila fungsi carian kes pintar dihidupkan, jika anda menggunakan /LINUX untuk mencari, hanya perkataan LINUX akan dicari. Sebaliknya, jika anda mencari linux, hasil carian akan dipadankan tanpa mengira kes.
4. Carian progresif
Sama seperti Google, yang memaparkan hasil carian yang berbeza semasa anda memasukkan rentetan pertanyaan (rentetan sentiasa dikemas kini dengan setiap aksara yang anda masukkan), Vim juga menyediakan carian progresif. Untuk menggunakan ciri ini, anda mesti melaksanakan arahan berikut sebelum mencari:
:set incsearch
Beberapa petua hebat untuk mencari dalam Vim
Terdapat beberapa petua berkaitan carian lain yang mungkin berguna untuk anda.
Jom mulakan! Jika anda ingin mencari perkataan dalam fail tetapi tidak mahu menaipnya, gerakkan kursor anda di bawah perkataan dan tekan * (atau shift +8). Jika anda ingin memulakan carian separa (contohnya, cari dalam dan terminal), maka anda perlu menggerakkan kursor di bawah perkataan (dalam kes ini, dalam) dan kemudian tekan g* pada papan kekunci (tekan g sekali dan kemudian Teruskan tekan * ).
Nota: Jika anda ingin membalikkan carian, tekan # atau g#.
Berikut ialah video yang boleh anda tonton:
Pemain Video
00:00
03:33
下一个,只要你想要,你可以获得所有被搜索单词或模式匹配处所在的行和行号的一个列表。这可以在你开始搜索后通过按 [I 来实现。如下图是一个列表结果如何在 Vim 窗口底部被分组和显示的例子:
接下来,你可能已经得知,Vim 默认是环形搜索的,意味着在到达文件结尾处(或者被搜索单词的最后一处匹配)时,如果继续按 “搜索下一个” 会将光标再次带回第一处匹配处。如果你希望禁止环形搜索,可以使用如下命令:
:set nowrapscan
再次开启环形搜索,使用如下命令即可:
:set wrapscan
最后,假设你想要对文件中已经存在的单词做一点小小的修改,然后对修改后的单词执行搜索操作,一种方法是输入 / 与要搜索的单词。但是如果这个单词又长又复杂,那么可能需要一点时间来输入它。
一个简单的办法是将光标移到你想要略微修改的单词下,按/ 之后再按Ctrl +r 最后按 Ctrl块 + w 。这个在光标下的单词不仅仅会被拷贝,也会被复制到/ 后,允许你对它进行修改并且继续进行搜索操作。
如果想要获得更多小技巧(包括如何使用鼠标来使在 Vim 中的操作变得简单),请前往 Vim 官方文档。
在本教程中,我们介绍了如何在vim编辑器中进行搜索和替换,包括使用斜杠和点方法,使用冒号和s命令,以及使用全局命令。我们还学习了如何设置大小写敏感或不敏感,以及如何搜索整个单词。vim编辑器提供了强大而灵活的搜索功能,可以帮助我们提高编辑效率。
Atas ialah kandungan terperinci Teknik carian untuk editor vim dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!