【Hyper】 좋은 느낌의 터미널 환경을 구축
하이퍼
※ plugin을 갱신한 분, 수정했습니다(6/30)
Hyper라는 터미널을 만져 보면 꽤 좋은 느낌이었습니다.
뛰어난 점은 Electron으로 구현되어 있어 js로 쉽게 확장할 수 있는 곳입니다. 후에는 역시 cross-platform인 점이군요. 모든 os에서 동일한 앱을 사용할 수 있다는 것은 기쁩니다.
플러그인을 넣고 헤매는 부분도 있었기 때문에,
이 기사에서는 추천 플러그인과 설정 방법 등을 소개합니다.
실행 환경
- macOS High Sierra (10.13.5)
- Hyper 2.0.0
자신이 넣고있는 플러그인입니다.
[~] % hyper list
hyper-material-theme
hyper-broadcast
hyper-search
hypercwd
hyper-statusline
hyper-tab-icons
화면은 이런 느낌입니다.
플러그인 관리
플러그인은 hyper 명령으로 관리 할 수 있습니다. GUI는 없습니다. 어쩌면.
사용법은 다음과 같습니다.
[Guest] % hyper -h
Usage: hyper [options] [command]
Commands:
<default> Launch Hyper
d, docs, h, home Open the npm page of a plugin
help Display help
i, install Install a plugin
ls, list List installed plugins
lsr, list-remote, ls-remote List plugins available on npm
s, search Search for plugins on npm
u, uninstall, rm, remove Uninstall a plugin
Options:
-h, --help Output usage information
-v, --verbose Verbose mode (disabled by default)
hyper i [plugin]
라는 느낌으로 명령을 치면 플러그인을 설치할 수 있습니다.
플러그인 소개
hyper-material-theme
테마 중 하나입니다.
~/.hyper.js에 설정을 추가하면 색을 변경할 수 있습니다.
*투명화는 거동이 안정되지 않습니다(다른 플러그인도 마찬가지).
~/.hyper.js colors: {...
},
MaterialTheme: {
// Set the theme variant,
// OPTIONS: 'Darker', 'Palenight', ''
theme: 'Palenight',
// [Optional] Set the rgba() app background opacity, useful when enableVibrance is true
// OPTIONS: From 0.1 to 1
backgroundOpacity: '1.0',
// [Optional] Set the accent color for the current active tab
accentColor: '#64FFDA',
// [Optional] Mac Only. Need restart. Enable the vibrance and blurred background
// OPTIONS: 'dark', 'ultra-dark', 'bright'
// NOTE: The backgroundOpacity should be between 0.1 and 0.9 to see the effect.
vibrancy: 'dark'
},
hyper-broadcast
여러 화면에서 동시에 명령을 칠 수 있습니다.
hyper-search
터미널의 문자열을 검색 할 수 있습니다.
기본적으로 원하는 것 같습니다.
hypercwd
새 탭을 열면 현재 디렉토리와 동일한 계층 구조로 열립니다.
hyper-statusline
하단에 현재 디렉토리의 위치와 git 상태를 제공합니다.
hyper-tab-icons
제목 곳에 알기 쉬운 아이콘을 붙여줍니다.
다음 기사에서도 언급했듯이 그대로 도입한 것만으로는 잘 작동하지 않습니다.
htps : // 코 m / ぃ 뮤 m / ms / 44478 A 51 F3 A 6 F 49804 F
이것은 Tab의 제목이 동적으로 변경되지 않는 것이 문제였고 해결책은 아래에서 논의되었습니다.
htps : // 기주 b. 코 m/제이 t/hy페르/이스에 s/1188
.zshrc 또는 .bashrc에 코드를 추가하여 해결하는 것 같습니다.
zsh의 경우
.zshrc에 추가
위 사이트의 복사본이라면 잘 안되는 곳이 있었기 때문에 조금만 변경하고 있습니다.
# Override auto-title when static titles are desired ($ title My new title)
title() { export TITLE_OVERRIDDEN=1; echo -en "\e]0;$*\a"}
# Turn off static titles ($ autotitle)
autotitle() { export TITLE_OVERRIDDEN=0 }; autotitle
# Condition checking if title is overridden
overridden() { [[ $TITLE_OVERRIDDEN == 1 ]]; }
# Echo asterisk if git state is dirty
gitDirty() { [[ $(git status 2> /dev/null | grep -o '\w\+' | tail -n1) != ("clean"|"") ]] && echo "*" }
# Show cwd when shell prompts for input.
precmd() {
if overridden; then return; fi
cwd=${$(pwd)##*/} # Extract current working dir only
print -Pn "\e]0;$cwd$(gitDirty)\a" # Replace with $pwd to show full path
}
# Prepend command (w/o arguments) to cwd while waiting for command to complete.
preexec() {
if overridden; then return; fi
printf "\033]0;%s\a" "${1%% *} | $cwd$(gitDirty)" # Omit construct from $1 to show args
}
bash의 경우
.bashrc에 추가
function title {
export TITLE_OVERRIDDEN=1
PROMPT_COMMAND=''
echo -ne "\033]0;"$*"\007"
}
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}\007"'
show_command_in_title_bar()
{
if [[ "$TITLE_OVERRIDDEN" == 1 ]]; then return; fi
case "$BASH_COMMAND" in
*\033]0*)
;;
*)
echo -ne "\033]0;${BASH_COMMAND} - ${PWD##*/}\007"
;;
esac
}
trap show_command_in_title_bar DEBUG
;;
*)
;;
esac
Reference
이 문제에 관하여(【Hyper】 좋은 느낌의 터미널 환경을 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shidash/items/ca60307a1341086b6e44
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[~] % hyper list
hyper-material-theme
hyper-broadcast
hyper-search
hypercwd
hyper-statusline
hyper-tab-icons
[Guest] % hyper -h
Usage: hyper [options] [command]
Commands:
<default> Launch Hyper
d, docs, h, home Open the npm page of a plugin
help Display help
i, install Install a plugin
ls, list List installed plugins
lsr, list-remote, ls-remote List plugins available on npm
s, search Search for plugins on npm
u, uninstall, rm, remove Uninstall a plugin
Options:
-h, --help Output usage information
-v, --verbose Verbose mode (disabled by default)
colors: {...
},
MaterialTheme: {
// Set the theme variant,
// OPTIONS: 'Darker', 'Palenight', ''
theme: 'Palenight',
// [Optional] Set the rgba() app background opacity, useful when enableVibrance is true
// OPTIONS: From 0.1 to 1
backgroundOpacity: '1.0',
// [Optional] Set the accent color for the current active tab
accentColor: '#64FFDA',
// [Optional] Mac Only. Need restart. Enable the vibrance and blurred background
// OPTIONS: 'dark', 'ultra-dark', 'bright'
// NOTE: The backgroundOpacity should be between 0.1 and 0.9 to see the effect.
vibrancy: 'dark'
},
# Override auto-title when static titles are desired ($ title My new title)
title() { export TITLE_OVERRIDDEN=1; echo -en "\e]0;$*\a"}
# Turn off static titles ($ autotitle)
autotitle() { export TITLE_OVERRIDDEN=0 }; autotitle
# Condition checking if title is overridden
overridden() { [[ $TITLE_OVERRIDDEN == 1 ]]; }
# Echo asterisk if git state is dirty
gitDirty() { [[ $(git status 2> /dev/null | grep -o '\w\+' | tail -n1) != ("clean"|"") ]] && echo "*" }
# Show cwd when shell prompts for input.
precmd() {
if overridden; then return; fi
cwd=${$(pwd)##*/} # Extract current working dir only
print -Pn "\e]0;$cwd$(gitDirty)\a" # Replace with $pwd to show full path
}
# Prepend command (w/o arguments) to cwd while waiting for command to complete.
preexec() {
if overridden; then return; fi
printf "\033]0;%s\a" "${1%% *} | $cwd$(gitDirty)" # Omit construct from $1 to show args
}
function title {
export TITLE_OVERRIDDEN=1
PROMPT_COMMAND=''
echo -ne "\033]0;"$*"\007"
}
case "$TERM" in
xterm*|rxvt*)
PROMPT_COMMAND='echo -ne "\033]0;${PWD##*/}\007"'
show_command_in_title_bar()
{
if [[ "$TITLE_OVERRIDDEN" == 1 ]]; then return; fi
case "$BASH_COMMAND" in
*\033]0*)
;;
*)
echo -ne "\033]0;${BASH_COMMAND} - ${PWD##*/}\007"
;;
esac
}
trap show_command_in_title_bar DEBUG
;;
*)
;;
esac
Reference
이 문제에 관하여(【Hyper】 좋은 느낌의 터미널 환경을 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shidash/items/ca60307a1341086b6e44텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)