如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
您可以使用:
vim somefile.txt +"%s/\r/\r/g" +wq
或者dos2unix实用程序。
其他回答
:set fileformat=unix将DOS转换为unix。
可以使用以下命令::%s/^V^M//g其中“^”表示使用CTRL键。
这是我的方式。我在DOS EOL中打开了一个文件,当我保存该文件时,它将自动转换为Unix EOL:
autocmd BufWrite * :set ff=unix
:g/Ctrl-v Ctrl-m/s///
CtrlM是字符\r,或回车符,DOS行结尾添加该字符。CtrlV告诉Vim在命令行中插入文字CtrlM字符。
作为一个整体,该命令将所有\r替换为无,并将它们从行的末尾删除。
我通常使用
:%s/\r/\r/g
这看起来有点奇怪,但由于Vim与linefeed的匹配方式,它起到了作用。我也觉得更容易记住:)
推荐文章
- 同一行上有多个命令
- 如何将所有文本转换为小写在Vim
- 从包含文件名的路径获取不包含文件名的完整路径
- Visual Studio代码-在文件末尾插入换行符
- 使用vimdiff查看所有' git diff '
- Git:从另一个分支复制目录中的所有文件
- PHP,获取没有文件扩展名的文件名
- 禁止在vim中创建交换文件
- NERDTree重载新文件
- 如何在远程系统上使用Ansible任务移动/重命名文件
- 在Vim中,我想返回一个词。w的反义词
- 从java.io.File获取java.nio.file.Path对象
- 在tmux模式中丢失vim配色方案
- 在VIM中删除光标后面或周围的单词
- 在Unix中删除回车