Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 更改Mac上的行结束字符_Macos_Vim - Fatal编程技术网

Macos 更改Mac上的行结束字符

Macos 更改Mac上的行结束字符,macos,vim,Macos,Vim,我买了一台新的Mac电脑,并用Vim编写了一些代码。当我查看git diff时,我更改的代码每行后面都有一个“^M”。我的新mac电脑似乎出于某种原因使用了windows的行尾字符。这不是我的文本编辑器的问题,因为这发生在和Vim中 我找不到任何方法在我的系统首选项中编辑此项,我不确定从这里到哪里。似乎每个解决这个问题的堆栈溢出线程要么简单地解释行尾是如何工作的,要么建议使用一些第三方服务来转换文件中的行尾。我想知道如何更改Mac插入的行尾。Vim尝试对文件使用现有的行尾。要将行尾显式设置为Un

我买了一台新的Mac电脑,并用Vim编写了一些代码。当我查看git diff时,我更改的代码每行后面都有一个“^M”。我的新mac电脑似乎出于某种原因使用了windows的行尾字符。这不是我的文本编辑器的问题,因为这发生在和Vim中


我找不到任何方法在我的系统首选项中编辑此项,我不确定从这里到哪里。似乎每个解决这个问题的堆栈溢出线程要么简单地解释行尾是如何工作的,要么建议使用一些第三方服务来转换文件中的行尾。我想知道如何更改Mac插入的行尾。

Vim尝试对文件使用现有的行尾。要将行尾显式设置为Unix样式,请使用

:set fileformat=unix
:w

有关更多信息,请参阅
:帮助文件格式
。(请注意,Vim帮助可能指的是“mac”样式的行尾,它指的是10.x之前的经典mac OS。mac OS x一直使用Unix样式的行尾。)

这对我不适用。Vim仍然使用^M换行符。同样,我认为这是我的Mac电脑的问题,而不是Vim的问题。当我使用Sublime时也会发生同样的事情Texr@chopperdrawlion4:当Git向您显示差异时,可能是向您显示^M,因为它存在于原始副本中,而不是您的修改副本中。请尝试快速测试。将字符串“set fileformat=unix”放入~/.vimrc。然后创建一个新的文件test.txt,其中有一行“我喜欢啤酒”。添加并提交到git中。然后换成“我喜欢威士忌”。然后做另一个diff,看看它是否工作。