Якщо я відкрию 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:
$ man hd | head -4
HEXDUMP(1) BSD General Commands Manual HEXDUMP(1)
NAME
hexdump, hd — ASCII, decimal, hexadecimal, octal dump