Если я открываю 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