'2025/07'에 해당되는 글 2건

  1. 2025.07.25 WezTerm 터미널 설치 2
  2. 2025.07.24 eclipse에서 cherry-pick 진행 절차 1

맥북에서 기존에 사용하던 iterm2가 너무 느린 거 같아서 새로운 터미널이 있나 하고 찾아보니깐 WezTerm이 있어서 이걸 설치하였습니다

사전에 확인해야 할 환경 사양

  • 기본 macOS 터미널 $TERM 값: xterm
  • WezTerm 설치 및 실행 이후 $TERM 값: xterm-256color
  • .zshrc 파일 상태: .oh-my-zsh와 같은 다른 셸 설정 프레임워크를 전혀 참조하지 않음(즉, 관련 환경 정보를 다 삭제으로써 !v시 vi 이전파일이 보이는 답답한 현상이 제거됨. 야후~)

 

1단계: WezTerm 설치와 기본 설정

먼저 WezTerm을 설치하고, 기본적인 시각 설정을 마침

  • 폰트: FiraCode Nerd Font를 사용해서 코딩할 때 가독성을 확 높임.
  • 글자 크기: 12.0
  • 색상: 배경은 #000000 (블랙), 글자는 #00FF00 (밝은 초록색)
  • 투명도: window_background_opacity = 0.8로 설정해서 배경이 살짝 비치도록...
  • 커서: BlinkingBlock 스타일로 설정해서 눈에 잘 띄게...
  • 업데이트 및 종료 경고: check_for_updates = false와 window_close_confirmation = 'NeverPrompt'로 불필요한 알림은 모두 껐습니다.
  • 초기 창 크기: initial_rows = 200, initial_cols = 130으로...

여기서 확인 포인트: WezTerm을 재시작했을 때 폰트, 색상, 투명도, 커서가 잘 적용되는지, 그리고 종료 시 경고 메시지가 뜨지 않는지 확인 필요


2단계: $TERM 변수 완벽 제어

터미널 환경에서 가장 중요한 $TERM 변수! 이게 wezterm으로 제대로 설정되어야 모든 기능이 완벽하게 작동한다능....

저의 wezterm.lua 파일 내용입니다

-- ~/.wezterm.lua

local wezterm = require 'wezterm'

return {
	font = wezterm.font("FiraCode Nerd Font", {weight="Regular"}),
	font_size = 12.0,

	colors = {
		background = '#000000', -- 검정색 배경
		foreground = '#00EE00', -- 밝은 초록색
		
		ansi = {
			'#000000', '#CC0000', '#4E9A06', '#C4A000', '#3465A4', '#75507B', '#06989A', '#D3D7CF',
		},
		brights = {
			'#555753', '#EF2929', '#8AE234', '#FCE94F', '#729FCF', '#AD7FA8', '#34E2E2', '#EEEEEC',
		},
	},

	window_background_opacity = 0.8,

	cursor_blink_rate = 800,
	default_cursor_style = "BlinkingBlock",

	window_close_confirmation = 'NeverPrompt', 
	check_for_updates = false,

	initial_rows = 200,
	initial_cols = 130,

	-- WezTerm이 셸에게 TERM=wezterm을 전달하도록 설정
	set_environment_variables = {
		TERM = 'wezterm',
	},

	-- Zsh 셸을 실행할 때 TERM을 강제하는 설정
	-- 이 설정은 WezTerm이 셸을 시작하는 초기 단계에서 환경 변수를 주입하는 더 강력한 방법입니다.
	default_prog = { "/bin/zsh", "-l", "-c", "export TERM=wezterm; exec zsh" },

	-- 선택 사항: Command Palette를 통해 특정 셸을 시작하는 메뉴 추가
	launch_menu = {
		{
			label = 'Launch Zsh with Forced TERM',
			args = { 'zsh', '-l', '-c', 'export TERM=wezterm; exec zsh' },
		},
	},
}
 

여기서 확인 포인트: WezTerm을 반드시 macOS 기본 터미널이 아닌, WezTerm 앱 자체를 독립적으로 실행해야 합니다. (Spotlight 검색, Dock, 응용 프로그램 폴더 등을 통해서요)
WezTerm 실행 후 echo $TERM을 입력했을 때 wezterm이 반드시 나와야 합니다

 

3단계: Vim 투명도 및 셸 기능 완벽 호환

