如果我打开Vim并键入,itest<Esc>:wq
那么我会得到一个文件,该文件在Vim中没有换行符,但是在代码中似乎确实有换行符:
$ vim -u NONE test.txt
$ cat test.txt | hd
00000000 74 65 73 74 0a |test.|
00000005
如果我打开Vim并键入,itest<Return><Esc>:wq
那么我将得到一个文件,该文件在Vim中有一个换行符,但是在代码中有两个换行符:
$ rm test.txt
$ vim -u NONE test.txt
$ cat test.txt | hd
00000000 74 65 73 74 0a 0a |test..|
00000006
请注意,我使用打开Vim,-u NONE
所以没有使用本地配置。还请注意,这可能与我先前的问题有关。
这是我的系统信息:
$ uname -a
Linux awsAlpha 3.2.0-60-virtual #91-Ubuntu SMP Wed Feb 19 04:13:28 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled May 4 2012 04:25:35)
Included patches: 1-429
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by buildd@
我也可以在此系统上确认完全相同的行为:
$ uname -a
Linux bruno 3.5.0-48-generic #72-Ubuntu SMP Mon Mar 10 23:18:29 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
$ vim --version
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Oct 26 2012 16:45:33)
Included patches: 1-547
Modified by pkg-vim-maintainers@lists.alioth.debian.org
Compiled by buildd@
Vim为什么要添加换行符?这是惯例吗?
以下是有关hd
在Ubuntu Server上安装的命令的一些说明:
$ man hd | head -4
HEXDUMP(1) BSD General Commands Manual HEXDUMP(1)
NAME
hexdump, hd — ASCII, decimal, hexadecimal, octal dump