Cocokkan dua spasi dengan pencarian tambahan


20

Saat mencari menggunakan:

C-s SPC SPC

Juga cocok dengan spasi tunggal. Saya ingin mencocokkan tepat dua ruang.

Jawaban:


24

Gunakan M-s SPCselama Isearch untuk beralih spasi yang cocok secara harfiah. Saat mencocokkan secara harfiah, setiap SPCkarakter yang Anda ketik dicocokkan secara individual. (Ini digunakan untuk menjadi perilaku Emacs default, BTW.)

Untuk mengkonfigurasi ini sebagai perilaku default menyesuaikan pilihan search-whitespace-regexpuntuk nil. ( M-x customize-option search-whitespace-regexp.)

Lihat manual GNU Emacs, simpul Special Isearch.


Terima kasih untuk ini. Mungkin bagus untuk benar-benar meletakkan baris .emacs (set-variable 'search-whitespace-regexp nil)di sana. Terima kasih.
Gray

1
@ Abu-abu: set-variabletidak menyimpan nilai baru secara terus-menerus, sehingga tidak akan mengubah perilaku default. Saya pikir M-x customize-optioninilah yang disebut di sini.
Drew

Oh saya sedang membicarakannya di file dot emacs. Tidak tahu tentang opsi penyesuaian. Terima kasih sudah mengedit.
Gray

3

Menggunakan pencarian tambahan regexp menyelesaikan masalah, jika Anda lolos dari karakter spasi:

C-M-s \SPC\SPC

Anda juga dapat menggunakan pencarian dan ganti tanpa garis miring terbalik, jika itu yang Anda cari:

M-% SPC SPC

Saya mengalami masalah yang sama hari ini ketika membangun makro keyboard. Jawaban ini memecahkan masalah bagi saya, meskipun saya harus menggunakan kombinasi tombol ESC C-s. Lihat juga github.com/leoliu/ggtags/issues/64
Jonas Dahlbæk

3

Menggunakan pencarian regexp membantu, tetapi Anda juga dapat memastikan spasi literal untuk pencarian menggunakan C-q SPCuntuk mengutip spasi dalam pencarian.

Untuk menghilangkan jawaban @ Rovanion, gunakan isearch-forward-regexp:

C-M-s C-q SPC C-q SPC

Itu akan mencari dua spasi berturut-turut. Menariknya, isearch-forward-regexpmembutuhkan kecocokan diskrit. Mencari aaauntuk aahanya akan cocok sekali dan tidak lagi di karakter kedua.


Mengenai catatan terakhir Anda, bayangkan mencari "nol atau lebih spasi putih diikuti oleh sesuatu" dan, diberikan N karakter spasi putih terkemuka, harus melewati semua pertandingan individu N + 1. Saya bisa melihat bahwa menjadi opsi yang masuk akal untuk diberikan, tetapi itu akan menjadi default yang mengerikan.
phils
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.