윈도우즈 10 개발 환경 꾸미기 1

주영택·2021년 1월 14일
0
post-thumbnail

2021 년 버전

윈도우즈 피시를 구입하고 시스템을 세팅하는 과정과 개발 환경을 구축하는 기록을 남기고 이를 유지하는 각종 프로그램과 노하우를 적어 두었습니다.

시스템 설치

계정 세팅

윈도우즈 세팅 과정에서 주의할 점이 있다면 MS 계정 연동은 셋업을 모두 마치고 진행해도 되니 계정을 생성할 때 연동하지 말 것을 추천 드립니다.

계정 아이디는 가능하면 영문으로 작성해주세요. 요즘에는 한글로 작성해도 별다른 문제가 없지만 홈 폴더의 이름을 한글로 지정하면 여러모로 불편한 점이 있습니다.

  • 폴더 정보를 저장할 때 한/영 변환을 해야 함
  • 한글과 영문 자간 폭 때문에 콘솔 화면의 레이아웃이 어긋나는 경우 발생

그래서 저는 영문으로 세팅하는 편입니다.

PS C:\Users\es> winget install Emacs

위 콘솔 정보는 제가 사용하는 계정입니다. 짧은 계정이 유용합니다.

하지만 데스크탑 화면에 저렇게 짧은 계정이 나오면 한글 윈도우즈 기준으로 모양새가 잘 안나는 경우가 있죠. 계정은 영문으로 두고 화면에 출력되는 계정 이름은 한글로 변경하면 됩니다.

내 피시 → (메뉴) 관리 → 시스템 도구 → 로컬 사용자 및 그룹 → 사용자

까지 이동하시면 영문으로 작성된 계정 이름이 보입니다. 여기를 오른쪽 버튼으로 클릭하여 '이름 바꾸기' 를 통해 한글 이름으로 변경 가능합니다.

하드웨어 세팅

각종 드라이버 설치를 마쳐 주시면 키보드 마우스 세팅을 해줍니다.

타이핑을 자주하는 개발자들은 키보드 딜레이에 민감한 편입니다. 저도 그렇구요. 무조건 가장 짧은 딜레이와 빠른 반복을 선호합니다.

최근 윈도우즈 10 에서는 키보드 딜레이 세팅 영역 찾기가 좀 어렵게 되어 있는데 구 제어판에 들어가 변경 가능합니다.

추천 프로그램

기본적인 키 바인딩을 위해 PowerToys 의 툴을 사용할 수 있고 최근 알게 된 'Capsicain' 이라는 프로그램으로 맥OS 에 있는 카라바이너 의 기능을 구성할 수 있습니다.

마우스 제어를 위해서는 Scroll Navigator 라는 프로그램을 추천합니다.

이들을 세팅하는 과정은 아래에 안내 드리겠습니다.

폰트 설치

맑은 고딕이 있지만 윈도우즈에 기본 제공되는 한글 폰트는 여전히 부족합니다. 최근 다양한 영역에서 무료 폰트가 공개되고 높은 품질의 한글 폰트를 다양한 방법으로 구할 수 있습니다.

저는 '이롭게' 에서 만든 바탕체 폰트와 '리디' 에서 만든 바탕체 폰트를 브라우저 기본 폰트로 사용하고 있습니다. 산세리프 (돋움체 스타일) 폰트는 스포카 한 산스 네오 서브셋 버전을 사용하고 있습니다.

코딩용 한글 폰트는 네이버에서 제공하는 D2Coding 을 사용하시면 됩니다.

이롭게 바탕체와 리디 바탕체는 살짝 비슷하면서 다릅니다.

리디는 이롭게 보다 줄간격이 상대적으로 낮습니다. 필요에 따라 사용하시면 됩니다. 대신 이롭게 바탕체는 획이 상대적으로 얇습니다. 모니터의 성능에 따라 적당한 것을 고르면 될 거에요.

