簡體   English   中英

emacs空間正則表達式搜索

[英]emacs space regex search

我想在一行的開頭搜索x個空格,使用交互式常規搜索^SPC<選擇以可變數量的空格開頭的所有行。 根據emacs Wiki

 (setq search-whitespace-regexp " ")

應該解決這個問題,但是這會逆轉行為:當我在搜索中輸入多個空格時,它將選擇一個空格。 我不記得以前的emacs(現在使用23.2)的這種行為。 有沒有一種方法可以使交互式搜索在輸入一個空格時選擇一個空格,而在輸入x個空格時選擇x個空格?

歡呼耶隆

我認為您觀察到的行為是預期的行為。 search-whitespace-regexp的文檔中:

如果不為null,則使用正則表達式來匹配一系列空白字符。 [...]當您在增量正則表達式中放置一個或多個空格時,就代表了這一點。

請注意第二句話-每當您在正則表達式中添加單個(或多個)空格字符時,該解釋就如同您輸入search-whitespace-regexp的值一樣。 由於您已將該變量定義為單個空格字符,因此正則表達式中的一個或多個空格字符將僅與緩沖區中的單個空格字符匹配。

因此,可能最簡單的方法是將變量設置為nil ,在這種情況下,在交互式正則表達式搜索中不再以特殊方式處理空格字符。 正則表達式中的單個空格字符將僅與緩沖區中的單個空格字符匹配。

(setq search-whitespace-regexp nil)

您可以嘗試^[ ]\\{5\\}<以獲得以5個空格開頭的行,然后是<

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM