Windows에서 Oh My Posh 즐기기

codedari·2022년 7월 13일
2

개발환경

목록 보기
1/1

이제 Mac은 Mac일 뿐...

Windows에서 Git을 Git답게 트랜디한 개발환경을 만들기 위해 먼저 다음을 준비합니다.

아래 사항은 Windows 10 기준이며, Windows 11에서는 일부 내용이 다릅니다. Windows11의 기본 터미널은 Windows Terminal입니다. 일부 설치과정에서 관리자로 실행하기를 해야 하는 경우가 있습니다. 이 부분은 개인의 O/S설정에 따라 다르기 때문에 권한 에러와 관련된 메시지가 나오면 Windows Terminal이나 Terminal(기본 명령 프롬프트)을 관리자로 실행하시기 바랍니다.

1. Winget

시작 > Microsoft Store 에서 앱 설치 관리자(App Installer)를 설치합니다. Windows의 Cmdlet Installer이며, HomeBrew, apt, yum 등과 같은 설치관리자입니다.
설치가 끝나고 명령프롬프트(WinKey + R > cmd.exe)를 실행하여 winget이 정상 실행되면 됩니다. Windows는 환경변수를 자동으로 업데이트 하지 않으므로 설치전에 열려진 명령 프롬프트에서 실행하면 에러가 발생합니다. 여기서는 설치에 필요한 내용만 설명하고, 별도의 winget설명은 하지 않겠습니다.
또 다른 설치 도구로, Chocolatey도 추천합니다.

2. Windows Terminal

차세대 다목적 명령프롬프트입니다. 명령 프롬프트를 열고, "windows terminal"을 검색하여 설치합니다. Windows 11에서는 기본으로 설치되어 있습니다.

c:\> winget search "windows terminal"

c:> winget install "Windows Terminal" -s winget
or
c:> winget install Microsoft.WindowsTerminal -s winget

(-s 옵션은 source를 의미하며 msstore와 winget의 source 위치에서 winget의 source로 설치 한다는 뜻입니다.)

3. Powershell

PowerShell은 Windows를 제어하기 좋은 강력한 Script Shell입니다. Windows의 설정과 관련된 많은 PowerShell을 이용하여 배포 및 관리되고 있습니다. 다만, Windows 에 기본으로 설치되어 있는 PowerShell은 5.x로 Windows PowerShell이라고도 합니다. 우리는 별도로 PowerShell 7.x(현재 작성 기준 최신)를 설치할 예정입니다.
Windows Terminal을 설치하였으니, 이제부터 기본 터미널을 Windows Terminal(이하 Terminal)로 사용할 것입니다.
Terminal을 이용하여 Winget으로 동일하게 Powershell을 설치합니다.

c:>winget search powershell
c:>winget install Microsoft.PowerShell -s winget

설치하고 나면, 기존의 Powershell은 유지되며, 별도의 powershell이 설치되고 Terminal의 새탭 목록에 보면 새로 설치된 PowerShell이 보입니다. 이제부터는 Old한 PowerShell은 Windows가 자체적으로 사용하게 두고, 최신의 PowerShell을 사용합니다.

Oh My Posh 설치

oh-my-posh의 document를 참고하면 이해하기 쉽게 되어 있습니다. 이 글을 작성하는 이유가 여기 있는데, google에서 windows의 powershell이나 git bash에 oh my posh를 설치하는 과정을 보면, old한 방법으로 되어 있습니다. update된 내용을 반영하지 못하여 일부 글들은 최신 버전과 호환이 되지 않아 에러가 발생하기도 합니다.

1. oh-my-posh 설치

winget으로 ohmyposh를 검색하여 설치합니다. powershell로도 설치가 가능하나, 암기하기 위한 설치가 아니니 이해하기 쉽고 사용하기 쉬운 방법을 선택합시다. 다만, 아래의 실행은 Terminal의 PowerShell 탭에서 합니다.

c:>winget search ohmyposh
c:>winget install "Oh My Posh" -s winget
... installed ...
// 창을 다시 열고
c:>(Get-Command oh-my-posh).Source

앞으로 oh-my-posh의 새버전을 설치하려면, winget upgrade를 이용하면 알아서 설치해 줍니다.

2. font 설치

oh-my-posh는 일반 폰트에 없는 문자로 정보 전달을 하는 theme들로 대부분 구성되어 있습니다. 아닌 theme도 있지만, 찾는 고생을 좀 하셔야 합니다.

c:>oh-my-posh font install

을 하면, 설치할 font 목록이 나옵니다. vscode와 함께 배포된 cascadia code font를 확장한 cascadiacode를 선택합니다. 기호에 따라 설치하시면 됩니다.
font 등록은 시스템 설정을 변경하는 것이므로 관리자 권한으로 해야 합니다.

3. windows terminal font 변경

Terminal 의 설정(Ctrl + ,) 에서 oh-my-posh를 적용할 shell들의 탭에서 모양>font에서 방금 설치한 CaskaydiaCove NF로 변경합니다. font 이름이 바뀌었다고 놀라지 마세요. Nerd Font로 검색하시면 알 수 있습니다.

4. 설치 확인

이제 제대로 설치되었는지 확인해 봅시다. Powershell에서

c:>oh-my-posh init pwsh | Invoke-Expression

정상적으로 실행 되면, 아래와 같이 oh-my-posh가 적용된 프롬프트로 변경됩니다.

theme 변경은 oh-my-posh init pwsh --config [...]에서[...] 부분을 변경할 수 있으며 oh-my-posh 의 theme를 참고해 주세요.

5. 영구적으로 적용시키기

우리는 oh-my-posh를 사용할 준비를 마친것입니다. terminal을 실행할 때마다 사용하기 위해서는 powershell의 start script에 oh-my-posh를 실행하도록 해 주어야 합니다. 여기서는 notepad를 사용했지만, 본인의 취향에 맞는 editor를 선택하세요. 저는 개인적으로 vscode(code)를 사용합니다.

c:>notepad $PROFILE

을 실행 하여, 파일에 oh-my-posh init pwsh | Invoke-Expression을 적고 저장합니다.

c:>. $PROFILE

을 실행하거나, 창을 닫고 다시 열면, 적용된 oh-my-posh를 확인할 수 있습니다.

6. git bash에 적용하기

windows에서 git을 설치하고 git에 있는 git bash를 사용할 수 있습니다. 기본적인 linux 명령어로 인해 편리한 점도 많습니다.
git bash를 실행하면 ~(user home)에 .bashrc 파일이 있습니다.
이를 열고 "eval "$(oh-my-posh init bash)"를 저장합니다.

$git-bash MSYS > exec bash

를 실행하면 적용된 theme를 확인할 수 있습니다.

즐거운 coding 생활 되시길 바래요~

profile
coding on edge

1개의 댓글

comment-user-thumbnail
2023년 2월 13일

좋은 글 덕분에 PowerShell, bash 전부 vs code 에서도 이쁜 터미널에서 작업할 수 있게 되었습니다~ 감사합니다!

답글 달기