簡體   English   中英

在vim中以**開頭的行首字母

[英]Capitilize lines starting with ** in vim

我試圖大寫以int開頭的每一行 或INT。

遵循命令

    %s/\<int.*\>/\U&/gi

大寫國際,整數等線。 (我知道我可以添加c然后搜索它然后確認它但我更喜歡將它添加到我的.vimrc並且每當我保存文件時都會得到結果。)

那么我怎樣才能將以int開頭的行大寫。 (int period space另一個詞......)我試過了

%s/\<int.\s*\>/\U&/g

但它不起作用。

謝謝。

你需要使用

%s/^int\..*/\U&/i

這里,

  • ^ - 字符串的開頭
  • int\\. - 一個int.
  • .* - 所有文本到行尾。

\\U& replacement將所有匹配的文本轉換為大寫。

i標志使匹配不區分大小寫。 請注意,此處不需要g ,因為該命令將影響所有行,並且每行只有1個匹配項。

我會這樣做:g命令:

:g/^int\./norm! gUU

一些說明

  • 以上行適用於選項ic集。 我覺得設置icscs很方便。

  • 無論你是否設置了ic下面的行都有效:

     :g/\\c^int\\./norm! gUU 

只是說:看起來更容易:g

就像是:

:g/\v^(int|INT)\./norm! gUU
  • \\v激活regexp的魔法模式,不是強制性的,但我覺得這樣比較容易,
  • :g獲取與模式匹配的所有行,並啟動norm! gUU norm! gUU為每個線(感謝@Kent的提示!)。 如您所知, gUU在正常模式下將整行轉換為大寫。

有關更多信息:g here: http//vim.wikia.com/wiki/Power_of_g這很容易成為許多用戶不知道的Vim的一個殺手級功能。 沒有它,我活不下去!

暫無
暫無

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

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