可以利用 cat -A 来观察以 DOS (Windows 系统) 创建的文件的特殊格式, 也可以发现在DOS 使用的断行字符为 ^M$ ,我们称为 CR 与 LF 两个符号。 而在 Linux 下面,则是仅有LF ($) 这个断行符号。这个断行符号对于 Linux 的影响很大。
在 Linux 下面的指令在开始执行时,他的判断依据是 “Enter”,而 Linux 的 Enter为 LF 符号, 不过,由于 DOS 的断行符号是 CRLF ,也就是多了一个 ^M 的符号出来, 在这样的情况下,如果是一个 shell script 的程序文件,就可能造成“程序无法执行”的状态。
因为断行字符以及 DOS 与 Linux 操作系统下面一些字符的定义不同,因此, 不建议你在Windows 系统当中将文件编辑好之后,才上传到 Linux 系统,会容易发生错误问题。 而且,如果你在不同的系统之间复制一些纯文本时,千万记得要使用 unix2dos 或 dos2unix 来转换一下断行格式。
9.5 重点回顾
Linux 下面的配置文件多为文本文件,故使用 vim 即可进行设置编辑;
vim 可视为程序编辑器,可用以编辑 shell script, 配置文件等,避免打错字;
vi 为所有 unix like 的操作系统都会存在的编辑器,且执行速度快速;
vi 有三种模式,一般指令模式可变换到编辑与命令行界面,但编辑模式与命令行界面不能互换;
常用的按键有i, [Esc], :wq 等;
vi 的画面大略可分为两部份,(1)上半部的本文与(2)最后一行的状态+命令行界面;
数字是有意义的,用来说明重复进行几次动作的意思,如 5yy 为复制 5 列之意;
光标的移动中,大写的 G 经常使用,尤其是 1G, G 移动到文章的头/尾功能!
vi 的取代功能也很棒! :n1,n2s/old/new/g 要特别注意学习起来;
小数点“ . ”为重复进行前一次动作,也是经常使用的按键功能!
进入编辑模式几乎只要记住: i, o, R 三个按钮即可!尤其是新增一列的 o 与取代的 R
vim 会主动的创建 swap 暂存盘,所以不要随意断线!
如果在文章内有对齐的区块,可以使用 [ctrl]-v 进行复制/贴上/删除的行为
使用 :sp 功能可以分区窗口若使用 vim 来撰写网页,若需要 CSS 元素数据,可通过 [crtl]+x, [crtl]+o 这两个连续组合按键来取得关键字
vim 的环境设置可以写入在 ~/.vimrc 文件中;
可以使用 iconv 进行文件语系编码的转换
使用 dos2unix 及 unix2dos 可以变更文件每一列的行尾断行字符。