Эта конфигурация удаляет номера индексов и другие символы из заголовков окон tmux, чтобы сделать их удобочитаемыми. Результат получился в следующем формате:
basePath/ -> at the terminal prompt
fileName -> inside Vim
Это в основном взято из этого сообщения на StackOverflow.
Разрешить переименование окон наши файлы конфигурации .vimrc и .bash_aliases ниже и установите формат заголовка, чтобы отображалось только имя.
Дополнительные параметры в разделах «ФОРМАТЫ» и «Имя переменной» см. На странице руководства tmux.Например, чтобы сохранить порядковый номер, вы должны изменить строки window-status-format и window-status-current-format на "#I: #W".
set -g allow-rename on
set-window-option -g window-status-format "#W"
set-window-option -g window-status-current-format "#W"
Специально для конфигурации без индексных номеров, вы можете настроить привязки создания вкладок и перемещения, чтобы они были более похожи на браузер и Vim.
# Create window -- Ctrl + t
# Navigate windows -- Ctrl+ h,l
bind -n C-t new-window
bind -n C-h previous-window
bind -n C-l next-window
Установить заголовок окна для имени файла при входе в Vim и сохранении файла.
if exists('$TMUX')
autocmd VimEnter,BufWrite * call system("tmux rename-window ' " . expand("%:t") . " '")
endif
Я использовал bash вместо параметров автоматического переименования в tmux, чтобы заголовок окна был переименован в активную панель, если применимо. Я также переименовываю заголовки обратно в базовый путь при выходе из Vim здесь.
# If Tmux running...
tmux ls > /dev/null 2>&1
TMUX_STATUS=$?
if [ $TMUX_STATUS -eq 0 ]; then
# Create function to get pwd, trim to "basepath/",
# and rename window
basepathTitle () {
getval=$(pwd)
BASEPATH_TITLE=" ${getval##*/}/ "
tmux rename-window "$BASEPATH_TITLE"
}
# Change cd functionality to rename window title to
# pwd after every directory change
cd () {
builtin cd "$@"
CD_STATUS=$?
basepathTitle
return "$CD_STATUS"
}
# Change vim functionality to change title
# back to basepath on close
vim () {
/usr/bin/vim "$@"
VIM_STATUS=$?
basepathTitle
return "$VIM_STATUS"
}
# Set window title when tmux starts
basepathTitle
fi
tmux source-file ~/.tmux.conf
. .bashrc