程序员

coding| 基础必知必会之换行符

2018-02-11  本文已影响160人  daydaygo

date: 2018-2-11 15:02:17
title: coding| 基础必知必会之换行符

换行符是很 基础 的概念, 所以也是很 容易 遇到问题. 这里简单扫除一下盲点.

内容摘要:

换行符的基本概念

阮一峰blog - 回车和换行

同时推荐:

换行符有 3 种:

这里补充下 编码 的知识:

计算机只能识别二进制 -> 二进制可以转十进制(对人友好) -> 字符集将十进制和字符进行对应

在你眼里的回车(换行), 在计算机里其实 换行符, 最终都是 0和1

换行符引发的问题: git 全文件冲突

如果不注意换行符, 很容易发生这样的情况: git merge 一下, 提示有文件冲突了, 打开一看, 吓一跳: 全文件都冲突了.

<<<<<<< HEAD
    // 全文件
=======
    // 全文件
>>>>>>> xxx-branch

冲突原因: 2个分支上的文件版本使用了不同的换行符

换行符最佳实践

先来解决上面的问题:

IDE - phpstorm

同时在配置中配置上默认使用 Linux 风格换行符:

"default_line_ending": "unix", // sublime3 中添加此配置

phpstorm -> setting -> editor -> code style -> line separator // phpstorm 中的设置方式

不过推荐通过 Ctrl + shift + a 使用命令面板打开:

phpstorm - 打开命令(action)面板
phpstorm - 通过命令(action)直接打开配置
git config -l # 查看版本库的 git 配置
git config -h # 查看 git config 的帮助, 使用 --help 可以查看 html 帮助页面

git config core.autocrlf input # 配置见下图
git config core.safecrlf true # 换行符有冲突时禁止 commit
autocrlf 配置项

写在最后

这里只用 sublime3 和 phpstorm 来举例, 毕竟对换行符的支持, 已经是 现代 编辑器必备的功能了 -- 无论文本文件使用的何种换行符, 可以正确的显示 换行.

不可见字符 想要印象更深刻一点, 可以加上配置让编辑器显示出来:

"draw_white_space": "all",  // sublime3 显示 tab 和 空格
sublime3 显示 tab 和 空格 phpstorm 显示 空格
上一篇下一篇

猜你喜欢

热点阅读