Nếu tôi mở Vim và gõ itest<Esc>:wq
thì tôi nhận được một tệp không có dòng mới trong Vim nhưng dường như không có dòng mới trong mã:
$ vim -u NONE test.txt
$ cat test.txt | hd
00000000 74 65 73 74 0a |test.|
00000005
Nếu tôi mở Vim và gõ itest<Return><Esc>:wq
thì tôi nhận được một tệp có một dòng mới trong Vim nhưng có hai dòng mới trong mã:
$ rm test.txt
$ vim -u NONE test.txt
$ cat test.txt | hd
00000000 74 65 73 74 0a 0a |test..|
00000006
Lưu ý rằng tôi đang mở Vim với -u NONE
vì vậy không có cấu hình cục bộ nào được sử dụng. Cũng lưu ý rằng điều này có thể liên quan đến một câu hỏi trước đây của tôi .
Đây là thông tin hệ thống của tôi:
$ 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@
Tôi cũng có thể xác nhận chính xác hành vi trên hệ thống này:
$ 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@
Tại sao Vim thêm một dòng mới? Đây có phải là một quy ước?
Dưới đây là một số giải thích về hd
lệnh được cài đặt trên Ubuntu Server:
$ man hd | head -4
HEXDUMP(1) BSD General Commands Manual HEXDUMP(1)
NAME
hexdump, hd — ASCII, decimal, hexadecimal, octal dump