2015-02-23 3 views
0

Как я могу предотвратить emacs23 от вставки новой строки послепредотвращающих Emacs от вставки новой строки

C-u M-! date 

выполняются? Установка

(setq-default mode-require-final-newline nil) 

не имеет никакого эффекта.

+3

'C-u M-! date' по существу использует внешнюю утилиту, т. е. она совпадает с датой ввода, а затем вводить ключ в обычный терминал. Вы не можете запретить внешнюю утилиту вставлять новую строку. Вы можете использовать Emacs, чтобы вставить дату и избежать использования внешней утилиты; или вы можете использовать внешнюю утилиту, а затем прогеймически удалить новую строку. – lawlist

ответ

3

Как указано в комментарии, новая строка исходит от самой команды «date». Вам нужно найти способ, чтобы сделать команду опускать последний символ новой строки, один из способов сделать это было бы следующее:

C-u M-! echo -n "`date`" 

, в котором мы используем это «эхо» позволяет контролировать конечный символ новой строки. Конечно, есть и другие способы добиться того же.

+1

FWIW вы можете использовать 'printf' вместо' echo -n', поскольку первый - это стандарт POSIX, тогда как 'echo' может быть несколько противоречивым для разных оболочек. – phils

Смежные вопросы