мак ос х лев; Использование Iterm2;
Я хочу изменить свои цветовые профили iterm2, если я использую ssh на терминале.
Можно ли это сделать?
Очень поздно ответ, но я нашел способ здесь , что я хотел бы поделиться. Это предполагает, что вы работаете с Zsh и oh-my-zsh, но, имея некоторый опыт написания сценариев оболочки, вы сможете настроить его для других оболочек.
Я скопировал эти инструкции здесь для потомков:
Создайте два профиля iTerm:
* Your personal preference theme (can be named anything)
* SSH color theme (must be named SSH)
Зайдите в свой ~/.oh-my-zsh/custom
каталог и создайте новый файл с названием iTerm2-ssh.zsh
. Скопируйте и вставьте следующее или скопируйте из репозитория:
function tabc() {
NAME=$1; if [ -z "$NAME" ]; then NAME="Default"; fi
# if you have trouble with this, change
# "Default" to the name of your default theme
echo -e "\033]50;SetProfile=$NAME\a"
}
function tab-reset() {
NAME="YOUR_CUSTOM_PROFILE_NAME_HERE"
echo -e "\033]50;SetProfile=$NAME\a"
}
function colorssh() {
if [[ -n "$ITERM_SESSION_ID" ]]; then
trap "tab-reset" INT EXIT
if [[ "$*" =~ "web*|production|ec2-.*compute-1" ]]; then
tabc SSH
fi
fi
ssh $*
}
compdef _ssh tabc=ssh
alias ssh="colorssh"
Разбивка этого кода:
tabc()
захватывает имя ssh после $ ssh
ввода команды. Это меняет имя SetProfile на ssh .
tab-reset()
отвечает за то, что при выходе из сеанса ssh возвращается обратно к выбранному вами профилю. Не забудьте создать собственное имя профиля и заменить его _YOUR_CUSTOM_PROFILE_NAME_HERE_
именем своего профиля .
colorssh
определяет, когда изменить имя SetProfile . В настоящее время он изменится на профиль SSH, если после этого существует одно из следующих значений $ ssh
:
- web *
- production
- ec2-.*compute-1
Опять не мой код, просто счастливый пользователь. Спасибо за это, Гектор Лейва !