簡體   English   中英

突出顯示 VIM 中的特定列

[英]Highlight specific column in VIM

我經常處理包含固定位置數據的文件。 如果您願意,可以使用非分隔的“CSV”文件... 通常,我想突出顯示一個特定的列。

我試過了

:match ErrorMsg /\%>30v.\+\%<40v/

但這運行速度非常慢,只匹配第一行。 我想這個文件可能太大了。 請注意,這些文件非常寬(大約 40000 個字符)但不是很長(大約 2000 行)。 數據來自我無法控制的舊工具。

示例文件:

                                                 63082                                                   
                                                 01089                                                   
                                                 75518                              735301               

                                                 53473                              017146               
                                                                                     37217               
                                                                                        07               
                                                                                    940376               
                                                   762                                2842               

                                                                                     88331               
                                                 40680                                8928               
            645718                                                                                       
                                                  0131                                                   
                                                                                     03522               

             47210                                                                   27431               

             93837                                                                                       
                                                                                   8825072    49479415   

                                                 52084                                8940               
                                               0591705                              205635               
                                                                                    525429               
                                                 65339                                 300               


                                                  0397                                                   
                                                                                      1983               
                                                     0                                                   
                                                                                   2605768               
            121991                                                                     648               
                                                  3892                                                   

                                                  1260                                                   

有任何想法嗎?

您使用的是 Vim 7.3 嗎?

顯然他們最近剛剛添加了一個colorcolumn選項。

嘗試:

:set colorcolumn=31,32,33,34,35,36,37,38,39

請注意:help 'colorcolumn'表示“將使屏幕重繪變慢”。 不過,我通過使用1234567890的純塊和您指定的精確重復計數在某種程度上復制了您的場景。

你提到命令很慢。 colorcolumn不是。

但這運行速度非常慢,只匹配第一行

“第一行”是指啟用自動換行時顯示的第一行嗎? 不幸的是colorcolumn將表現出相同的行為......

這與原始主題無關,但谷歌將人們帶到了這里。 在嘗試修復縮進嚴重的 YAML 或任何其他swiftwidth=2文件時,我真的很難在視覺上識別有效列中的內容。 @ib對已接受答案的評論將我引向了這顆寶石。

:let &l:colorcolumn = join(range(3,15,2),',')

它基本上將 set colorcolumn設置為 3 到 15 的逗號分隔字符串值,按 2 計數。(換句話說: :set colorcolumn=3,5,7,9,11,13,15 )結果如下所示:

在此處輸入圖像描述

您可以做一個簡單的:set colorcolumn來查看結果值。

要擺脫它,請執行:set colorcolumn=

暫無
暫無

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

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