2012-11-01 22 views
1

this page,我發現這種模式VIM方法來突出更長的線

/\%>80v.\+ 

,在通過柱後突出了人物識別線長度超過80個字符幫助80

我不明白其一點一滴的解釋。你可以幫幫我嗎?

+0

哦,你也可以用它來匹配至少有81個字符的行:''/。\ {81 \}。*'''。我覺得這很容易記住。 – steffen

+1

@steffen:不完全。一個角色不一定佔用一個顯示單元(認爲是或亞洲字符)。虛擬列'\%v'匹配單元格寬度,'.'原子字符。 –

回答

2

這其實很簡單。

  • \%>80v虛擬列號80之後開始比賽,見:help %>

  • .\+匹配1個或多個任意字符,請參閱:help /.:help \+

+0

這是一個很好的解釋。 虛擬列平均值選項卡計數爲單個字符而不是頁面上顯示的8個單元格? – user1371666

+0

編號虛擬列將選項卡統計爲x個字符。假設'tabwidth'爲8,並且由' abc'組成的行與'a'上的光標相同:'echo'('。')'返回'3'和':echo virtcol('。')'返回'17'。 – romainl

1

這是您提出的問題的替代,而不是答案。希望沒關係。

您還可以查看colorcolumn。如果你使用textwidth那麼你也可以用相對值

set colorcolumn=81,82,83 

將突出80列之後的三個字符(如酷針對不同文件的文本寬度的變化):

set textwidth=80 
set colorcolumn=+1,+2,+3 

當然你也可以擁有因爲您希望按列分隔的值很少或很多。我認爲它不需要使用範圍或「開放式設置」來「從第N列到行結束」。

顏色本身是由ColorColumn組定義的,所以如果它太花哨,可以輕鬆更改。

我建議這樣做的原因是,即使您正在使用搜索來查找內容,它也會運行。 :)