$TERM이 wezterm으로 설정되었는데도 vim 투명도가 깨지거나 셸 기능(백슬래시, clear, 화살표 키)이 이상하게 작동하는 문제가 발생함. 이건 WezTerm에 맞는 terminfo 데이터가 시스템에 없어서 발생하는 현상

  1. wezterm.terminfo 파일 다운로드:
    curl -LO https://github.com/wez/wezterm/raw/main/termwiz/data/wezterm.terminfo
    
  2. terminfo 파일 설치:
    tic -x wezterm.terminfo
    
  3. 임시 파일 삭제:
    rm wezterm.terminfo
    

그리고 vim에서 투명도를 완벽하게 유지하기 위해 .vimrc 파일에 다음과 같은 설정을 추가
이 설정은 vim이 터미널의 투명한 배경을 덮어쓰지 않도록 합니다.

" ~/.vimrc

" 터미널 트루 컬러 활성화
set termguicolors

" Vim의 배경을 투명하게 설정하여 터미널의 투명도를 따르도록 함
" (colorscheme 설정 아래에 위치하는 것이 중요)
highlight Normal guibg=NONE
highlight LineNr guibg=NONE
highlight NonText guibg=NONE
highlight SpecialKey guibg=NONE
highlight VertSplit guibg=NONE
highlight SignColumn guibg=NONE

 

여기서 확인 포인트: WezTerm과 vim을 재시작했을 때 vim 내에서 배경 투명도가 잘 유지되는지,
그리고 셸에서 백슬래시, clear 명령어, 화살표 키(이전에 실행했던 명령어들)가 정상적인지 확인 필요

Posted by 테리
:

cherry-pick은 commit 단위로 원하는 브랜치에서 가져오는 방식입니다

단, 해당 commit의 파일 목록에 파일이 하나만 있을 경우입니다(만약, n개 파일이 전부 적용할 경우에도 가능하겠네요)

상황 적용 방법 git 용어
commit 단위에서 모든 파일을 그대로 반영하고 싶을 때 cherry-pick cherry-pick
commit 단위에 포함된 일부 파일만 선택적으로 반영하고 싶을 때 cherry-pick으론 안됨
비교 후 수동 반영
공식 용어가 없다
manual patching,
file-level checkout,
partial merge 등

 

이클립스 기준으로 기록합니다

단계 주제 진행 방식
1 프로젝트가 반영할
fix 또는 feature 브랜치 등인지 확인
변경이 필요하면 checkout
2 대상 브랜치의 히스토리 확인  git repositories 뷰 => branchs > local => 대상 브랜치에 우클릭 => show in > hisotry 선택
3 반영할 commit의 목록 확인 1 git history 뷰에서 commit 목록 확인 선택
2 git history 뷰의 아래 창에 반영할 파일 확인(1개인지 n개인지)
   단, n개의 파일 전체를 반영할 필요가 없는 경우는 cherry-pick이 아닌 비교 후 수동 반영 방식으로 진행해야만 한다
4 cherry-pick 진행 1 git history 뷰에서 반영할 commit에 우클릭 => cherry-pick 클릭
2 도출된 cherry-pick commit 창의 내용을 확인 후 cherry-pick 버튼 클릭
* 충돌이 발생하지 않으면 자동으로 현재 브랜치에 반영이 됨
5 push 진행 방법 1
git staging 뷰에서 push => 이것은 이클립스 2021-03 이상 버전부터 해당 사항임(전 그 이하 버전이라서 push 버튼은 없고, 다만 브랜치 명 뒤에 윗쪽 화살표는 보이는데, 어쩌라는 건지...)
방법 2
git repositories 뷰에 remotes > origin > 브랜치에 우클릭 후 push to upstream 메뉴인데, 이거 또한 버전이 낮아서 다음의 방식으로 진행해야 한다
이클립스 하위 호환 방법 + git repositories 뷰에 remotes > origin > 원격 url에 .git 중 위쪽 화살표가 표시된 영역에 우클릭 후 push 메뉴 클릭
(git repositories 뷰에 branches > remote tracking > origin/브랜치는 지양한다. 자세한 내용은 차후에...)

저는 방법 2번을 선택하였고, 이후
도출된 push results: 프로젝트 - origin 창에 내용을 확인 후 close 버튼 클릭
방법 3
프로젝트에 우클릭 후 team > push to upstream 메뉴 클릭

 

 

 

 

 

Posted by 테리
: