Вы всегда можете использовать статический метод printf from System.out
- тогда вы должны реализовать соответствующий форматтер; это экономит кучу пространства, в котором вам нужны другие примеры.
Пример:
System.out.format("%.4f %n", 4.0);
System.out.printf("%.2f %n", 4.0);
Сохраняет кучу пространства, которое является довольно большим бонусом, тем не менее я придерживаюсь мнения, что этот пример намного более управляем, чем любой другой ответ, тем более, что большинство программистов знать функцию printf из C (Java немного меняет функцию / метод).
Можно присоединить к сессии Emacs до emacsclient
. Во-первых, запустите emacs сервер с [1 112]
M-x server-start
или добавьте (server-start)
к Вашему .emacs
. Затем
export VISUAL=emacsclient
Редактирование далеко.
Примечание:
emacs
и emacsclient
должны согласиться. Если у Вас есть несколько версий установленного Emacs, удостоверьтесь, что Вы вызываете версию emacsclient
соответствие версии Emacs, выполняющего сервер. (server-start)
находится в Вашем .emacs
), буфер будет создан в последнем кадре для запуска сервера. Существует emacsclient, gnuserv, и в Emacs 23, multi-tty, которые все полезны для этого. На самом деле я думаю в Emacs 23, emacsclient имеет всю интересную функциональность gnuserv.
Не совсем верный. ansi-term
может выполнить emacs штраф (хотя я обычно выполняю mg для журналов фиксации, в редком случае я не фиксирую от emacs непосредственно). eshell
может также выполнить emacs, если Вы запускаете screen
первый и выполняете его из туда.
Наряду с использованием клиента / сервера emacs, я использую этот сценарий для вызова emacs.
Это запустит emacs, если он еще не запущен, или просто откроет новый буфер emacs в работающем emacs (используя gnuclient). По умолчанию он работает в фоновом режиме, но может быть запущен на переднем плане для процессов, ожидающих ввода. Например, я использую его в качестве редактора системы управления версиями при вводе описания списка изменений. У меня есть «SVN_EDITOR = emacs sync», поэтому я могу выполнить «svn commit» в оболочке emacs, и он откроет редактор svn в новом буфере emacs в том же самом emacs. Когда я закрываю буфер, "svn commit" продолжается. Довольно полезно.
#!/bin/sh if [ -z $EMACS_CMD ]; then EMACS_CMD="/usr/bin/emacs" fi if [ -z $GNUCLIENT_CMD ]; then GNUCLIENT_CMD="/usr/bin/gnuclient" fi if [ "$1" = "sync" ]; then shift 1 sync=true else sync=false fi cmd="${EMACS_CMD} $*" lsof $EMACS_CMD | grep $USER >/dev/null 2>&1 if [ "$?" -ne "1" ]; then cmd="${GNUCLIENT_CMD} $*" fi if [ $sync = "true" ]; then $cmd else $cmd & fi
Я хотел сделать нечто подобное для слияния в оболочке emacs через mercurial. Благодаря размещенным здесь плакатам я нашел способ. два шага:
добавить: (start-server) в ваш файл .emacs (не забудьте загрузить файл после вашего изменения)
в вашем hgrc:
[merge-tools ] emacs.executable = emacsclient emacs.premerge = False emacs.args = --eval "(ediff-merge-with-ancestor \" $ local \ "\" $ other \ "\" $ base \ "nil \" $ output \ ")"