GN⁺: 모드 없는 Vim 기술
(github.com/SebastianMuskalla)모드가 없는 vim
- 이 저장소의 설정 파일들은
vim
을 모드가 없는 편집기로 변환함. - 복잡한 명령어를 기억하는 대신,
Ctrl+S
로 저장하고Shift+←/→/↑/↓
로 텍스트를 선택하며Ctrl+C/V
로 복사/붙여넣기를 사용할 수 있는 표준 키 바인딩을 사용함. - 이 설정은
vim
을 그래픽 편집기보다 선호하는 애호가를 위한 것이 아니라, 주로 GUI 편집기(예: VSCode)를 사용하지만 때때로 터미널에서 실행할 수 있는 편집기가 필요한 사람들을 위한 것임.
주의사항
- 모드가 없는 편집기는 키를 눌러 바로 텍스트를 입력할 수 있고, 파일 저장과 같은 명령을 키 바인딩을 통해 수행하는 일반 편집기임.
-
모드가 있는 편집기인 기본 설정의
vim
은 여러 모드(예: '명령 모드', '삽입 모드', '시각 모드' 등)를 가지고 있음.
Q&A
-
Q:
vim
명령어를 왜 배우지 않는가?-
A: 배웠지만, 정기적으로
vim
을 사용하지 않으면 계속 잊어버림.
-
A: 배웠지만, 정기적으로
-
Q:
nano
와 같은 모드가 없는 편집기를 왜 사용하지 않는가?-
A:
vim
의 기능(예: 많은 언어에 대한 구문 강조 지원)은nano
와 같은 모드가 없는 터미널 편집기를 능가함. 이 저장소의 설정 파일들은vim
을 모드가 없는 편집기로 변환하면서 놀라운 기능들을 유지함.
-
A:
일부 기능
- 표준 키 바인딩 지원.
- 키 바인딩을 상기시켜주는 화면 상단의 정보 바 표시.
- 파일, 커서 위치 등의 정보를 포함한 화면 하단의 상태 바 표시.
- 많은 옵션에 대한 합리적인 기본 설정.
스크린샷
- 모드가 없는
vim
을 너드 폰트로 사용하는 모습. -
_ascii
버전의 설정 파일로 모드가 없는vim
을 사용하는 모습. -
modeless.vimrc
를 사용하는 모드가 있는vim
인vi
의 모습.
저장소 내용물
- 설치 방법, 너드 폰트, 키 바인딩, 이 저장소의 파일들, 라이선스.
설치
- 이 저장소를
~/.vim
에 복제함. -
vim
은~/.vim
내의vimrc
파일을 자동으로 감지해야 함. - 감지하지 않는 경우,
~/.vimrc
에서~/.vim/modeless.vimrc
로 심볼릭 링크를 생성할 수 있음. -
sudoedit
을 사용할 때 모드가 없는vim
을 사용하려면,.bashrc
/.zshrc
/... 파일에export EDITOR=vim
을 추가함. - 모드가 있는
vim
을vi
로 사용하고 싶을 수 있음.vi
명령이 모드가 있는vim
버전을 실행하도록 설정하는 것을 추천함.
너드 폰트
- 기본 설정은 너드 폰트(추가 아이콘이 삽입된 모노스페이스 폰트)를 필요로 함.
- 터미널 창의 상단 정보 바와 하단 상태 바에 이러한 사용자 정의 아이콘을 사용함.
- 사용자 정의 폰트를 사용하고 싶지 않거나 사용할 수 없는 경우, ASCII 문자만을 사용하여 상태 바/정보 바를 구현하는
statusline_ascii.vimrc
및infoline_ascii.vimrc
파일이 저장소에 포함됨.
키 바인딩
- 모드가 없는
vim
은 파일 열기, 저장, 종료, 검색 및 교체, 선택, 잘라내기, 복사, 붙여넣기, 기타 기능에 대한 키 바인딩을 지원함.
저장소의 파일들
-
modeless.vimrc
,modeful.vimrc
,colorscheme.vimrc
,keybinds.vimrc
,infoline_nerdfont.vimrc
,infoline_ascii.vimrc
,statusline_nerdfont.vimrc
,statusline_ascii.vimrc
,options_basic.vimrc
,options_modeless.vimrc
,vimrc
,virc
,vi
,LICENSE
,README.md
.
라이선스
- 이 설정 파일 모음은 MIT 라이선스에 따라 자유롭고 오픈 소스 소프트웨어임.
GN⁺의 의견
- 이 글은
vim
을 GUI 편집기처럼 사용할 수 있도록 하는 혁신적인 접근 방식을 제공함으로써, 터미널 기반 편집기에 익숙하지 않은 사용자들에게 큰 도움이 될 수 있음. - 특히,
vim
의 강력한 기능을 유지하면서도 친숙한 키 바인딩을 제공함으로써, 사용자들이 더 빠르고 효율적으로 작업할 수 있도록 돕는다는 점이 매우 중요함. - 이러한 사용자 정의 설정은 오픈 소스 커뮤니티의 협력과 공유 정신을 반영하며, 개발자들이 자신의 작업 환경을 개인의 필요에 맞게 조정할 수 있는 유연성을 제공함.
Hacker News 의견
-
Vim의 개선된 접근성에 대한 의견
저자가 Vim을 개선한 이유(구문 강조 및 기타 기능)는 매우 타당함. 그러나 이것이 Vim의 본질을 훼손하는 것 같은 느낌을 줌. Vim이 더 많은 사람들에게 접근 가능해지는 것은 좋지만, 그 방식이 마음에 들지 않음. 저자에게는 칭찬을 보냄.
-
Vim 사용 팁에 대한 의견
Vim이 마음에 들지 않는다면 Escape 키를 CapsLock으로 재매핑해야 함. Escape는 가장 중요한 키이며 입력을 종료할 때마다 사용해야 함. 이 키는 손가락에서 가장 멀리 떨어져 있어서는 안 됨. Ctrl+[ 또는 Ctrl+C를 사용하는 사람들도 있지만, 재매핑이 더 나은 방법임.
-
Vim의 기존 기능에 대한 의견
저자가 이미 Vim에 내장된 'easy vim' 모드(aka evim, 또는 "vim -y")를 모르는 것 같음. 모드가 없는 편집기를 찾고 있다면 Vim은 적합하지 않음. Vim을 배우는 것은 여정이며, 익숙해지면 Vim이 왜 그런지 이해하게 됨.
-
Vim에 대한 개인적인 견해
오랜 경험을 가진 Vim 사용자로서, 'vim -y'도 시도해보길 권장함. 다른 사람들이 어떤 편집기를 사용하든 그들을 내버려 둘 것. 프로그래밍은 이미 충분히 어려우므로 다른 사람의 믿음에 맞춰 자신의 편집기를 사용할 필요는 없음.
-
통합 사용자 인터페이스에 대한 의견
유닉스/리눅스가 IBM의 Common User Access(표준화된 메뉴 시스템)를 채택했다면 어떻게 달라졌을지 궁금함. VI와 EMacs가 동일한 키 바인딩을 가졌을 것임.
-
Vim 사용의 실용성에 대한 의견
Vim을 가끔 사용하는 주된 이유는 모든 VM에서 기본적으로 사용할 수 있는 유일한 합리적인 편집기이기 때문임. 기본 설정으로 제공되며, 설정을 변경하거나 다른 편집기를 설치하는 것은 간단하지 않음.
-
Vim 설정 파일에 대한 의견
이 저장소의 설정 파일은 Vim을 모드가 없는 편집기로 변환함. 복잡한 명령어를 기억할 필요 없이, Ctrl+S로 저장하고 Shift+화살표 키로 텍스트를 선택하며 Ctrl+C/V로 복사/붙여넣기를 할 수 있음. 이 설정은 Vim을 그래픽 편집기보다 선호하는 사용자를 위한 것이 아니라, 터미널에서 실행할 수 있는 편집기가 필요할 때 GUI 편집기(예: VSCode)를 주로 사용하는 사람들을 위한 것임.
-
Vim 사용 철학에 대한 의견
처음 vi를 접한 지 며칠 만에 이와 같은 시도를 했지만, 다양한 기계에 로그인해야 했기 때문에 기본적인 vi를 사용하는 것이 더 낫다고 결정함. 이 철학은 수년간 잘 작동함.
-
Vim에 대한 감정적 투자에 대한 의견
(Neo)Vim 게시물에 투자되는 감정적 에너지가 많은데, 대부분 Vim을 배우지 않은 사람들이 느끼는 불안정함 때문임. 이 저장소를 빠르게 로드할 수 있다면 Vim을 싫어하는 사람들에게 도움이 될 수 있음. Vim이 더 이상 프로그래밍 세계를 지배하지 않으며, 새로운 프로그래머에게 선택적인 기술이 되었음.
-
모드가 없는 Vim에 대한 의견
모드가 없는 Vim은 땅콩버터가 없는 땅콩버터 샌드위치와 같음. 그러나 그것이 원하는 것이라면, 그대로 사용하면 됨.