# 모드 없는 Vim 기술

> Clean Markdown view of GeekNews topic #12903. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=12903](https://news.hada.io/topic?id=12903)
- GeekNews Markdown: [https://news.hada.io/topic/12903.md](https://news.hada.io/topic/12903.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-01-17T10:06:01+09:00
- Updated: 2024-01-17T10:06:01+09:00
- Original source: [github.com/SebastianMuskalla](https://github.com/SebastianMuskalla/ModelessVim)
- Points: 3
- Comments: 1

## Topic Body

### 모드가 없는 `vim`
- 이 저장소의 설정 파일들은 `vim`을 모드가 없는 편집기로 변환함.
- 복잡한 명령어를 기억하는 대신, `Ctrl+S`로 저장하고 `Shift+←/→/↑/↓`로 텍스트를 선택하며 `Ctrl+C/V`로 복사/붙여넣기를 사용할 수 있는 표준 키 바인딩을 사용함.
- 이 설정은 `vim`을 그래픽 편집기보다 선호하는 애호가를 위한 것이 아니라, 주로 GUI 편집기(예: VSCode)를 사용하지만 때때로 터미널에서 실행할 수 있는 편집기가 필요한 사람들을 위한 것임.

### 주의사항
- **모드가 없는** 편집기는 키를 눌러 바로 텍스트를 입력할 수 있고, 파일 저장과 같은 명령을 키 바인딩을 통해 수행하는 일반 편집기임.
- **모드가 있는** 편집기인 기본 설정의 `vim`은 여러 모드(예: '명령 모드', '삽입 모드', '시각 모드' 등)를 가지고 있음.

### Q&A
- **Q:** `vim` 명령어를 왜 배우지 않는가?
  - **A:** 배웠지만, 정기적으로 `vim`을 사용하지 않으면 계속 잊어버림.
- **Q:** `nano`와 같은 모드가 없는 편집기를 왜 사용하지 않는가?
  - **A:** `vim`의 기능(예: 많은 언어에 대한 구문 강조 지원)은 `nano`와 같은 모드가 없는 터미널 편집기를 능가함. 이 저장소의 설정 파일들은 `vim`을 모드가 없는 편집기로 변환하면서 놀라운 기능들을 유지함.

### 일부 기능
- 표준 키 바인딩 지원.
- 키 바인딩을 상기시켜주는 화면 상단의 정보 바 표시.
- 파일, 커서 위치 등의 정보를 포함한 화면 하단의 상태 바 표시.
- 많은 옵션에 대한 합리적인 기본 설정.

### 스크린샷
- 모드가 없는 `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`의 강력한 기능을 유지하면서도 친숙한 키 바인딩을 제공함으로써, 사용자들이 더 빠르고 효율적으로 작업할 수 있도록 돕는다는 점이 매우 중요함.
- 이러한 사용자 정의 설정은 오픈 소스 커뮤니티의 협력과 공유 정신을 반영하며, 개발자들이 자신의 작업 환경을 개인의 필요에 맞게 조정할 수 있는 유연성을 제공함.

## Comments



### Comment 22313

- Author: neo
- Created: 2024-01-17T10:06:01+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=39008533) 
- **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은 땅콩버터가 없는 땅콩버터 샌드위치와 같음. 그러나 그것이 원하는 것이라면, 그대로 사용하면 됨.
