[英]How remove text wrap using vim text editor?
我正在嘗試編寫一個vim腳本來刪除文本換行,我正在使用以下代碼,但它未提供確切的輸出。 例如\\ string {this表示換行符}如果“ this”出現在第一行中,“ indicate”出現在第二行中等等,那么我如何刪除文本換行。 可能嗎?
:%s/\\string{\zs\(\_[^}]*\)\ze}/\1/gec
for example (i/p): \string{1 <enterkey> 2 <enterkey> 3 <enterkey>
4 <enterkey> 5 <enterkey>}. i need (o/p) \string{1 2 3 4 5}.
在我之前:
\string{1
2
3
4
5
}
在我想要之后:
\string{1 2 3 4 5}
在我開始之前(新模式):
\string{1
{2}
{3}
4
5}
在我想要之后:
\string{1 {2} {3} 4 5}
此行可滿足您的需求:
%s/\\string{\_[^}]*/\=substitute(submatch(0),"\n",' ','g')/
它改變:
foobar
\string{1
2
3
4
5
}
foobar
變成:
foobar
\string{1 2 3 4 5 }
foobar
如果您提供了更長的文本示例以及您要使用的文本示例,則更容易理解您的問題。 如果我理解正確,您可能想刪除包含\\\\string{this
的行上的換行符。
您可以使用:%g/\\\\string{this/j
。 它在與\\\\string{this
模式匹配的每一行上執行j
命令。
輸入:
some text
\string{this
indicate}
more text
變成:
some text
\string{this indicate}
more text
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.