2015-02-16 1 views
0

Я использую по умолчанию < # {pane_current_path}>, чтобы отобразить текущий рабочий каталог для текущей используемой панели. Однако результатом является длинный полный путь к каталогу, занимающий много места в строке состояния.как передать tmux varible во внешний скрипт для строки состояния

Я хотел бы использовать скрипт оболочки или рубиновый скрипт, чтобы сократить его и отобразить короткий путь, например, начиная с домашнего каталога или только из двух последних подкаталогов.

Я застрял найти способ, чтобы сценарий оболочки принять # {} pane_current_path как varible, смотрите ниже:

set -g status-left "#[fg=blue][#S] #I:#P #(cm_tmux_status_pwd.rb #{pane_current_path})" 

Я испытал это, очевидно, не работает.

Есть и другие способы достижения этого, но это глючит, как и setenv, а затем showenv во внешнем скрипте, см. Ниже, он просто не может синхронизироваться очень хорошо.

tmux showenv -g TMUX_PWD _ $ (tmux display -p "#D" | tr -d%) | СЕПГ «s /^.*=//»

Так, пожалуйста, вы можете предложить, если то, что я ожидал выполнимо или нет, во всяком случае, чтобы манипулировать # {pane_current_path}?

ответ

2

Вместо того чтобы передавать аргумент скрипту, почему бы не извлечь из сценария что-то нужное?

Вы можете использовать это:

tmux display-message -p -F "#{pane_current_path}" 

Это будет получить Pane текущий путь в скрипте или из-за пределов tmux.

Если вы собираетесь использовать Баш для сценария, вот как присвоить текущее значение пути панели переменного (кстати двойные кавычки внутри двойных кавычек в порядке.):

local current_path="$(tmux display-message -p -F "#{pane_current_path}")"

+0

блестящий, это сработало! –

+0

Кстати, я использую несколько ваших удивительных плагинов. –

+0

Возможно ли, что у меня может быть имя на основе панели - имя панели для указания того, для чего эта панель? Я еще не нашел ответа и кажется, что tmux теперь не поддерживает имя панели. Есть ли другая внутренняя переменная, похожая на # {pane_current_path}, которую я могу использовать для ручной настройки этого имени самостоятельно через мой скрипт? –

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