ilcm96.log

oh-my-posh 설치

2021-08-03 oh-my-posh powershell

윈도우 기본 Powershell이 아닌 Powershell 7 에서 진행합니다

0. 폰트 설치

powerline을 지원하지 않는 폰트를 사용하면 쉘에서 각종 기호들이 깨져서 보이고 powerline 이외의 기호를 사용하는 테마도 존재한다.

https://www.nerdfonts.com/ 에서 폰트를 미리 설치하자.

1. oh-my-posh & posh-git 설치

Install-Module oh-my-posh -Scope CurrentUser
Install-Module posh-git -Scope CurrentUser

명령어를 실행할 때 신뢰할 수 없는 저장소라며 설치할 거냐고 묻는데 y를 눌러 진행하면 된다.

2. 테마 선택하기

Get-PoshThemes

위 명령어를 사용해서 원하는 테마를 고르고 이름을 복사해둔다.

3. $PROFILE 수정

notepad $PROFILE

Import-Module posh-git
Import-Module oh-my-posh
Set-PoshPrompt pure

Set-PoshPrompt 뒤에 위에서 고른 테마 이름을 넣고 저장한다(필자는 pure 테마를 선택했다).

4. Loading personal and system profiles took ~ms 없애기

이렇게 설정하고 나면 ZSH 와는 달리 아쉽게도 매번 쉘을 켜는데 시간이 좀 걸린다.

그리고 Powershell에서 쉘을 켜는데 일정 시간 이상이 걸리면 표시하는 문구인 것 같은데 개인적으로 보기 싫기 때문에 -nologo 옵션을 통해서 없앴다.

// Windows Terminal Setting
{
  "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
  "hidden": false,
  "name": "PowerShell",
  "source": "Windows.Terminal.PowershellCore",
  "commandline": "pwsh.exe -nologo" // NEW
}
// Visual Studio Code
"terminal.integrated.profiles.windows": {
    "PowerShell": {
      "source": "PowerShell",
      "icon": "terminal-powershell",
      "args": ["-nologo"] // NEW
    }
},

5. Local 설정

D:\Development\python\django-for-beginners\newspaper master ≢* +8
❯ ls

    Directory: D:\Development\python\django-for-beginners\newspaper

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----      2021. 7. 20. 오전 12:43                .idea
d----      2021. 7. 19.  오후 8:52                accounts
d----      2021. 7. 19.  오후 8:52                articles
d----      2021. 7. 20.  오후 5:23                build
d----      2021. 7. 20. 오전 12:13                config
d----      2021. 7. 19.  오후 8:52                pages
d----      2021. 7. 19.  오후 9:49                static
d----      2021. 7. 20. 오전 12:13                staticfiles
d----      2021. 7. 19.  오후 8:52                templates
d----      2021. 7. 20. 오전 12:30                venv
-a---      2021. 7. 20. 오전 12:35            211 .env
-a---      2021. 7. 21. 오전 10:50             92 .gitignore
-a---      2021. 5. 12.  오후 2:56            684 manage.py

모든 것을 적용하고 나서 ls 명령어를 실행하면 윈도우 로케일이 한국어로 되어 있기 때문에 LastWriteTime 부분에 한국어로 오전 오후가 표시되어 있다.

이를 바꾸기 위해서는 매번 파웨쉘을 켤때 마다 해당 파워쉘의 로케일을 변경하는 방법도 있지만 안 그래도 느린 시작 속도를 더 늦추기 싫어서 제어판에서 국가 또는 지역 설정을 아래와 같이 변경해서 사용하고 있다.

locale.png

D:\Development\python\django-for-beginners\newspaper master ≢* +8
❯ ls

    Directory: D:\Development\python\django-for-beginners\newspaper

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----          2021-07-20 12:43 AM                .idea
d----          2021-07-19  8:52 PM                accounts
d----          2021-07-19  8:52 PM                articles
d----          2021-07-20  5:23 PM                build
d----          2021-07-20 12:13 AM                config
d----          2021-07-19  8:52 PM                pages
d----          2021-07-19  9:49 PM                static
d----          2021-07-20 12:13 AM                staticfiles
d----          2021-07-19  8:52 PM                templates
d----          2021-07-20 12:30 AM                venv
-a---          2021-07-20 12:35 AM            211 .env
-a---          2021-07-21 10:50 AM             92 .gitignore
-a---          2021-05-12  2:56 PM            684 manage.py