我想將一大羣標識符從小寫更改爲大寫。我有一個數字(幾百個左右)的唯一標識符以q_
開頭的文件。我構造了一個定義這個匹配的正則表達式:(q_\w*)
,現在我想應用~
命令使它們全部大寫(它們當前是小寫的)。我覺得VIM可以做到這一點,但我的技術還沒有,你能幫忙嗎?VIM:選擇一個正則表達式,然後應用一個命令
5
A
回答
6
如果你想向上情況下,整個標識,對於文件中的每個標識符,用這個替代命令:
%s/q_\w\+/\U&/g
訣竅這裏是在替換模式,它引用了整場比賽&
。這將取代例如q_identifier1
與Q_IDENTIFIER1
。
如果你只想上的情況下q
,那麼你可以使用:
%s/q_\(\w\+\)/Q_\1/g
現在q_identifier1
將改爲:Q_identifier1
如果你想向上情況下,一切除了q_
,然後用:
%s/q_\(\w\+\)/q_\U\1/g
現在q_identifier1
將改爲:q_IDENTIFIER1
0
您還可以使用宏用於此目的:
- 搜索你的模式:
/q_\w*
- 開始錄製宏:
qq
- 變爲大寫並查找下一個:
llve~n
- 停止錄製您的宏:
q
- 重複作爲必要條件:
[email protected]
但僅此而已,否則將包裹和變回小寫(或者你也可以關閉wrapscan
或ignorecase
是暫時的)。
相關問題
- 1. 正則表達式:選擇第一個字符,然後標籤
- 2. 正則表達式一個sed命令
- 3. 正則表達式中的一個表達式來選擇子
- 4. JS正則表達式或只選擇第一個表達式
- 5. Vim使用最後搜索正則表達式的:s命令
- 6. 用另一個正則表達式替換正則表達式
- 7. 適應一個正則表達式SQL
- 8. 正則表達式來檢查量greator然後一個
- 9. 正則表達式在vim視覺選擇,直到最後一個字符選擇
- 10. 關於一個Vim正則表達式中的每一行
- 11. 正則表達式中的字符後,然後再選擇
- 12. 正則表達式:查找四個選項卡,但然後選擇第{標籤
- 13. 正則表達式同一個詞顯示第一個假,然後是真
- 14. 製作一個正則表達式的Django URL令牌可選
- 15. 從另一個正則表達式中排除一個正則表達式
- 16. 如果符合條件,則用另一個正則表達式替換正則表達式的選擇
- 17. 正則表達式「包含」另一個正則表達式
- 18. 正則表達式從另一個正則表達式
- 19. 令牌正則表達式:表示最後一個令牌/不再有令牌
- 20. RexEx匹配一個正則表達式與排列和選擇
- 21. XSLT - 正則表達式只選擇一個從文本()節點
- 22. 正則表達式選擇兩個詞和修剪一切
- 23. 串聯一個Perl的正則表達式選擇
- 24. 正則表達式 - 如何選擇一個有' - '的單詞?
- 25. 如何定義一個Emacs命令「查詢替換,正則表達式」使用特定的正則表達式
- 26. 第一個和最後一個名字的正則表達式
- 27. 一個數字的正則表達式後跟一個詞
- 28. php正則表達式匹配第一個和最後一個
- 29. 忽略MVC模式正則表達式或根據用戶輸入選擇另一個正則表達式
- 30. 正則表達式用單一個
感謝您的快速回答,這似乎是我正在尋找,除了,例如,我有:q_name_confirm - >我想:q_NAME_CONFIRM,與q仍然小寫,感謝 –
與最後一個示例,我收到錯誤:E486:找不到模式:q _ \(\ w + q \) –
是的,刪除了第二個q,它工作的很好!謝謝,還必須將'+'更改爲'*',這有意義嗎? –