스포카 한 산스 네오는 서브셋에 완성형 2천자와 추가 글자가 포함되어 있어 실사용에 부족함이 없습니다. 반면 폰트 용량은 상대적으로 작아 유용하다고 생각합니다.

최근에 알게된 '을유문화사' 의 을유1945 폰트도 좋네요.

온라인 계정 세팅

윈도우즈 시스템 전체에 계정을 연동하는 것까지 하지 않는게 좋습니다. 위에 설치한 로컬 계정을 계속 사용하고 각종 서비스에 MSA (MS 어카운트) 를 사용하는 편이 좋습니다.

  • 브라우저 (엣지 브라우저) 에 MSA 를 로그인해 두고 북마크/패스워드 등의 정보를 연동해 두면 다른 장비를 사용할 때도 이 정보를 사용할 수 있어 편리합니다.
  • 당연히 앱스토어에도 로그인 해 두세요. winget 을 설치하기 전까지 필요한 애플리케이션을 설치하는 정도로만 관리해 주세요.

제 경우 (다른 많은 개발자들도 그러겠지만) 구글 계정을 핵심 온라인 계정으로 사용합니다. 대신 브라우저는 하나만 사용하고 싶어서 다른 브라우저는 설치하지 않고 있습니다. 웹 프론트엔드 개발자라면 얘기가 다르겠지만... 뭐, 그렇습니다.

기본 검색엔진 변경

빙 대신 구글 검색을 설정해 주세요.

설정 → 개인 정보, 검색 및 서비스 → (제일 아래) 주소 표시줄 및 검색 메뉴 선택

검색 주소창에 사용할 검색 엔진을 변경해주세요. (미안해 빙...)

아직 이런 저런 프로그램들을 설치하지 마세요!

반디집 정도는 설치해 주셔도 괜찮겠네요. 제가 애용하는 툴 중 winget 으로 설치하기 보다 직접 설치해 주는편이 좋다고 생각하는 프로그램은 아래 두 개 정도입니다.

  • 반디집
  • 픽픽

맥OS 에는 brew (macbrew) 라는 유용한 터미널 기반의 애플리케이션 설치 툴이 있습니다. /usr/local 에 다양한 프로그램을 설치하여 관리할 수 있습니다. 최근 cask 시스템을 도입해 일반 애플리케이션도 설치할 수 있게 되어 더욱 유용해졌습니다.

윈도우즈 10 에도 이런 툴이 추가됩니다. 아직 정식 버전이 출시되지 않았지만 최신 윈도우즈 10 이라면 사용할 수 있습니다. 아래 winget 챕터에 자세히 다룹니다.

Git 은 직접 설치

추가로 git 은 직접 설치합니다. 나중에 WSL 의 git 시스템과 구분하기 위해 가장 단순한 설치 옵션을 통해 설치 합니다.

한글 입력기

대부분의 한국어 사용자는 두벌식 자판을 사용합니다. 하지만 두벌식 자판만 표준 자판은 아닙니다. 세벌식 자판도 국가에서 인증하고 있는 표준 자판이에요.

세벌식 자판 커뮤니티는 2000년 이후에도 새로운 시도를 계속하고 있습니다.
기본 세벌식 자판은 공병우 세벌식 자판입니다. 이후 모아치기 기능을 추가하거나 두벌식 자판에 기본적으로 사용되는 오토마타(갈마들이) 기능을 적용하여 신세벌식 자판도 공개되었습니다. 몇 몇 연구자들은 지금까지도 낱자 배열을 일부 조정하여 더 효율적인 자판을 구성하기도 합니다.

저는 그 중 팥알 님이 공개하신 자판을 주로 사용하고 있습니다. 공세벌식 2012 자판을 주로 사용하다 지금은 신세벌식 P2 자판을 사용합니다.
최근 몇 년간은 이 자판에서 조금 변형을 가한 저만의 자판을 사용 중입니다.

