터미널에서 alias(별명) 플러그인을 쓰고 있습니다. 대표적인게 git인데, oh-my-zsh을 쓰신다면 "git commit -v"는 "gc", "git pull"은 "gl" 등으로 줄여서 쓸 수 있습니다

alias로 설정된 커맨드는 "alias ㅇㅇㅇ" 이런식으로 확인할 수 있는데요, "alias gc"를 입력하면 "git commit -v" 이렇게 어떤 커맨드가 줄여진건지 나옵니다.

전 몇몇 커맨드는 헷갈려서 항상 alias를 입력해보기도 하는데요 (ex. grs, grst, grh, ...) 이 과정이 귀찮아서 그냥 터미널에 alias 결과를 실시간으로 띄워주는게 없을 까 찾아봤습니다.

 

Prompt segment displaying expanded alias as we type? · Issue #1095 · romkatv/powerlevel10k

Hi, I was looking for a way to display a right prompt segment displaying the expanded value of an alias, while typing, if the command being typed on the command line would expand as an alias. It lo...

github.com

찾아보니 바로 나오네요. .p10k.zsh에 몇 줄만 추가하면 된다고 합니다. 

function prompt_my_alias() {
  p10k segment -b blue -f yellow -e -t '${my_expanded_command//\%/%%}'
}

function p10k-on-post-widget() {
  emulate -L zsh
  local buf=$PREBUFFER$BUFFER
  local words=(${(Z+C+)buf})
  words[1]=$aliases[$words[1]]
  local cmd
  [[ -n $words[1] ]] && cmd="$words"
  if [[ $cmd != $my_expanded_command ]]; then
    my_expanded_command="$cmd"
    p10k display -r
  fi
}

일단 ~/.p10k.zsh를 열고, prompt_example 함수를 찾아 바로 밑에 이런식으로 복붙 합니다.

POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(... my_alias)

그 다음엔 RIGHT_PROMPT_ELEMENTS에 my_alias를 추가해줘야 합니다

사진 위치처럼 넣어주면 좋습니다

이제 쉘을 재시작하면 이런식으로 alias가 적용된 내용이 프롬프트 우측에 나오게 됩니다. 정말 편합니다!

이 방법의 단점은 복잡한 alias는 안된다는데 그렇게 까지 할 일은 없을 것 같으니.. 여기서 만족하겠습니다.

반응형