如何删除vim中隐藏的换行符或回车符

如何删除vim中隐藏的换行符或回车符,vim,Vim,我在macOS上有一个由Windows创建的CSV文件,如下所示: "C00115940","","","","","O","","","f","","b",NULL,"92583","","123-456-7890",

我在macOS上有一个由Windows创建的CSV文件,如下所示:

"C00115940","","","","","O","","","f","","b",NULL,"92583","","123-456-7890","","","","","","M","W","","","","jc@abc.def","","","","C","5","","S",NULL,"92583","","951","","","m@s.gov","","","","","","","","","",NULL,NULL,"",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"",NULL,NULL,"",NULL,NULL,"",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"",NULL,NULL,"",""," ","1","",NULL,"","","","","",NULL,"","75350","","","",NULL,"","","","","","","","","","",""¬
"C00102747","","","","","R","","","3","","A",NULL,"12207","","5","","","","","","S","D","","","","t@abc.def","","","","R","35 Any St¬
3rd Fl","","A",NULL,"12207","","5","","","S@r.org","","","","","","","","","",NULL,NULL,"",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"",NULL,NULL,"",NULL,NULL,"",NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,"",NULL,NULL,"",""," T","1","",NULL,"","","","","",NULL,"","75350","","","",NULL,"","","","","","","","","","",""¬
在vim中,我启用了:set list,以便您可以看到换行符的位置

在第二行中,我需要删除一个字段中间的换行符。每一行都应该以双引号结尾。例如,如果我这样做,/[^]$我可以在第二行上看到t,其中换行符位于地址字段35的任何第三层

我已经尝试过:%s/\[^]\$/\1/g,但没有任何效果

我是否可以运行更好的替换命令来删除这些不好的换行符,但不删除任何其他换行符?

您已经接近了!您可以使用\n来匹配vim的search命令中的新行,以便 可以使用以下选项高亮显示有问题的行:

/[^"]\n
你可以像这样加入他们:

:%s/\([^"]\)\n/\1/g
或者使用全局命令以更优雅的方式:

g/[^"]\n/join
或相当于:

g/[^"]\n/normal J
你接近了!您可以使用\n来匹配vim的search命令中的新行,以便 可以使用以下选项高亮显示有问题的行:

/[^"]\n
你可以像这样加入他们:

:%s/\([^"]\)\n/\1/g
或者使用全局命令以更优雅的方式:

g/[^"]\n/join
或相当于:

g/[^"]\n/normal J