Re: а посоветуйте эмулятор терминала
On 2013-12-15, Artem Chuprina wrote:
Ни с первым ни с вторым решения не знал, но у самого такие же вопросы
возникали.
> Первая. Довольно часто запускается долгая компиляция, и хочется уже
> переключиться на что-то другое (так, что окно с выводом компилятора
> становится не видно), но хочется сигнализацию о том, что команда
> завершилась. Хочется уже _после_ того, как ее запустил. То же для
> emacs.
>
ii notification-daemon 0.7.6-1 daemon for displaying passive pop-up notifications
http://www.gnu.org/software/emacs/manual/html_node/elisp/Notifications.html
(require 'notifications)
(notifications-notify
:title "Title."
:body "Hello!"
:urgency 'critical
:timeout 100)
(defvar compilation-finish-functions nil
"Functions to call when a compilation process finishes.
Each function is called with two arguments: the compilation buffer,
and a string describing how the process finished.")
Или:
(defun my-compilation-finish-notification (buffer status)
(notifications-notify
:title (buffer-name buffer)
:body (format "Compilation finished with %s." (if (string-match "^finished" status) "success" "failure"))
:timeout 100))
(add-to-list 'compilation-finish-functions #'my-compilation-finish-notification)
Данная функция вызывается на M-x compile, M-x grep и т.д. Внутри по
(eq 'compilation-mode (buffer-local-value 'major-mode buffer))
можно отфильтровать нужные режимы.
notification-daemon довольно таки тупой. Например, игнорирует параметр
timeout. Рад буду услышать альтернативы.
> Вторая. Хочется инкрементный поиск по истории _вывода_. Угу, я уже
> слышу "M-x term" или "M-x eterm", но запускать по емаксу на каждый шелл
> (а как иначе видеть пять штук одновременно? у emacs не шибко удобный
> window management) - это перебор. Хотя вот есть в дистрибутиве пакет
> emacs-window-layout... Впрочем, тьфу ты, черт, есть же вполне
> пристойный frame management, если сесть и настроить несколько ручек...
Та нормальный менеджмент. C-x 2 (гориз), C-x 3 (верт), C-x 1 (только я), C-x 0
(скрой меня), С-x + (сбалансируй размеры окон).
Запускать один Emacs обязательно. Так через терминальный интерфейс
(recovery/ssh) у Вас будет общий буффер обмена, можно из мана копировать текст
в консоль или из консоли в конфиг-файл!
Или screen (поиск и копи-паста):
http://web.mit.edu/gnu/doc/html/screen_11.html#SEC60
http://michael.thegrebs.com/2008/07/10/screen-copy-mode-can-copy/
http://stackoverflow.com/questions/16111548/how-copy-the-gnu-screen-copy-buffer-to-clipboard
http://www.serverwatch.com/tutorials/article.php/3838021/Cut-and-Paste-With-Screen.htm
Ну или записывать сесию по script и лазить по файлу в любибом редакторе (не
знаю как оно флюшится часто)...
--
Best regards!
Reply to: