기본 콘텐츠로 건너뛰기

추천 가젯

Tmux 환경에서 Vim 컴파일 시 발생하는 termio/termios 감지 오류 해결 방법

 리눅스 환경에서 소스코드를 직접 빌드하다 보면 의외의 환경 변수나 터미널 세션 설정 때문에 엉뚱한 빌드 에러를 마주할 때가 있습니다. 대표적인 예로 Tmux 세션 내부에서 Vim 소스를 컴파일할 때 발생하는 termio/termios 감지 오류 가 있습니다. 이번 글에서는 해당 에러가 발생하는 원인과, 단순한 clean 으로는 해결되지 않는 이유 및 올바른 해결 방법을 정리합니다. 1. 문제 원인 Vim의 소스 코드 빌드 과정( configure )은 시스템이 System V 계열인지 Linux 계열인지 판별하기 위해 termio.h 와 termios.h 헤더 파일 및 터미널 인터페이스를 검사(Probe)합니다. 하지만 Tmux 내부(세션 안)에서 컴파일을 진행할 경우 , Tmux가 제공하는 PTY(Pseudo-Terminal) 환경과 TERM=screen 등의 특수한 환경 변수 영향으로 인해 Autoconf가 터미널 인터페이스를 검출하는 과정에서 오동작을 일으킵니다. 그 결과, 실제 시스템 조건과 무관하게 설정 에러를 발생시키게 됩니다. 2. 왜 make clean 으로는 해결되지 않을까? 일반적인 개발 과정에서는 빌드가 꼬였을 때 make clean 을 실행하곤 합니다. 하지만 make clean 은 컴파일된 오브젝트 파일이나 바이너리( .o 파일 등)만 삭제할 뿐, Autotools가 시스템 환경을 탐색한 결과로 남긴 캐시( config.cache 또는 내부 매크로 변수)나 설정 파일들은 그대로 유지 합니다. 일반적인 상황에서는 시스템의 하드웨어/OS 정보가 바뀌지 않기 때문에 이 잔여물이 문제가 되지 않습니다. 그러나 Tmux나 Screen 같은 터미널 멀티플렉서 환경에서 탐색된 왜곡된 정보가 캐시에 박혀버리면, 나중에 Tmux 외부(일반 터미널)로 나와서 빌드를 시도해도 이전의 오염된 캐시 때문에 계속해서 오류가 발생하게 됩니다. 3. 해결 방법 이 문제를 해결하기 위해서는 반드시 Tmux 외부 환경 에서 기존의 오염된 설정 파일을 ...

앗 astronvim을 깔아보고 나서 알게 되는 것이 꾀나 많다. (맞춤법 검사기 이상한데...)

 꽤나 -> 꾀나로 바꿈.


Astronvim을 깔았더니,

홈화면이 ?

홈 화면의 존재는 처음보는건 아니다만, 생각보다 편해 보인다. 해당 패키지를 찾아서 
내 vim 셋팅에 넣어야 겠다. l
처음 시작하니 일단 Plugin install 화면이 미려하게 나온다. fzf+telescope의 힘이라는데,
fzf는 이미 잘 쓰고 있고, telescope는 지금 셋팅에서 설치하는 것을 실패 했다. lua가 필수 이거나, lua 셋업을 어떻게 잘 해봐야겠는데, vim configure 명령 옵션을 더 넣고 싶지는 않아 여기서 포기 했다. 
  첫 화면에  space ff를 누르면 findfile 창이 열린다고 한다 시키는 대로 해보니...

 Space를 눌렀더니 emacs에서나 보던 화면이?

어... emacs에서 org-agenda에서나 보던, 커맨드 입력 중에 다음 커맨드에 대한 설명이 화면에 나오는 것이다. 

어... 이거는 안 깔 수가 없다. 

당장 깔아야지...

찾아보니, 이 툴은 Which-key.nvim이라는 패키지였고
vim-leader-guide 라는 툴이 emacs의 guide-key에서 영감을 받아서(?)
만든 툴이라고 한다. 
그리고 emacs에 guide-key가 emacs-which-key로 재작성되었을 때, 
vim-leader-guide도 vim-which-key로 재작성 되었다고 한다. 

그리고 nvim하는 사람들이 유난히도 싫어하는 vimscript 기반에서 lua 기반으로 바뀐 것이 
바로 which-key.nvim이다. 

뭐 난 아직은 좀 더 vim9쪽에 있고 싶으니 난, vim-which-key를 내 .vimrc로 이동시키려고 한다. 

흠 lsp에 패키지 추가하는게 너무 쉬워서, 결국은 nvim이나 nvim위에 올라간 astronvim으로 넘어갈 거 같기는 한데, 그래도 조금 더 버텨보자.


댓글