我對vim和ex很新,我想知道是否有人可以幫我解決一個我很模糊的問題。我想知道如何交換每一行或模式發生的字符。例如,我將如何交換文件中每行的前兩個字符。我知道它可以完成,我很確定它涉及使用圓括號來存儲字符。但那是我所知道的。另外,假設我想用一些字符串替換everyline上的第二個字符,我該怎麼做?交換ex的字符
Q
交換ex的字符
1
A
回答
1
在vim中將每行中的第二個字符替換爲r
::%s/^\(.\)./\1r/
:
:%s/p/r/
與r
爲(因爲%
)所有行更換圖案p
;^
start line;\(
開始一組;.
任何字符(本例中的第一個);\)
結束組;.
任何字符(本例中的第二個);\1
反向引用第一組(本例中的第一個字符);r
替換文字。
要交換兩個第一個字符::%s/^\(.\)\(.\)/\2\1/
。
0
交換在每一行的前兩個字符:
:%s/^\(.\)\(.\)/\2\1/g
以 「串」 在每一行更換第二字符:
:%s/^\(.\)\(.\)/\1string/g
0
你可以做以下交換每一行的前兩個字符在緩衝區:
:%norm xp
或:
:%s/\v^(.)(.)/\2\1
你需要的:global
命令應用上面的命令在每一行符合特定模式:
:g/foo/norm xp
或:
:g/foo/s/\v^(.)(.)/\2\1
參考:
:help :normal
:help :global
:help :s
:help range
相關問題
- 1. 交換字符
- 2. 字符交換
- 3. 字符串字符交換
- 4. Juniper EX交換機。 Crontab作業
- 5. 交換字符串
- 6. 交換Unicode字符
- 7. 字符串中的交換字符
- 8. JavaScript的交換和替換字符串
- 9. 交換字符串中的數字
- 10. 交換字符串R中的數字
- 11. 交換2個字符
- 12. C++交換字符串
- 13. C++:交換字符參考
- 14. 字符串替換交替
- 15. Vim Ex模式正則表達式:如何做案例感知的字交換
- 16. 如何與假字符中的非字母字符交換
- 17. asp.net翻轉字符串(交換字符)字符
- 18. 交換奇字符串的算法
- 19. 交換原始字符串的一半
- 20. 交換2個C++數組的字符
- 21. ASP.NET Gridvgiew。交換圖像的字符串
- 22. FindFirstFile(Ex)通配符
- 23. python中的字符串字符的條件交換? (Dynamic Substitution Cipher)
- 24. 交換字符的字符串列表內的Python
- 25. 通過交換函數進行字符串交換
- 26. 交換字符串中的所有字符
- 27. Text Manipulation Excel - 如何交換字符串中的兩個字符?
- 28. 記事本++如何交換字符串中的字符
- 29. 如何交換字符串變量中的兩個字符?
- 30. 交換字符串中的字符位置(bash)