macOS 터미널 향상
개인적으로 저는 컴퓨터, 노트북 등을 사용할 때 단말기를 꽤 자주 사용합니다. 결과적으로 작업을 쉽게 하고 터미널을 최대한 활용하기 위해 터미널을 상당히 많이 수정했습니다. 과거에는 대부분 수동으로 작업했기 때문에 제 쪽에서 많은 관심과 정기적인 업그레이드가 필요했습니다. OS 업데이트가 수행됩니다. 그래서 최소한 단말기를 강화할 때 들이는 노력을 줄이려고 노력했습니다.
결과는 iTerm2 + zsh + oh-my-zsh + powerline + powerlevel9k의 조합이었습니다. 이 조합은 내 요구 사항의 약 95%를 충족하며 터미널을 유지 관리하는 데 드는 노력을 크게 줄였습니다. 이 블로그 게시물에서는 내가 사용하는 동일한 터미널을 얻을 수 있는 방법을 보여 드리겠습니다.
자, 시작하겠습니다! macOS에 Homebrew가 설치되어 있다고 가정합니다. Homebrew가 설치되어 있지 않은 경우 설치하는 것이 좋습니다. macOS로 작업할 때 필수입니다. 홈페이지https://brew.sh/에서 설치 지침을 찾을 수 있습니다. Homebrew를 사용하면 필요한 대부분의 패키지를 설치할 수 있습니다. 하지만 이 작업을 수행하기 전에 현재 안정적인 iTerm2 버전을 다운로드해 보겠습니다.
https://www.iterm2.com/downloads.html
ZIP 파일을 추출하고 앱을 프로그램 폴더로 이동합니다. 이제 iTerm2를 시작할 수 있습니다. 이 작업이 완료되면 zsh를 설치할 수 있습니다.
brew install zsh zsh-autosuggestions zsh-syntax-highlighting
다음 단계는 oh-my-zsh를 설치하는 것입니다. 다행스럽게도 이것은 매우 쉽습니다. 다음 명령을 사용하십시오.
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
이제 대부분의 작업이 이미 완료되었습니다. 다음으로 powerline을 설치해야 합니다.
brew install python3
pip3 install powerline-status
.vimrc 파일에서 구성해야 하는 vim에 주로 전력선을 사용합니다.
" powerline
set rtp+=/usr/local/lib/python3.6/site-packages/powerline/bindings/vim
set laststatus=2
set t_Co=256
마지막 단계는 powerlevel9k를 설치하는 것입니다. 이는 Homebrew로 다시 수행할 수 있습니다.
brew tap sambadevi/powerlevel9k
brew install powerlevel9k
이제 필요한 모든 패키지가 설치되었으며 구성을 시작할 수 있습니다. 먼저 기본 제공 글꼴이 이 구성을 완전히 지원하지 않으므로 먼저 적절한 글꼴을 설치해야 합니다. FiraCode 라이트 글꼴을 사용했습니다. 글꼴을 설치하려면 글꼴 라이브러리에 글꼴을 다운로드해야 합니다.
mkdir ~/Downloads/FiraCode && cd ~/Downloads/FiraCode
wget https://github.com/tonsky/FiraCode/releases/download/2/FiraCode_2.zip
unzip FiraCode_2.zip
cp ttf/*.ttf ~/Library/Fonts/
cd ~/Downloads && rm -rf FiraCode/
다음 단계는 iTerm2 색 구성표입니다. 저는 https://github.com/wesbos/Cobalt2-iterm에서 Wes Bos가 제공한 Cobalt2를 사용합니다. 색 구성표를 다운로드한 다음 iTerm2로 가져와야 합니다.
cd ~/Downloads
curl https://raw.githubusercontent.com/wesbos/Cobalt2-iterm/master/cobalt2.itermcolors --output cobalt2.itermcolors
이제 iTerm2의 기본 설정을 연 다음 프로필 -> 색상 -> 색상 사전 설정 -> 가져오기를 선택하면 색 구성표를 가져올 수 있습니다.
마지막으로 필요에 맞게 zsh 구성 파일을 수정해야 합니다. 내 .zshrc는 다음과 같습니다.
# zsh configuration file
#
# Author: Thomas Bendler <[email protected]>
# Date: Tue Sep 24 20:28:27 UTC 2019
# Add powerline support
POWERLINE_ZSH="/usr/local/lib/python3.7/site-packages/powerline/bindings/zsh/powerline.zsh"
[-e "${POWERLINE_ZSH}"] && source "${POWERLINE_ZSH}"
# If you come from bash you might have to change your $PATH.
export PATH="/usr/local/sbin:${PATH}"
# Path to your oh-my-zsh installation.
export ZSH="${HOME}/.oh-my-zsh"
# Uncomment the following line to use case-sensitive completion.
CASE_SENSITIVE="true"
# Uncomment the following line to change how often to auto-update (in days).
export UPDATE_ZSH_DAYS=7
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
# Uncomment the following line to display red dots whilst waiting for completion.
COMPLETION_WAITING_DOTS="true"
# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"
# Which plugins would you like to load?
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Add wisely, as too many plugins slow down shell startup.
plugins=(
ansible
battery
brew
bundler
colorize
docker
dotenv
git
git-flow-avh
iterm2
nmap
osx
rake
ruby
sudo
zsh-navigation-tools
)
ZSH_THEME="powerlevel9k"
source "${ZSH}/oh-my-zsh.sh"
# User configuration
# Load Zsh tools for syntax highlighting and autosuggestions
HOMEBREW_FOLDER="/usr/local/share"
source "${HOMEBREW_FOLDER}/zsh-autosuggestions/zsh-autosuggestions.zsh"
source "${HOMEBREW_FOLDER}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
# Powerlevel9k configuration
#POWERLEVEL9K_MODE="compatible"
# Left prompt - Configure indicator when working as root
POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND="clear"
POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND="red"
# Left prompt - Configure context (user@hostname)
POWERLEVEL9K_CONTEXT_DEFAULT_BACKGROUND="clear"
POWERLEVEL9K_CONTEXT_DEFAULT_FOREGROUND="magenta"
# Left prompt - Configure display of current directory
POWERLEVEL9K_DIR_HOME_BACKGROUND="clear"
POWERLEVEL9K_DIR_HOME_FOREGROUND="white"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND="clear"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="white"
POWERLEVEL9K_DIR_ETC_BACKGROUND="clear"
POWERLEVEL9K_DIR_ETC_FOREGROUND="red"
POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_BACKGROUND="clear"
POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_FOREGROUND="red"
POWERLEVEL9K_DIR_DEFAULT_BACKGROUND="clear"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="white"
POWERLEVEL9K_SHORTEN_DIR_LENGTH="3"
POWERLEVEL9K_SHORTEN_STRATEGY="truncate_middle"
# Right prompt - Configure command execution status indicator
POWERLEVEL9K_STATUS_OK_BACKGROUND="clear"
POWERLEVEL9K_STATUS_OK_FOREGROUND="green"
POWERLEVEL9K_STATUS_ERROR_BACKGROUND="clear"
POWERLEVEL9K_STATUS_ERROR_FOREGROUND="red"
POWERLEVEL9K_STATUS_CROSS="true"
POWERLEVEL9K_STATUS_VERBOSE="true"
# Right prompt - Configure command execution time measurement
POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND="clear"
POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND="white"
# Right prompt - Configure version control system
POWERLEVEL9K_VCS_CLEAN_BACKGROUND="clear"
POWERLEVEL9K_VCS_CLEAN_FOREGROUND="green"
POWERLEVEL9K_VCS_MODIFIED_BACKGROUND="clear"
POWERLEVEL9K_VCS_MODIFIED_FOREGROUND="darkorange"
POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND="clear"
POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND="red"
POWERLEVEL9K_SHOW_CHANGESET="true"
POWERLEVEL9K_CHANGESET_HASH_LENGTH="12"
# Right prompt - Configure display of running background jobs
POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND="clear"
POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND="green"
# Right prompt - Configure RAM settings
POWERLEVEL9K_RAM_BACKGROUND="clear"
POWERLEVEL9K_RAM_FOREGROUND="white"
# Right prompt - Configure load settings
POWERLEVEL9K_LOAD_CRITICAL_BACKGROUND="clear"
POWERLEVEL9K_LOAD_WARNING_BACKGROUND="clear"
POWERLEVEL9K_LOAD_NORMAL_BACKGROUND="clear"
POWERLEVEL9K_LOAD_CRITICAL_FOREGROUND="red"
POWERLEVEL9K_LOAD_WARNING_FOREGROUND="darkorange"
POWERLEVEL9K_LOAD_NORMAL_FOREGROUND="green"
# Right prompt - Configure battery status
POWERLEVEL9K_BATTERY_CHARGING_BACKGROUND="clear"
POWERLEVEL9K_BATTERY_CHARGING_FOREGROUND="white"
POWERLEVEL9K_BATTERY_CHARGED_BACKGROUND="clear"
POWERLEVEL9K_BATTERY_CHARGED_FOREGROUND="green"
POWERLEVEL9K_BATTERY_DISCONNECTED_BACKGROUND="clear"
POWERLEVEL9K_BATTERY_DISCONNECTED_FOREGROUND="darkorange"
POWERLEVEL9K_BATTERY_LOW_THRESHOLD="10"
POWERLEVEL9K_BATTERY_LOW_BACKGROUND="clear"
POWERLEVEL9K_BATTERY_LOW_FOREGROUND="red"
POWERLEVEL9K_BATTERY_VERBOSE=false
# Right prompt - Configure disk usage
POWERLEVEL9K_DISK_USAGE_NORMAL_BACKGROUND="clear"
POWERLEVEL9K_DISK_USAGE_NORMAL_FOREGROUND="green"
POWERLEVEL9K_DISK_USAGE_WARNING_BACKGROUND="clear"
POWERLEVEL9K_DISK_USAGE_WARNING_FOREGROUND="darkorange"
POWERLEVEL9K_DISK_USAGE_CRITICAL_BACKGROUND="clear"
POWERLEVEL9K_DISK_USAGE_CRITICAL_FOREGROUND="red"
# Right prompt - Configure IP address
POWERLEVEL9K_IP_BACKGROUND="clear"
POWERLEVEL9K_IP_FOREGROUND="white"
# Configure multiline prompt
POWERLEVEL9K_PROMPT_ON_NEWLINE="true"
POWERLEVEL9K_SHOW_CHANGESET="true"
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=""
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="$ "
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR=""
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR=""
POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR=""
POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR=""
# Configure the prompt content
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(root_indicator context dir vcs)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status command_execution_time ram disk_usage ip)
#POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status command_execution_time load ram disk_usage ip)
# Local custom snippets
for item in $(ls -1 ${HOME}/.profile.d/*.profile); do
[-e "${item}"] && source "${item}"
done
이러한 애드온과 구성이 준비되면 터미널이 내 터미널처럼 보일 것이며, 마음에 들지 않는다면 적어도 자신의 구성을 시작하기에 좋은 출발점이 되어야 합니다.
Reference
이 문제에 관하여(macOS 터미널 향상), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/thbe/enhance-your-macos-terminal-25o7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)