본문 바로가기
목차
utils/cmd and powershell

Windows에서 Oh-My-Posh 설치하기

by ds31x 2025. 10. 11.
728x90
반응형

Windows 외의 OS에서는 Oh My Zsh 를 권장한다. 

oh-my-posh보다 빠름.

 

Windows에서의 설치는 winget 을 이용하길 권함:

2024.09.08 - [utils] - [Utils] winget 간단 사용법

 

[Utils] winget 간단 사용법

winget은 CLI Windows Package Manager임.SW 설치,업데이트,제거등등을 쉽게 수행할 수 있음https://dsaint31.me/mkdocs_site/CE/ch15/ce15_2_5_package_management/ BME228Package Management : apt, yum, brew 등등 SW들의 경우 다양한 기

ds31x.tistory.com

 

Oh My Zsh 는 MacOS나 linux에서 권함:

2023.09.11 - [Linux] - [zsh] install zsh and oh-my-zsh:

 

[zsh] install zsh and oh-my-zsh:

oh-my-zsh이나 oh-my-posh는 shell 터미널 환경을 쉽게 customizing 할 수 있도록 여러 테마와 플러그인으로 구성된 오픈소스 프레임워크임. shell framework 또는 prompt theme engine이라고 불림.oh-my-posh 는 zsh외의

ds31x.tistory.com


Nerd Font  설치

Nerd Fonts 를 설치해야 프롬프트 엔진을 제대로 사용가능함.

 

Oh My Posh 나 Oh My Zsh 등의 프롬프트 엔진에서
사용가능한 테마의 아이콘, 기호(glyph) 등을 깨짐 없이 정확하게 표시하기 위해
다양한 프로그래밍 및 기술 관련 아이콘을
기본 폰트에 추가하여 패치된 글꼴 모음

 

https://www.nerdfonts.com/ 로 이동

상단의 FONTS DOWNLOAD 를 클릭하거나, 화면의 Downloads 를 클릭.

 

여러 폰트 중에서 CaskaydiaCove Nerd Font 로 이동하여 다운로드

다운로드 된 CascadiaCode.zip 을 압축해제.

이 중 CaskaydiaCoveNerdFontMono-Regular.ttf 를 더블클릭하여 열면 다음의 창이 뜸.

상단에서 "설치" 를 클릭하여 설치.


참고: 2023.07.14 - [개발환경] - [Env] Install a NerdFont on Ubuntu

 

[Env] Install a NerdFont on Ubuntu

brew로 설치하기 (추천)brew install --cask font-caskaydia-cove-nerd-font macOS에선 어지간한 건 brew 로 다 된다.직접 다운로드 받아 font config로 설치하기--;; brew가 편해...순서원하는 Nerd Font 를 다운로드.압축을

ds31x.tistory.com


Windows Terminal (wt) 설치 

Windows Terminal (윈도우 터미널):
윈도우 10 이상에서 CMD, PowerShell, WSL 등 여러 명령줄 환경을
하나의 탭 인터페이스에서 통합하여 사용할 수 있게 하며,
사용자 지정 및 현대적인 렌더링 기능을 제공하는 응용 프로그램임.

 

CMD 를 실행: 윈도우키+r 을 누르고 cmd 입력하고 실행.

 

cmd 를 직접 사용하는 것도 나쁘지 않으나, Windows Terminal을 설치하여 사용하는게 좋음.

다음은 winget을 통해 Windows Terminal을 설치하는 과정을 보여줌:

 

이후로는 윈도우키+r 을 누르고 wt 입력하고 Windows Terminal 을 실행할 수 있음
(기본으로 Power Shell 이 사용되니 CMD를 쓰려면 기본프로파일을 CMD로 선택하거나 탭을 CMD 로 새로 열어야 함).

 

wt에서 cmd 설정

Windows Terminal 에서 CTRL+, 를 누르면 설정이 열리는데 기본 프로필을 "명령 프롬프트"로 바꿀 것.

이후 다시 Windows Terminal을 실행하면 CMD가 실행된다.

 

이후, Windows Terminal 의 폰트를 CaskaydiaCoveNerdFont로 설정한다.

Ctrl+, 로 설정을 열고 오른쪽 패널에서 아래쪽 "프로필" 밑의 "명령 프롬프트" 를 선택하면 왼쪽 패널이 명령 프롬프트 설정이 됨.

여기서 아래에 "추가 설정" 의 "모양" 을 클릭

이 경우, 아래와 같이 오늘쪽 패널이 바뀌는데 여기서 "글꼴"CaskaydiaCove Nerd Font Mono 를 선택하면 해당 폰트를 CMD가 사용하게 됨.

 

아래의 저장을 클릭하고 나서 새로운 탭으로 CMD로 열면 해당 설정이 적용됨.


wt에서 Windows PowerShell 설정

 

Windows Terminal 에서 CTRL+, 를 누르면 설정이 열리는데 기본 프로필을 "Windows PowerShell"로 설정하면 기본적으로 PowerShell 5.x가 Windows Terminal에서 실행됨.

(일반적으로 PowerShell 5.x가 Windows Terminal에서 기본 프로필임)

 

PowerShell에서도 폰트는 CaskaydiaCove Nerd Font Mono 를 선택해 두면 좋다.

Ctrl+, 로 설정을 열고 오른쪽 패널에서 아래쪽 "프로필" 밑의 "Windows PowerShell" 을 선택하면 왼쪽 패널이 Windows PowerShell 설정이 됨.

여기서 아래에 "추가 설정" 의 "모양" 을 클릭

이 경우, 아래와 같이 오늘쪽 패널이 바뀌는데 여기서 "글꼴"  CaskaydiaCove Nerd Font Mono 를 선택하면 해당 폰트를 Windows PowerShell이 사용하게 됨.

아래의 저장을 클릭하고 나서 새로운 탭으로 Windows PowerShell로 열면 해당 설정이 적용됨.


참고: 2023.09.05 - [utils] - [Util] Windows Terminal - wt

 

[Util] Windows Terminal - wt

2019년 Microsoft사에서 공개한 Open-Source SW.기존의 Windows의 기본 터미널인 command prompt의 불편함을 개선하기 위해 개발되었음.wsl과 powershell, 그리고 command prompt를 통합하여 사용할 수 있는 terminal applic

ds31x.tistory.com


CLINK 설치하기

cmd에 oh-my-posh 설치하여 적용하려면 clink를 설치하는 것이 권장됨.

Windows PowerShell을 사용할 경우, 설치할 필요 없음.

 

Clink (클링크):
Windows의 기본 명령 프롬프트(CMD)에
강력한 Bash 스타일의 탭 자동 완성, 명령 기록 검색,
그리고 스크립트 기반 사용자 지정 기능을 추가해주는 도구

winget 으로 clink를 설치하는 화면은 다음과 같음:

 

이후 윈도우터미널에서 새 탭으로 cmd를 실행하면 다음과 같이 CLINK가 수행됨을 확인 가능함.

https://github.com/chrisant996/clink

 

GitHub - chrisant996/clink: Bash's powerful command line editing in cmd.exe

Bash's powerful command line editing in cmd.exe. Contribute to chrisant996/clink development by creating an account on GitHub.

github.com


oh-my-posh 설치

Oh My Posh :
셸의 프롬프트 모양을
현재 Git 상태나 환경 정보 등을 표시하는 세련되고
기능적인 디자인으로 바꿔주는 크로스 플랫폼 테마 엔진

참고: 2023.06.20 - [개발환경] - [Env] Oh-My-Posh

 

[Env] Oh-My-Posh

Oh-My-Posh는 Command Line Interface(cli)에서 prompt 부분을 customize할 수 있게 해주는 custom prompt engine이다. 유사한 것으로는 Oh-My-Zsh 이 있음 (사실 oh-my-zsh이 먼저고 이를 bash등에서 가능하도록 만들어준 것

ds31x.tistory.com

 

winget으로 간단히 oh-my-posh 를 다음과 같이 설치할 수 있음.


cmd에서 설정-clink 이용

이를 cmd에서 사용하도록 clink 의 내장명령어를 이용하여 설정가능.

Windows PowerShell에서 설정-프로파일 ps1 파일 이용

Windows PowerShell에서 사용하려면 Windows PowerShell에 다음과 같이 현재 사용자의 profile용 ps1파일을 열어서 편집한다.

열린 notepad의 프로파일 파일의 맨 마지막 라인에 다음을 추가:

oh-my-posh init pwsh | Invoke-Expression

이후 Windows PowerShell을 새로 시작하면 oh-my-posh가 적용된 것을 확인 가능함.


Theme적용하기

최초로는 기본 테마이며, cmd의 경우 다음과 같이 테마를 확인하는 명령어를 사용하면 비어져 있음:

 

다음의 oh-my-posh url 에서 사용하고자 하는 theme의 json파일을 다운로드한다.

https://ohmyposh.dev/docs/themes

 

Themes | Oh My Posh

Oh My Posh comes with many themes included out-of-the-box. Below are some screenshots of the more common themes.

ohmyposh.dev

 

개인적으로 power10k를 선호함.

 

클릭하면, 다음과 같이 github 의 관련 json파일을 보여주며, 여기서 다운로드(Download raw file)를 사용하여 json파일을 받는다.

 

앞서 다운로드 받은 파일을 적절한 위치에 이동시킴.


cmd에서 clink로 Theme설정

앞서 다운로드 받은 파일의 path를 clink set ohmyposh.them 에 인자로 넘겨줌.

위 그림에서 보면 prompt가 바뀐 걸 확인할 수 있음.

 

참고로, 관련된 설정 파일은 clink info 를 수행하여 나온 정보에서 settings 에 있는 파일임.


Windows PowerShell에서의 설정

앞서 설정한 초기용 프로파일 ps1파일을 다시 열고 --config 옵션과 다운로드 받은 theme의 json 파일 path를 넘겨준다.

oh-my-posh init pwsh --config "테마json파일_절대경로" | Invoke-Expression

 

이후 다시 Windows PowerShell을 수행하면 테마가 적용됨.


추가

conda 를 설치하고 나서 Anaconda Prompt 에서 conda init cmd.exe 실행하면
이후 기본 CMD에서 conda 를 쉽게 사용할 수 있음.

 

Windows PowerShell에서 사용하려면 conda init powershell을 수행하면 됨.

주의할 점은 $PROFILE.CurrentUserAllHosts 파일에서 conda의 초기화 및 hook설정 이후에 oh-my-posh init ... 의 명령어가 놓이도록 해야한다는 점임.

때문에 conda 설정을 하고 나서 oh-my-posh를 설정하길 권함.

 

테마 json 파일에서 python 절에서 다음과 같이 template 속성에 {{ .Venv }} 를 추가해주어 conda environment를 출력하도록 함:

        {
          "background": "#FFDE57",
          "foreground": "#111111",
          "invert_powerline": true,
          "powerline_symbol": "\ue0b2",
          "properties": {
            "display_mode": "environment",
            "fetch_virtual_env": true
          },
          "style": "powerline",
          "template": " {{ if .Error }}{{ .Error }}{{ else }}{{ .Full }}{{ end }} \ue235 {{ .Venv }} ",
          "type": "python"
        },

같이 보면 좋은 자료들

2024.05.27 - [분류 전체보기] - [Tools] 프로그래밍 관련 툴.

 

[Tools] 프로그래밍 관련 툴.

Git분산형 버전 관리 시스템 의 대표.2024.05.20 - [utils/git and github] - [Git] Git Summary (작성중) [Git] Git Summary (작성중)git이란2024.05.20 - [utils/git and github] - Git : 소개 git 설치 후 해줘야 하는 작업들[Git] git

ds31x.tistory.com

2023.06.29 - [개발환경] - [Env] oh-my-posh에서 conda env prefix 없애기

 

[Env] oh-my-posh에서 conda env prefix 없애기

Powershell에서 oh-my-posh를 설치하는 경우,다음과 같은 형태로 conda의 환경을 나타내는 문자열이 앞에 보일 때가 있음.(개인적으로 그냥 귀찮아서 놔두었는데... 계속 질문을 받은 터라. 지우는 방법

ds31x.tistory.com

2023.10.24 - [개발환경] - [conda] shell에서 conda 명령어가 제대로 동작하지 않을 때 : conda init

 

[conda] shell에서 conda 명령어가 제대로 동작하지 않을 때 : conda init

아주 가끔 conda를 설치를 했지만 PATH 등에 conda의 실행파일들의 경로가 안 잡혀서 conda activate 등이 전혀 동작하지 않는 경우가 있음. 주로 shell 을 바꾼 경우나 설치 중 초기화 부분에 문제가 있을

ds31x.tistory.com

2025.12.31 - [shell] - PowerShell의 초기화-profile

 

PowerShell의 초기화-profile

PowerShell의 profile이란?PowerShell의 profile은셸이 시작될 때 자동으로 실행되어환경 변수, alias, 함수, 초기화 코드 등을 설정하는시작 스크립트(확장자 .ps1 파일).PowerShell은 상황에 따라 서로 다른 prof

ds31x.tistory.com

 


 

728x90