Как остановить Gedit, Gvim, Vim, Nano от добавления символа новой строки конца файла?
Иногда я хочу, чтобы последняя строка текстового файла была простой строкой текста без добавления символа новой строки: ... например. объединить другой файл к нему.
Несколько редакторов автоматически изменяют мой текст, добавляя символ новой строки, даже если я не нажимал Enter.
Remains unmodified:
Emacs, SciTE, Kate, Bluefish, Блокнот (вино)
Newline is added:
Гедит, Гвим, Вим, Нано
Я хотел бы знать, есть ли способ настроить Gedit, Gvim и Vim, чтобы сохранить только то, что я напечатал... и даже Nano может пригодиться
В настоящее время я использую Gedit, и я играю в Gvim/Vim... поэтому было бы полезно знать, как "включать / выключать" их...
PS После повторного открытия того же файла в Gedit, Gvim и Vim, курсор в конце файла находится в конце текста, тогда как он действительно должен отображаться на следующей (пустой) строке. Это вводит в заблуждение (но это из-за того, что я привык).
Я использовал гекседитор, чтобы проверить вышеприведенные наблюдения.
3 ответа
Для gEdit
похоже, нет способа отключить вставку символа новой строки в конце, см. этот ответ.
Для Вима (и gVim
) вы можете - выполнив следующую опцию:
:set binary
, Установка в двоичный файл сохранит файл как есть и не вставит новую строку в конце документа (если только не существует строки, в которой он будет сохранен). В любое время вы можете отменить эту опцию с :set nobinary
,
Nano немного проще Вы можете запустить нано с
-L
флаг (или --nonewlines
если вы больше визуальный тип). Это отключит автоматическое добавление новой строки в конец файла (если он не был введен). В идеале вы можете настроить этот псевдоним в своем ~/.bashrc
: alias nano="nano -L"
, который запустит Nano с включенным в него флагом no newlines!
Поскольку я точно не знаю, что вы делаете, я укажу вам, почему файлы должны заканчиваться символом новой строки? что может объяснить, почему они там. Короче говоря, некоторые приложения не будут работать, если они не найдут EOL
прямо перед EOF
Для gEdit:
Если вы используете Ubuntu 12.04 или выше, вы можете установить поведение уже.
Через графический интерфейс пользователя:
- Запустите редактор dconf (
dconf-editor
) - Идти к
org
→gnome
→gedit
→preferences
→editor
(или просто искатьensure-trailing-newline
) - Uncheck
ensure-trailing-newline
если вы не хотите автоматически добавлять новые строки.
В командной строке:
- Откройте терминал (Ctrl+Alt+T)
введите следующую команду
gsettings set org.gnome.gedit.preferences.editor ensure-trailing-newline false
и вы сделали.
Если вы просто хотите написать однострочный файл, то, возможно, echo - самое простое решение:
echo -n "the contents of my file" > myfile