【Hyper】 좋은 느낌의 터미널 환경을 구축

11992 단어 Terminalhyper

하이퍼



※ 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

좋은 웹페이지 즐겨찾기