有时我希望文本文件的最后一行是一个简单的文本字符串,不附加换行符:...例如。将另一个文件连接到它。
即使我没有按Enter ,几个编辑器也会通过添加换行符来自动修改我的文本。
Remains unmodified:
Emacs、SciTE、Kate、Bluefish、记事本(酒)
Newline is added:
Gedit,Gvim,Vim,纳米
我想知道是否有某种方法可以调整 Gedit、Gvim 和 Vim 以仅保存我输入的内容....甚至 Nano 可能会派上用场
我目前使用 Gedit,并且正在涉足 Gvim/Vim .. 所以知道如何“切换”这些打开/关闭会很有用......
附言。在 Gedit、Gvim 和 Vim 中重新打开同一个文件时,光标的文件末尾位置在文本的末尾,而它应该真正显示在下一行(空)上。这是误导性的(但那是因为我习惯了)。
我使用 hexeditor 来检查上述观察值。
对于gEdit
,似乎没有办法禁用在末尾插入换行符,请参阅此答案。对于Vim(和gVim),您可以 - 通过执行以下选项:
:set binary
. 设置为二进制将按原样保存文件,而不是在文档末尾插入换行符(除非已经有一个,它将被保留)。您可以随时使用 恢复此选项:set nobinary
。纳米更容易一些。
-L
您可以使用标志启动 nano (或者--nonewlines
如果您更喜欢视觉类型)。这将禁用在文件末尾自动添加换行符(只要没有实际输入)。理想情况下,您可以在~/.bashrc
:中设置此别名alias nano="nano -L"
,这将启动 Nano,其中不包含换行标志!由于我不确切知道您在做什么,我将向您指出为什么文件应该以换行符结尾?这可以解释为什么他们在那里。简而言之,如果某些应用程序
EOL
在EOF
.对于 gEdit:
如果您使用的是 Ubuntu 12.04 或更高版本,您已经可以设置行为。
通过图形用户界面:
dconf-editor
)org
→gnome
→gedit
→preferences
→editor
(或只是搜索
ensure-trailing-newline
)ensure-trailing-newline
如果您不想自动添加换行符,请取消选中。在命令行上:
输入以下命令
你就完成了。
参考 | 启动板错误
如果你只想写一个单行文件,那么 echo 可能是最简单的解决方案: