Я хотел бы сделать имя вкладки vim более полезным. Я включил плагин экрана и попробовал несколько подходов. Больше всего мне понравилось бы исправить имя экрана, используя другой файл экрана загрузки, то есть:
screen -S sectionName -c .screenTest
и файл screenTest будет иметь что-то вроде:
source $HOME/.screenrc
chdir $HOME/place
# Screen 0
screen
stuff "something^M"
# Screen 1
screen
stuff "something^M"
stuff "cd place^M"
stuff "vim -p `find -type f -not -path \"*/\.*\" -not -path \"*x86*\" \( -name \"*.py\" -o -name \"*.cxx\" -o -name \"*.h\" \)`^M"
title "Screen1"
Проблема в том, что команда title читается перед выполнением команд вещи. Если кто-то знает, как заставить команду title запускаться после выполнения команд stuff, это было бы прекрасно. Я старался:
материал "^ A:title TitleValue ^ M"
но он не пишет на экране вставку команды, он пишет на терминале (^ A и ^ M записываются в vim с использованием ^V^A
).
Затем я попытался отредактировать файл screen.plugin.zsh.
Я попытался изменить методы prexec и precmd zsh, когда у входной команды есть vim
для отображения места. Но я не мог этого сделать.
Извините, что опубликовал это здесь, но если кто-то может помочь мне сделать это, это звучит довольно просто, но я застрял в этом, даже если я изменю $ cmd, это не изменит синтаксис TAB, то есть если я сделаю:
if [[ "$cmd" == "vim*" ]]; then
# How do I check if variable $cmd has string "vim" in it using zsh?
echo "changing for vim!"
cmd=''
fi
это изменяет заголовок терминала, но не заголовок окна экрана. Есть идеи? Этот вопрос также здесь, но я думаю, что этот вопрос более уместен здесь, так как это точно не вопрос о-о-о-о.
Еще одна вещь, которая может помочь, заключается в том, что если бы я мог установить некоторые окна, чтобы они не меняли автоматически свои заголовки, тогда как другие изменились бы.