당연히도 이 자판을 직접 사용할 수 없습니다. MS 의 기본 한글 입력기가 이를 지원하지 않고 있기 때문입니다. 행복하게도 윈도우즈 시스템에는 '날개셋' 이라는 프로그램이 있습니다.

날개셋을 통해 자판을 추가하여 사용할 수 있습니다.
입력기는 여러 벌을 등록하여 사용할 수 있습니다. 제 경우는 기본 MS 입력기도 제거하고 오직 날개셋 만 사용하고 있습니다.

팥알 님의 신세벌 자판 배열을 수정한 버전

제가 사용하는 배열 정보를 담은 파일과 자판 배열을 소개 드립니다.

MacOS 용이 필요하다면 메일로 연락 주세요.

파워쉘 세팅

윈도우즈에도 *nix 계열의 운영체제에서 .rc 파일의 역할을 하는 Profile.ps1 파일이 있습니다.

프로필은 총 4 곳에 저장되어 있으며 순서대로 로딩됩니다.

  1. %windir%\system32\WindowsPowerShell\v1.0\profile.ps1
  2. %windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1
  3. %UserProfile%\My Documents\WindowsPowerShell\profile.ps1
  4. %UserProfile%\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1

프로필의 스크립트를 실행하기 위해 about_Execution_Policies 정책을 허용해야 합니다.

관리자 권한으로 실행된 파워쉘에서 다음과 같이 확인할 수 있습니다.

PS C:\Users\es> Get-ExecutionPolicy
Restricted
PS C:\Users\es> Get-ExecutionPolicy -List

        Scope ExecutionPolicy
        ----- ---------------
MachinePolicy       Undefined
   UserPolicy       Undefined
      Process       Undefined
  CurrentUser       Undefined
 LocalMachine       Undefined

PS C:\Users\es> Set-ExecutionPolicy RemoteSigned

파워쉘 키 바인딩 프로필 관리

emacs 키 바인딩과 주요 프로그램의 alias 를 설정할 정도만 세팅해 봅니다.
저는 위 설명의 3번 항목을 사용하여 설정을 마무리하였습니다.

# import module
Import-Module PSReadLine

# set basic emacs mode
Set-PSReadLineOption -EditMode Emacs
Set-PSReadLineKeyHandler -Key UpArrow -Function HistorySearchBackward
Set-PSReadLineKeyHandler -Key DownArrow -Function HistorySearchForward

# alias things
New-Alias which get-command
New-Alias gui gitui
New-Alias vi nvim

파워쉘의 새 탭을 열거나 새 파워쉘을 열어 CTRL+P/N 키가 동작하는지 확인합니다.

Zoxide 를 통해 폴더를 이동하기

fasd 나 z 과 같은 디렉토리 이동 툴인 zoxide 는 윈도우즈도 지원하는 최신 솔루션입니다.

PS C:\Users\es> z bin
PS C:\Users\es\AppData\Local\bin>

작은 유틸리티 파일을 저장하기 위한 폴더를 하나 준비합니다. 저는 $HOME/AppData/Local 에 bin 폴더를 만들어 사용합니다.

PS C:\Users\es\AppData> mkdir bin

이곳에 zoxide, fd, ripgrep 같은 유틸리티를 담아둡니다. 그리고 어느 곳에서도 이 파일들이 실행될 수 있도록 path 도 추가해 줍니다.

추가된 형태는 아래 그림과 같습니다.

zoxide 홈페이지의 정보를 통해 power shell 환경 정보를 추가해주세요.

PowerShell
Add the following line to your profile:

Invoke-Expression (& {
    $hook = if ($PSVersionTable.PSVersion.Major -lt 6) { 'prompt' } else { 'pwd' }
    (zoxide init --hook $hook powershell) -join "`n"
})

winget

어느 정도 시스템 설정이 끝났다면 winget 을 설치해 봅시다.

윈도우즈 인사이더에 참여하고 있는 분들은 MS 스토어에서 설치할 수 있다고 합니다만 저는 이 프로그램에 참여하고 있지 않습니다.

우선 위 문서를 참고하여 설치해 보겠습니다.

현재 버전의 가이드에 따르면 'App Installer' 를 설치하여 winget 을 활성화 할 수 있습니다.

추가로 신규 버전 업데이트를 위해 직접 저장소에 발행된 패키지를 설치할 수 있다고 합니다. 다만 이 패키지를 최초 실행시키기 위해 위에서 설치한 앱 인스톨러가 필요한데 뭐가 먼저인지 모르겠네요. :)

아무튼 앱 인스톨러를 설치하고 새 터미널을 열어 winget 을 실행가능하도록 준비합니다.

페이지에서 제공되는 다양한 프로그램 목록을 확인할 수 있습니다. 사용 중 큰 불편함은 없지만 단점이 있다면 어떤 프로그램은 제거하는 방법을 제공하지 않는다는 것입니다.

이건 winget 의 문제라기 보다 배포된 프로그램의 문제일 수 있습니다. 실제 설치된 폴더 안에 들어가 보면 uninstall 을 위한 패키지도 함께 설치되어 있는 걸 확인하기도 했습니다.

제 경우 Typora 가 현재 그렇습니다.

사용법

리눅스에서 apt 나 macOS 에서 brew 를 사용했다면 큰 어려움이 없습니다.

PS > winget search xxx
PS > winget show xxx
PS > winget install xxx

입니다. 아직 uninstall 명령은 제공되지 않습니다.

준비가 되었다면 관리자 권한으로 터미널을 실행해 줍니다.

설치한 주요 프로그램 소개

PowerToys

ALT+스페이스 바를 통해 프로그램을 실행하기 위한 기능을 제공하는 여러 프로그램이 있지만 파워토이가 가장 무난합니다.

PS C:\Users\es> winget install PowerToys

항상 관리자 권한으로 실행하는 옵션이 있습니다.

QuickLook

스페이스 바를 눌러 선택된 파일을 프리뷰 하는 프로그램입니다. 맥OS 의 그것과 동일한 역할을 합니다.

PS C:\Users\es> winget install QuickLook

Emacs

Vim 도 매우 유력한 기본 에디터지만 코드 에디터가 아닌 문서 작성 용도는 Emacs 가 좀 더 우월합니다.

저는 윈도우즈 환경에서 일반적인 글 작성에 이맥스를 사용하고 있습니다. (이 글을 작성하기 위해 이맥스를 가장 먼저 설치/준비하고 있습니다.)

Doom 이맥스 세팅은 일반 이맥스 환경에 VI 키 바인딩을 적용을 중심으로 테마, 각종 편집 환경 등을 세팅해 줍니다.

아직 한글에서 ESC 키로 영문 전환하는 과정을 마무리하지 못했습니다만 이 정도로 충분하네요.
추가로 ALT+C 와 ALT+V 등으로 복사 붙여넣기 등의 작업을 할 수 있도록 개선해 보려 합니다.

둠 이멕스 세팅을 설치하기 전에 gnu 버전의 fd 와 rg 를 설치해 주세요.

PS C:\Users\es> winget show Emacs
찾음 GNU Emacs [GNU.Emacs]
Version: 27.1
Publisher: GNU Project
AppMoniker: emacs
Description: An extensible, customizable, free/libre text editor - and more.
Homepage: https://www.gnu.org/software/emacs/
License: GPL
Installer:
  Type: Nullsoft
  Download Url: https://alpha.gnu.org/gnu/emacs/pretest/windows/emacs-27/emacs-27.1-x86_64-installer.exe
  SHA256: f5d90eb0c3a074c4c53ba5bc3d23a37e850c7deab40274ef1f8b78985edf6eb2
PS C:\Users\es>winget install Emacs

터미널 어느 곳에서나 emacs 를 호출할 수 있도록 path 를 잡아 줍니다.

Emacs 가 설치되어 있는 경로는 아래와 같습니다.

C:\Program Files\Emacs\x86_64\bin

이맥스에 대한 한글로 된 더 많은 정보를 보시려면 아래의 블로그들을 참고해 주세요.

둠 다운로드

둠 이맥스는 윈도우즈 버전을 공식적으로 지원하지는 않고 있습니다. 하지만 사용하지 못할 정도는 아닙니다.
몇 가지 기본 설정과 다른 부분을 인지하고 대응하면 세팅을 완료할 수 있습니다. 그 다음은 이맥스 자체에 대한 설정 과정이 기다리지만 그리 복잡하지 않습니다.

현재 윈도우즈 10 버전의 이맥스의 설정 파일이 위치한 곳은 아래와 같습니다.

C:\Users\es\AppData\Roaming.emacs.d

보통은 사용자 홈 폴더가 되지만 윈도우즈 10 시스템은 위 경로입니다.

만약 이미 이맥스를 사용하고 있었다면 .emacs.d 폴더가 존재할 것이니 다른 이름으로 변경해 둡시다.

PS C:\Users\es\AppData\Roaming> ren .\.emacs.d\ .\.emacs.d.backup

그리고 미리 설치된 git 을 통해 둠 이맥스 세팅을 clone 합니다.

PS C:\Users\es\AppData\Roaming> git clone https://github.com/hlissner/doom-emacs .emacs.d

가이드에 따라 둠을 설치해 봅니다.

PS C:\Users\es> cd .\AppData\Roaming\
PS C:\Users\es\AppData\Roaming> cd .\.emacs.d\
PS C:\Users\es\AppData\Roaming\.emacs.d> cd bin
PS C:\Users\es\AppData\Roaming\.emacs.d\bin> .\doom.cmd install

시간이 좀 걸립니다. 5분 정도 지나면 설치가 완료됩니다.

추가로 둠 이맥스에서 사용되는 물약 폰트는 이맥스 명령으로 설치하는 것이 기본 가이드지만 윈도우즈 시스템에서는 별도로 폰트를 설치해 주어야 합니다.

에서 폰트를 다운로드 하여 직접 시스템에 등록해주세요.

제가 일부 수정한 설정 파일은 아래에서 참고할 수 있습니다.

이제 필요한 프로그램은 직접 설치해 주시고 파워쉘 세팅으로 이동하겠습니다.

HWMonitor

CPUID 의 하드웨어 모니터 프로그램으로 하드웨어 스펙 정보와 구동 상태, 칩셋의 온도 정보를 보여줍니다.

PS C:\Users\es> winget install HWMonitor

qTorrent

Vuze 나 자바 기반의 토렌트 프로그램을 사용했는데 이번에 새로 알게 되었습니다.
필요하신 분들이 계실 듯 하여 추천 목록에 소개 드립니다.


VSCode 를 기반으로 WSL2 와 도커를 이용해 개발 환경을 구축하는 내용은 추후 다른 포스트로 이어가겠습니다.

참고 링크

profile
NodeJS 백엔드 웹 개발자입니다.

1개의 댓글

comment-user-thumbnail
2021년 1월 15일

HHKB 를 그만 사용하게 되고 일반 레이아웃으로 돌아가게 되면 캡스락 키를 별도의 super 키로 사용하는 방법을 통해 코딩 환경을 꾸밀 수 있습니다.

캡+A: HOME
캡+E: END
캡+탭: 캡스락

등의 바인딩을 하는 거죠. 콘트롤 키 처럼 동작하도록 모사하는 과정으로 해피해킹 키보드를 탈출 할 수 있습니다.

맥에서는 카라비너, 윈도우에서는 캡사이신을 사용하여 구축할 수 있습니다.

답글 달기