6

Я играл с этим пару дней, поэтому я уверен, что упускаю что-то простое. Люблю тмукс. Используя его для разработки и имея так много окон, мне нужен лучший способ различать их в строке состояния и в списке буферов. Просмотр списка "bash" и "vim" не очень полезен. И так как они все на одном хосте - не волнуйтесь об имени хоста прямо сейчас.

Я хотел бы показать текущий рабочий каталог и файл, над которым ведется работа. Например, когда я просматриваю список буферов, я сейчас вижу:

(0) 0: vim [100x44] (1 панель) "murph"
(1) 1: vim [100x44] (1 панель) "murph"
(2) 2: bash- [100x44] (1 панель) "murph"
(3) 3: bash * [100x44] (1 панель) "murph"

Вот что я хотел бы увидеть
0:vim main.py ~/devl/project1
1:vim index.html ~/devl/samples/staticfiles
2:bash ~/devl/sandbox
3:bash ~/.vimrc

Я хотел бы видеть подобную информацию в строке состояния для каждого отдельного окна. Хотя я могу показать PWD в строке состояния окна, это только рабочий каталог, из которого был запущен tmux. Это не помогает, когда я меняю каталоги.

Я надеюсь, что это можно сделать без связки скриптов.

Спасибо всем.

2 ответа2

1

Поместите это в ваш ~/.tmux.conf чтобы получить текущую директорию (из той панели, которой вы являетесь) показ в статусе tmux

set -g status-left-length 100
set -g status-left '#[fg=green] #T#[default]'
1

Для bash добавьте в .bash_profile или что-то еще:

PROMPT_COMMAND="echo -ne \"\\033]0;\${USER}@${HOSTNAME}\\007\\033k\${PWD}\\033\\\\\""

Для vim добавьте в .vimrc:

if &term == "screen"
    set t_ts=^[k
    set t_fs=^[\
endif
if &term == "screen" || &term == "xterm"
    set title
endif

autocmd BufEnter * let &titlestring = "vim " . expand("%:t") . " " . expand("%:h")

Для тех, кто не знаком, чтобы получить escape-последовательность ^ [в vim, нажмите Control-V Escape.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .