호쌤
호쌤 Just For Fun

[Mac] 기본 개발환경 구성

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[Mac] 기본 개발환경 구성≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

[Mac] 기본 개발환경 구성

제가 개인적으로 사용하고 있는 초기 개발환경 구성 방법들 입니다.

#01. 시스템 환경 설정

1) 미션 컨트롤 창 순서 고정

미션 컨트롤 창 순서가 기본적으로 최근 사용 순으로 설정되어 있어 의도하지 않게 순서가 변경되는 것을 막음

1
`시스템 환경설정` > `Mission Control` > `Space를 최근 사용 내역에 따라 자동으로 재정렬` 체크 해제

2) 모든 텍스트 자동 변경 옵션 끄기

입력한 단어를 컴퓨터 마음대로 바꾸는 걸 방지

1
`키보드` > `텍스트` 탭으로 이동 : 모든 자동 변경 옵션(체크박스) 끄기

#02. 터미널 환경 구성

1) 기본 개발 도구

Xcode Command Line Tools

1
xcode-select --install

homebrew

1
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

node

1
brew install nodejs

python

1
brew install python

git

git과 대용량 파일 처리를 도와주는 git-lfs 함께 설치

1
brew install git git-lfs

설치후 아래의 형식으로 기본 설정 수행

1
2
3
4
git config --global user.name "leekh"
git config --global user.email "leekh4232@gmail.com"
git config --global core.precomposeunicode true
git config --global core.quotepath false

3) iTerm2 설치

1
brew cask install iterm2

설치 후 설정

iTerm을 실행하고 설정( + ,)창에서 수행

  • Profiles 항목을 선택하고 Colors
    • 사용하길 원하는 테마 선택
    • 적용 후 프로그램 재시작
  • Profiles 항목을 선택하고 Text
    • Change Font 버튼을 클릭하고 원하는 글꼴 지정 : D2Coding 추천
  • 타이틀바 배경색 어둡게 변경
    • Appearance > Theme : Dark
    • High Sierra에서는 현재 Light/Dark 테마만 선택할 수 있으며 임의의 색은 불가능
  • 스크롤바 감추기
    • Appearance > Hide scrollbars : 체크함
  • 타이틀바 밑에 1px 라인 제거
    • Appearance > Show line under title bar when the tab bar is not visible : 체크 안함
  • 마진 수정
    • Advanced > Height of top and bottom margins in terminal panes : 10
    • Advanced > Width of left and right margins in terminal panes : 12

4) zsh with oh-my-zsh

zsh 설치

1
brew install zsh zsh-completions

oh-my-zsh 설치

1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

플러그인 설치 및 설정

1
2
3
4
5
# zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# zsh-autosuggestions
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

설치 완료 후 vi에디터로 zsh 설정파일을 연다

1
vi ~/.zshrc

설정 파일의 라인에서 플러그인 설정 추가

1
2
3
4
5
plugins=(
  git
  zsh-syntax-highlighting   # 추가
  zsh-autosuggestions       # 추가
)

설정 완료 후 다음의 명령어로 설정내용을 반영한다.

1
source ~/.zshrc

zsh 테마

리눅스에서는 사용할 수 없음.

nodejs를 설치한 후 npm 명령어로 pure-prompt 설치

1
npm install --global pure-prompt

설치 완료 후 vi에디터로 zsh 설정파일을 연다

1
vi ~/.zshrc

ZSH_THEME의 값을 빈 문자열로 변경한 후 설정파일의 맨 아래에 아래 구문 추가

1
2
autoload -U promptinit; promptinit
prompt pure

설정 완료 후 다음의 명령어로 설정내용을 반영한다.

1
source ~/.zshrc

neovim 설치

1
brew install neovim

설치 완료 후 vi에디터로 zsh 설정파일을 연다

1
vi ~/.zshrc

설정 파일 맨 마지막에 아래 내용 추가

1
2
3
4
alias vim="nvim"
alias vi="nvim"
alias vimdiff="nvim -d"
export EDITOR=/usr/local/bin/nvim

설정 완료 후 다음의 명령어로 설정내용을 반영한다.

1
source ~/.zshrc
neovim 폰트 설정

특수문자용 폰트를 별도로 설치한 후 iTerm에 설정해야 한다.

1
2
brew tap caskroom/fonts
brew cask install font-hack-nerd-font

폰트 설치 후,

  • iTerm을 실행하고 설정( + ,)창에서 Profiles 항목을 선택하고 Text탭으로 이동
  • Use a different font for non-ASCII text를 체크 하면 Non-ASCII Font를 설정할 수 있다.
    • All Fonts 카테고리에서 Hack Nerd Font를 선택
neovim 기본 설정 플러그인 설치
1
curl -sLf https://spacevim.org/install.sh | bash
  • 설치가 완료되면 vi를 실행한다. 최초 실행 시 mode 설정을 물어보는데 여기서 1을 누른다.
  • vi를 종료하고 다시 실행하면 자동으로 플러그인이 설치된다.
  • 플러그인이 많아서 시간이 꽤 걸린다.
테마설정

vi 에디터로 vim 설정파일 열기

1
vi ~/.SpaceVim.d/init.toml
  • colorscheme 속성에 onedark지정

아래의 활성코드 추가

1
2
[[layers]]
name = 'colorscheme'

https://spacevim.org/layers/colorscheme/ 에서 테마 종류 확인

5) 추가 도구 설치

fzf

fzf는 강력하고 엄청나게 빠른 fuzzy finder 도구입니다. 증분 검색을 통하여 원하는 파일이나 히스토리를 쉽고 빠르게 찾을 수 있게 해줍니다. 정확하게 원하는 값을 입력하지 않고 일부만 입력해도 실시간으로 검색 결과를 보여줍니다.

mac
1
2
brew install fzf
$(brew --prefix)/opt/fzf/install
linux
1
2
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

brew 설치 후 install 명령어를 입력하면 몇 가지를 물어보는데 전부 y를 누르면 됩니다. 설치가 완료되었으면 source ~/.zshrc를 입력하여 설정을 다시 불러옵니다.

단축키 기능

  • + T : 하위 디렉토리 파일 검색
  • + R : 히스토리 검색
  • esc + C : 하위 디렉토리 검색 후 이동

fasd

asd는 사용빈도가 높은 파일 또는 디렉토리 검색을 편하게 해서 생산성을 향상시켜주는 도구입니다. 열어본 파일이나 이동한 디렉토리를 기억하고 우선순위를 정해서 빠르게 검색할 수 있게 도와줍니다.

1
brew install fasd

설치가 완료되었으면 ~/.zshrc에 plugin을 추가

1
2
3
4
5
plugins=(
  ...
  ...
  fasd
)

전부 완료되었으면 source ~/.zshrc를 입력하여 설정을 다시 불러옵니다.

단축키 기능
  • z : 디렉토리 이동
  • s : 파일 or 디렉토리 검색

6) tig

git commit history 뷰어

1
brew install tig

7) jq

터미널에서 jSONViewer

1
brew install jq

추가 환경 설정 스크립트

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
alias php='/Applications/MAMP/bin/php/php7.1.20/bin/php'
alias mysql='/Applications/MAMP/Library/bin/mysql'
alias mysqldump='/Applications/MAMP/Library/bin/mysqldump'
alias ls='ls -l'


# cd into whatever is the forefront Finder window.
cdf() {  # short for cdfinder
  cd "`osascript -e 'tell app "Finder" to POSIX path of (insertion location as alias)'`"
}

# git add,commit,push all-in-one
commit() {
    local message=$1

    if [ "$message" = "" ]
    then
        echo "Param is null"
        message="commit by $USERNAME - $(date '+%y/%m/%d %H:%M')"
    fi

    echo "$ git add --all"
    git add --all
    echo "-------------------------------------"
    echo "$ git commit -m '${message}'"
    git commit -m "${message}"
}

push() {
    echo "$ git push origin master"
    git push origin master
}

fpush() {
    echo "$ git push -f origin master"
    git push -f origin master
}

cpush() {
    commit $1
    echo "-------------------------------------"
    push
}

cfpush() {
    commit $1
    echo "-------------------------------------"
    fpush
}

fcpush() {
    commit $1
    echo "-------------------------------------"
    fpush
}

pull() {
    echo "$ git pull origin master"
    git pull origin master
}

fpull() {
    echo "$ git pull -f origin master"
    git pull -f origin master
}

tarzip() {
    echo "$ tar -zcvf $1.tar.gz $1"
    echo "-------------------------------------"
    tar -zcvf $1.tar.gz $1
}

tarunzip() {
    echo "$ tar -zxvf $1"
    echo "-------------------------------------"
    tar -zxvf $1
}

크리에이티브 커먼즈 라이선스 ITPAPER(호쌤,쭈쌤)에 의해 작성된 ≪[Mac] 기본 개발환경 구성≫은(는) 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 4.0 국제 라이선스에 따라 이용할 수 있습니다.
이 라이선스의 범위 이외의 이용허락을 얻기 위해서는 leekh4232@gmail.com으로 문의하십시오.

comments powered by Disqus