如何阻止Gedit,Gvim,Vim,Nano添加End-of-File换行符?
有时我希望文本文件的最后一行是一个简单的文本字符串, 不附加换行符 :…例如。 将另一个文件连接到它。
多个编辑器通过添加换行符自动修改我的文本,即使我没有按Enter键 。
Remains unmodified:
Emacs,SciTE,凯特,蓝鱼,记事本(葡萄酒)
Newline is added:
Gedit,Gvim,Vim,Nano
我想知道是否有某种方法可以调整Gedit,Gvim和Vim只保存我输入的内容….甚至Nano也可以派上用场
我目前使用Gedit,而且我正在使用Gvim / Vim ..所以知道如何“切换”这些开/关将会很有用…
PS 。 在Gedit,Gvim和Vim中重新打开相同的文件时,光标的文件结束位置位于文本的末尾,而它应该显示在下一个(空)行上。 这是误导性的(但这是因为我已经习惯了)。
我用一个hexeditor来检查上面的观察。
对于gEdit 似乎没有办法禁止在最后插入换行符看到这个答案 。
对于Vim (和gVim 你可以 – 通过执行以下选项:set binary
。 设置为二进制文件将按原样保存文件,而不是在文档末尾插入换行符(除非已存在,否则将保留该文件)。 您可以随时使用:set nobinary
恢复此选项:set nobinary
。
纳米 有点容易。 您可以使用-L
标志启动nano(如果您更像是可视类型,则使用--nonewlines
)。 这将禁止将换行符自动添加到文件末尾(只要实际没有输入)。 理想情况下,您可以在~/.bashrc
设置此别名: alias nanon=nano -L
,它将启动Nano,其中包含no newlines标志。
由于我不确切知道你在做什么,我将指出你为什么文件以换行结束? 这可以解释为什么他们在那里。 简而言之,如果在EOF
之前没有找到EOL
某些应用程序将会失败
对于gEdit:
如果您使用的是Ubuntu 12.04或更高版本,则可以设置该行为。
通过图形用户界面:
- 运行dconf编辑器(
dconf-editor
) - 转到
org
→gnome
→gedit
→preferences
→editor
(或只是搜索ensure-trailing-newline
) - 如果您不想自动添加换行符,请取消选中
ensure-trailing-newline
。
在命令行上:
- 打开终端( ctrl + alt + T )
-
输入以下命令
gsettings set org.gnome.gedit.preferences.editor ensure-trailing-newline false
你已经完成了
参考| Launchpad错误
如果您只想写一个单行文件,那么echo可能是最简单的解决方案:
echo -n "the contents of my file" > myfile