[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: tmux на локальной машине



Опять же, не знаю как в screen, но в tmux я активно использую штуку
когда по нажатию сочетания клавиш, он мне во временный файл сохраняет
содержимое текущего pane, открывает ещё один pane, а в нём команду
натравленную на временный файл:

    bind-key u capture-pane -J \;
        save-buffer /tmp/tmux-buffer \;
        split-window 'urlview /tmp/tmux-buffer' \;
        delete-buffer
    bind-key y capture-pane -J \;
        save-buffer /tmp/tmux-buffer \;
        split-window 'vim /tmp/tmux-buffer' \;
        delete-buffer

например я в терминале вижу ссылку и мне хочется её открыть в броузере.
Нажимаю Prefix-u и мне открывается новое окно (pane) в котором urlview
позволяет выбрать ссылку и нажать enter, закрыв это окно. Или хочется
как-то вырезать/обработать текст который вижу на экране, но удобно сразу
же в текстовом редакторе -- нажимаю Prefix-y и у меня новый pane, в
котором vim с уже вставленным содержанием pane на котором я нажал
сочетание.

Видел use-case у пользователя с Gvim-ом: обычно всякие сообщения об
ошибках компиляции в формате "filename:lineno:colno". Так вот, опять же,
простое сочетание запускает sed/whatever который готовит вывод для
диалога предлагающего открыть обнаруженные на экране строчки, выбрав
нужную, он посылает команду ":e filename +lineno" в Gvim (он же, как бы,
клиент-серверный).

У меня когда-то был use-case чтобы всякие "#666" открывать в броузере
как ссылку для Redmine.

Я точно знаю что выбор ссылок или вот что-то сделать с отпарсенными
значениями можно и в urxvt, в котором на Perl можно скриптовать, но я не
понимаю зачем. Наверняка в любой системе есть screen/tmux, так почему бы
это не сделать в них? Терминал может поменяться от системы к системе, а
tmux всегда будет точно такой же родной с собой. Лично я вот люблю не
монстров типа gnome-terminal, а что-то очень простое, suckless, типа st
(st.suckless.org). А без tmux/whatever все эти хотелки требуют
прожорливых огромных монстров терминалов.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF


Reply to: