Windows PowerShell의 기본 테마는 정말이지 너무나도 싫다
위키백과 이미지를 봐도 정말 눈이 썩을 것 같다
오늘은 한 번 다른 os의 터미널처럼 PowerShell을 꾸며보고자 한다.
Nerd Font
는 일반 폰트에 많은 아이콘을 추가해 주는 프로젝트이다
나의 경우FiraCode Nerd Font
를 사용하고 있다
Windows Terminal
은 Terminal에 여러 가지 기능을 사용할 수 있게 해주고
PowerShell
은 .NET에 구축된 작업 기반 커맨드라인 셸 및 스크립팅 언어이다.
Windows Terminal
과 PowerShell
은 Microsoft Store에서 설치할 수 있다
Windows Terminal 설치 링크
Powershell 설치 링크
scoop
는 windows에서도 간단하게 command line에서 프로그램을 설치할 수 있도록 도와주는 프로그램이다.
관리자 권한으로 powershell을 열고 아래 명령어를 입력해 준다.
> Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
> irm get.scoop.sh | iex
Windows Terminal을 실행시키면 상단에 탭바를 볼 수 있다.
여기서 가장 오른쪽에 위치한 화살표를 누르면 여러 터미널 리스트를 볼 수 있다 거기서 설정 부분을 눌러주면 Windows Terminal
을 다룰 수 있는 창이 나온다
거기서 시작에 기본 프로필을 PowerShell
로 변경해 준다
그 아래에 기본 터미널 응용 프로그램이라는 부분이 있는데 아마 초기에는 콘솔 호스트로 설정이 되어있을 것이다. 이걸 Windows 터미널로 변경한다.
마지막으로 왼쪽 하단에 Json 파일 열기를 눌러준다
그럼 메모장 또는 코드 에디터로 setting.json
파일이 열릴 건데 여기서 profiles.default
부분에 아래 코드를 넣어준다
{
"colorScheme": "One Half Dark", // 아래로 내리다 보면 schemes 라는 부분이 있는데 거기서 맘에 드는 scheme의 name을 적어준다
"font": {
"face": "FiraCode NF" // Nerd Font에서 설치한 폰트 이름
},
"startingDirectory": "D:\\GitHub", // 터미널을 열었을 때 시작할 위치
"opacity": 70, // 투명도
"useAcrylic": true // 터미널을 투명하게 사용할 건지
},
Neovim
은 앞으로 터미널을 꾸미면서 유용하게 쓸 것이다. 하지만 익숙하지 않다면 메모장이나 VSCode를 사용해도 좋다.
gcc는 c언어 compiler이다
아래 명령어를 통해 Neovim
과 gcc
를 설치한다
> scoop install neovim gcc
마지막으로 컴퓨터를 다시 시작해 준다
아래와 같이 터미널에 입력하면 neovim 창이 열리게 된다
> mkdir ~\.config\powershell
> cd ~\.config\powershell
> nvim user_profile.ps1
여기서 user_profile.ps1
파일에 아래와 같이 입력하고 저장하면 명령어를 단축하거나 편한 대로 커스텀 할 수 있다. (하지만 이직 user_profile.ps1
이 적용되지는 않아서 사용할 수는 없다)
Set-Alias ll ls
Set-Alias vi nvim
Set-Alias g git
파일을 저장한 후에 터미널에 아래와 같이 입력해 준다
> nvim $PROFILE.CurrentUserCurrentHost
이 파일에는 아래와 같이 입력한 후에 저장을 하고 나온다
. $env:USERPROFILE\.config\powershell\user_profile.ps1
마지막으로 터미널을 닫았다 다시 실행시켜 주면 Set-Alias
명령어가 실행된 것을 알 수 있다.
Oh My Posh
는 터미널을 꾸밀 때 사용할 프롬프트 엔진이다.
아래 명령어를 터미널에 입력한 후 터미널을 닫았다 다시 열어주면 된다
> scoop install https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/oh-my-posh.json
oh-my-posh
가 설치 되었는지 확인하는 방법은 터미널에 아래와 같이 입력했을 때 오류가 나지 않고 oh-my-posh
의 버전이 뜨면 설치가 완료된 것이다
> oh-my-posh --version
8.25.0
마지막으로 터미널에서 아래 명령어를 입력하면 command line이 예쁘게 변하는 것을 볼 수 있다
// Set-PoshPrompt -Theme [테마 이름]
> Set-PoshPrompt -Theme jandedobbeleer
하지만 터미널을 닫고 다시 열면 다시 못생긴 터미널로 돌아오는 것을 볼 수 있다
우선 아래 링크에 들어가서 맘에 드는 테마의 이름을 누르면 복잡하게 생긴 json 파일이 나오는데 그걸 전부 복사해 준다.
그다음 아래 명령어를 통해 promptTheme.json
파일을 만들고 그 파일 안에 복잡한 json 코드를 넣고 저장해 준다.
> cd ~\.config\powershell
> nvim promptTheme.json
마지막으로 user_profile.ps1
파일에 아래 코드를 추가해 준다
function Get-ScriptDirectory { Split-Path $MyInvocation.ScriptName }
$PROMPT_CONFIG = Join-Path (Get-ScriptDirectory) 'promptTheme.json'
oh-my-posh --init --shell pwsh --config $PROMPT_CONFIG | Invoke-Expression
이후 터미널을 다시시작 해주면 예쁜 터미널을 종료한 후에도 계속해서 볼 수 있다.
터미널에 아래 명령어를 입력해 준다
> Install-Module Terminal-Icons -Repository PSGallery -Force
그 후 user_profile.ps1
파일에 아래 코드를 추가해 주고 터미널을 다시 시작해 준다.
Import-Module -Name Terminal-Icons
그럼 ls를 했을 때 아래와 같이 예쁘게 icon이 붙어서 나오게 된다
잘 보고 갑니다! ㅎㅎㅎ