VIM 시작하기(2021 업데이트)

VIM 시작하기(2021 업데이트)

시작하기 vim : 텍스트 편집기의 선택은 개발자들 사이에서 뜨거운 논쟁 거리가 될 수 있습니다. 심지어 위키 피 디아 엔트리 이 공통의 경쟁에서. 확실히, 그것은 당신이 사용하는 것이 아니라 그것을 사용하는 방법입니다. 그러나 전문 텍스트 편집기는 개발 워크 플로와 생산성에 큰 차이를 만들 수 있습니다. 그러한 텍스트 편집기 중 하나가 vim입니다.

선택할 수있는 수많은 텍스트 편집기와 IDE가 있습니다. 그러나 노련한 개발자에게 물어 보면 선택은 항상 두 가지 다른 편집자에게로 내려집니다. 정력 및 Emacs. vim과 Emacs는 모두 25 년 이상 사용 된 명령 줄 기반 편집기입니다. 둘 다 강점과 약점이 있지만 vim은 학습 곡선이 약간 덜 가파르다 고 주장 할 수 있습니다. 또한 vim은이를 둘러싼 강력하고 활동적인 커뮤니티를 제공합니다.

이 게시물에서는 vim이 워크 플로를 개선하려는 개발자에게 이상적인 텍스트 편집기 인 이유를 살펴 봅니다. 시작하는 방법과 사용 가능한 구성 옵션에 대한 단계를 살펴 보겠습니다.

왜 Vim을 사용합니까?

vim ( "vi 개선됨"의 약자)은 고전적인 vi Unix 기반 시스템 용 편집기. 이름에서 알 수 있듯이 vim은 vi의 업데이트 된 버전이며 후자는 1976 년에 처음 등장했습니다. vim은 네덜란드 프로그래머 Bram Moolenaar가 1991 년에 처음 출시했습니다. 오랜 역사를 지닌 텍스트 편집기를 사용하면 일정 수준의 안정성과 성숙도를 보장 할 수 있습니다. 또한 Linux 서버를 포함한 모든 Unix 기반 운영 체제에서 편재성이라는 주요 이점이 있습니다.

가능한 한 손의 움직임을 최소화하는 vim의 주요 원칙 중 하나입니다. "홈 행"(예 : 키보드의 가운데 행 a, s, d, f, 움직임을 줄여 효율성을 떨어뜨립니다. 예를 들어 탐색에 화살표 키를 사용하는 대신 vim에서 키를 사용합니다. h (왼쪽), j (하위), k (위로) 및 l (권리). 화살표 키는 여전히 vim에서 작동하지만이 다른 워크 플로에 익숙해지면 입력 속도를 상당히 높일 수 있습니다.

vim의 또 다른 주요 기능은 모드 사용입니다. 대부분의 텍스트 편집기에는 vim에서 삽입 모드라고하는 단일 모드가 있습니다. 삽입 모드는 일반 텍스트 편집기와 같은 기능을합니다. 특정 키를 입력하면 항상 해당 문자가 입력됩니다.

하지만 vim에서 시작하는 모드는 일반 모드입니다. 이 모드에서 vim은 일반적인 편집 기능과 워크 플로우를 위해 거의 모든 키에 명령 또는 "핫키"를 할당합니다. 예를 들어, 일반 모드에서 w를 입력하면 커서가 다음 단어의 시작 부분으로 이동합니다. 0을 입력하면 커서가 커서 줄의 시작 부분으로 이동합니다. 다음은 vim에서 가장 일반적인 명령 중 일부에 대한 개요입니다. 이것은 반복적 인 편집 작업에서 얼마나 많은 vim이 줄일 수 있는지에 대한 아이디어를 제공합니다.

일반적인 명령

$ – 커서를 현재 줄의 끝으로 이동

gg – 문서의 첫 번째 줄로 이동

G – 문서의 마지막 줄로 이동

dd – 현재 줄 삭제

2dd – 현재 및 다음 줄 삭제

d$ – 현재 커서 지점에서 줄 끝까지 삭제

r – 단일 문자를 대체합니다 (대체 할 문자로이 명령을 따릅니다).

이것은 존재하는 100 개 이상의 vim 명령 중 일부에 불과합니다. vim 편집기를 고려하는 사람에게는 명령 수가 다소 어려울 수 있습니다. 그러나 한 번에 몇 가지 명령 만 배우면 텍스트 작업 방식이 크게 바뀔 수 있습니다.

시작하기 Vim

처음으로 vim을 시작하려면 터미널을 엽니 다. 나는 적극 추천한다 iTerm2, 표준 터미널 앱도 잘 작동합니다. 단순히 vim을 입력하여 vim을 사용할 수 있지만 미리 파일 이름을 지정하는 것이 좋습니다.

vim my-first-text-file.txt

 

그러면 vim의 새 인스턴스가 열립니다.

시작하기 Vim

처음 vim을 열면 vim이 말하는 것입니다. 표준 양식. 일반 모드는 vim의 기본 모드입니다. 이 모드에서 키보드의 거의 모든 키는 일반적으로 사용되는 편집 명령에 대한 핫키입니다. 예를 들어 "단어 삭제", "커서를 줄 끝으로 이동", "커서 아래 텍스트 바꾸기"등이 있습니다.

실제로 vim에 텍스트를 입력하려면 다음을 입력해야합니다. 삽입하다 양식. 이렇게하려면 문자를 입력하기 만하면됩니다. i. 당신이 치면 i, vim은 일반 텍스트 편집기처럼 작동합니다. 삽입 모드에서 모든 키는 일반 문자를 입력합니다.

시작하기 Vim

텍스트를 입력 한 다음 esc 키를 눌러 일반 모드로 돌아갑니다. 현재 모드가 확실하지 않은 경우 esc 일반 모드로 돌아가 다시 시작합니다.

새 파일에는 이름이 있지만 임시 캐시에만 존재하며 시스템에 올바르게 저장해야합니다. 파일을 저장하려면 다음을 입력하십시오. :w 그런 다음 Enter 키를 누르십시오.

시작하기 Vim

파일을 저장하고 동시에 vim을 종료하려면 다음을 입력하십시오. :wq 그런 다음 입력하십시오.

변경 사항을 저장하지 않고 vim을 종료하려면 다음을 입력하십시오. :q! 그런 다음 입력하십시오.

Vim에 익숙해지기

위는 대부분의 일반적인 편집기 기능입니다. 그러나 이것은 vim이 할 수있는 것의 표면을 간신히 긁는 것입니다. 완전히 제어하려면 일반 모드와 주요 기능에 익숙해 져야합니다.

타이핑 효율성을 향상시키는 한 가지 방법은 h j k l 일반 모드에서 키. 이것들은 일반 화살표 키를 대신합니다. 이렇게하면 손의 움직임이 줄어들어 화살표 키에 액세스하기 위해 오른손을 움직일 필요가 없습니다.

h 왼쪽으로 이동합니다.

j 아래로 이동하는 것입니다.

k 위로 올라 가기위한 것입니다.

l 오른쪽으로 움직이기위한 것입니다.

익숙해지기까지 약간의 시간이 걸릴 수 있습니다. 하지만이 새로운 워크 플로를 채택한 후에는 항상 탐색에 사용하고 싶을 것입니다.

시작하기 Vim

커서 이동

이 커서 이동 명령을 더 확장 해 보겠습니다. 타자 H 커서가 화면 상단으로 이동합니다. M 커서를 화면의 중간 줄로 이동하고 L 커서를 화면 하단으로 이동합니다. "높음", "중간"및 "낮음"으로 서 있기 때문에 쉽게 기억할 수 있습니다.

일반적인 텍스트 편집기보다 vim이 실제로 빛을 발하는 영역이 하나 있습니다. vim에서는 주어진 줄의 거의 모든 곳에서 커서를 자유롭게 움직일 수 있습니다. 커서 위치를 변경하기 위해 마우스가 전혀 필요하지 않습니다. 줄의 위치에 관계없이 다음을 입력하여 줄의 시작 부분으로 이동할 수 있습니다. 0. 타자 $ 현재 줄의 맨 끝으로 이동합니다.

몇 단어를 건너 뛰려면 어떻게해야합니까? 타자 w 다음 단어의 시작 부분으로 이동합니다 (즉, 다음 단어의 첫 문자). 단어 끝에 편집하거나 추가해야하는 경우 e. 그러면 커서가 다음 단어의 마지막 문자로 이동합니다.

이러한 명령 앞에 숫자를 붙여서 확장 할 수도 있습니다. 입력하면 2w, 커서가 2 단어 앞으로 이동합니다. 4w 4 단어 앞으로 이동합니다. 3e 앞의 세 단어 중 마지막 문자로 이동합니다.

문서의 맨 처음 (즉, 첫 번째 줄)으로 돌아 가야하는 경우 다음을 입력합니다. gg. 타자 G 문서의 맨 마지막 줄로 이동합니다.

이것에 익숙해지면 글을 편집하는 것이 매우 간단 해집니다.

Vim 지식 확장

vim 기술을 배우고 향상시키기 위해 자주 인용되는 방법은 내장 된 vimtutor. 이것은 vim과 함께 미리 설치되어 있습니다. 입력하여 액세스 할 수 있습니다. vimtutor 명령 줄에 :

시작하기 Vim

vimtutor는 vim의 가장 일반적인 사용 방법을 안내합니다. 포함 된 연습 문제는 텍스트 편집을 바로 시작할 수 있도록 설정되어 있습니다. 튜터가 말했듯이, 명령을 외우려고하는 것이 현명한 것이 아니라 수행을 통해 배우는 것입니다. 처음으로 vimtutor를 완료하는 데 30 ~ 45 분 정도 걸릴 수 있습니다. 시작할 때 정기적으로 튜터를 진행하는 것이 좋습니다. 당신은 점차적으로 완료 시간을 줄이고 명령을 근육 기억에 맡길 것입니다.

Vim에서 NeoVim으로 마이그레이션

Vim의 공식 버전은 훌륭한 텍스트 편집기입니다. 그러나 업데이트가 어떻게 환영 받거나 프로젝트에 통합되는지에 대해 오랫동안 실망했습니다. 원래의 메인 메인테이너 인 Bram Moolenaar는 합리적인 풀 리퀘스트를 거부하는 것으로 유명합니다. 프로젝트의 포괄 성 문제에 대한 대응으로 Vim의 여러 포크와 재배포가있었습니다. 이는 커뮤니티의 요구에 맞춰 Vim 프로젝트의 유지 관리에 다시 초점을 맞추기위한 노력이었습니다.

이 프로젝트의 주요 프로젝트 중 하나는 네오빔. 원래 배포판의 포크 인 NeoVim은 커뮤니티에서 오랫동안 논의 된 많은 기능을 실현하려고합니다. 아래에서 NeoVim을 시작하는 방법을 살펴 보겠습니다. Vim에서 완전히 새로운 Vim으로 마이그레이션하든, NeoVim은 훌륭한 배포판입니다.

NeoVim의 이점

원래 배포에 비해 NeoVim의 주요 이점 중 하나는 작업을 비동기 적으로 실행할 수 있다는 것입니다. 이것은 특히 유익하고 오랫동안 기다려온 것입니다. 여기에서 가장 큰 장점은 현재 작성중인 프로그래밍 언어의 비동기 린팅입니다. 그 결과이 기능을 활용하는 다양한 NeoVim 플러그인이 있습니다.

비동기 I / O와 같은 NeoVim의 일부 기능이 이후 Vim 8에 추가되었습니다. Vim 8은 NeoVim의 성공과 수용으로 인해 이러한 기능을 크게 추가했습니다. 커뮤니티 기반 개발에 초점을 맞춘 NeoVim은 자주 업데이트되고 유지되는 것으로 나타났습니다. 많은 개발자 팀이 적극적으로 기여합니다.

다운로드 및 설치

OS X 용 NeoVim을 다운로드하고 설치하는 가장 쉬운 방법은 터미널에서 Homebrew를 사용하는 것입니다.

양조 설치 neovim 

 

또는 다음에서 안정적인 최신 릴리스를 설치할 수 있습니다. 여기를 클릭하세요. Linux 및 Windows 용 추가 배포도 사용할 수 있습니다.

설치가 완료되면 다음을 실행할 수 있습니다. nvim 터미널에서 NeoVim을 시작합니다.

시작하기 Vim

Vim에서 NeoVim으로 구성 마이그레이션

한동안 vim을 사용했다면 NeoVim으로 옮기고 싶은 구성이있을 것입니다. 그만큼 .vimrc 파일은 모든 구성 설정을 저장합니다. 일반적으로 홈 디렉토리 (~/.vimrc).

NeoVim은 기본적으로 완전히 다른 구성 파일을 사용합니다. 시작하기 전에 설정을 추가하거나 가져 오려면 먼저 설정해야합니다. NeoVim 구성 파일의 기본 이름과 위치는 다음과 같습니다. ~/.config/nvim/init.vim. init.vim NeoVim은 다음과 같습니다. .vimrc.

NeoVim에서 구성 설정을 처리하기위한 최소한 몇 가지 옵션이 있습니다.

  1. 정확한 사본 만들기 .vimrc~/.config/nvim/init.vim (가장 쉬운 솔루션 중 하나)

  2. 사이에 심볼릭 링크 만들기 ~/nvim/init.vim~/.vimrc

    다음 3 개의 명령을 실행하여 수행 할 수 있습니다.

    mkdir -p $ {XDG_CONFIG_HOME : = $ HOME / .config}
    ln -s ~ / .vim $ XDG_CONFIG_HOME / nvim
    ln -s ~ / .vimrc $ XDG_CONFIG_HOME / nvim / init.vim

     

vim과 NeoVim 간의 호환성 및 동기화가 우선 순위가 아닌 경우 첫 번째 선택이 가장 쉽습니다. 유지하기 만하면됩니다. init.vim 설정을 가져온 후 ~/.vimrc.

Vim이 최고의 텍스트 편집기입니까?

Vim은 최고의 텍스트 편집기입니까?좋은 텍스트 편집기를 찾을 때 많은 사람들이 선택의 폭이 너무 많아서 혼란스러워합니다. 그러나 Vim은 최고의 텍스트 편집기 중 하나입니다. Brackets 및 Atom과 같은 최신 그래픽 편집기와 비교할 때 Vim은 시스템의 전체 메모리 중 일부만 사용합니다. 또한 즉시 로드되며 Emacs보다 훨씬 빠릅니다.

Vim의 가장 좋은 점 중 하나는 편집기를 시작하는 것이 간단하다는 것입니다. Vim은 고도로 구성 가능하고 주목할만한 기능을 자랑한다는 것을 알고 계셨습니까? 이러한 기능 중 일부는 구문 강조 표시, 그래픽 버전, 마우스 지원 및 시각적 모드입니다. 또한 뛰어난 새로운 편집 명령도 많이 찾을 수 있습니다.

지원과 관련하여 Vim은 뛰어난 플러그인 개발과 관련하여 놀라운 지원을 제공하고 초보자와 전문가 사용자 모두에게 유용한 Vim 팁과 트릭을 제공하는 활기차고 열정적인 커뮤니티를 보유하고 있습니다.

Linux, Windows 및 Mac을 지원하는 Vim은 시장에서 널리 사용되는 많은 도구와 잘 통합되는 안정적이고 안정적인 편집기입니다. Vim을 항상 사용할 수 있다는 사실을 알게 되어 기쁩니다. 모든 Linux 시스템에는 이 기능이 있습니다.

Vim은 또한 작은 설치 공간, 빠른 시작, 짧은 대기 시간을 가지며 더 많은 화면 공간을 허용합니다. Vim은 거대한 소스 코드 파일을 편집할 때도 매우 빠르고 반응성이 뛰어나며 가볍습니다.

Vim 텍스트 편집기 명령

Vim이 기존 Linux 텍스트 편집기와 약간 다르다는 것을 알고 계실 것입니다. 예를 들어, Vim은 한 번에 한 가지 일을 하고 올바르게 수행한다는 고유한 Unix 철학을 유지합니다.

이 철학의 이면에 있는 기본 아이디어는 대부분의 프로그래머가 코드를 작성하는 것이 아니라 편집하는 데 대부분의 시간을 보낸다는 사실을 알고 계셨습니까? Vim을 최대한 활용하려면 Vim 명령에 익숙해야 합니다.

Vim에서는 대부분의 시간을 "일반" 모드에서 보내고 일부 텍스트를 추가하거나 수정해야 할 때만 "삽입" 모드로 전환할 수 있습니다. 이는 모든 편집이 다른 작업과 반복하거나 연결할 수 있는 자체 포함 작업이 되도록 하기 때문에 중요합니다.
대부분의 편집 명령 앞에 여러 번 적용할 수 있는 숫자가 선택적으로 올 수 있다는 사실을 알고 계셨습니까? 예를 들어 3dd를 눌러 세 줄을 삭제할 수 있습니다. 또한 텍스트를 선택하는 방법에는 두 가지 옵션이 있습니다.

예를 들어, 한 번에 한 줄을 삭제하는 dd 및 한 줄을 복사하는 yy와 같은 명령을 사용할 수 있습니다. 다른 방법은 텍스트를 강조 표시하고 해당 텍스트를 이름 없는 레지스터에 복사하는 것입니다.

이동 명령과 마찬가지로 명령 앞에 숫자를 넣으면 특정 작업을 완료하는 횟수가 늘어납니다. 예를 들어, yy 앞에 5와 같은 숫자를 배치하면 복사되는 줄 수가 늘어납니다. 이것은 5yy가 5줄을 복사한다는 것을 의미합니다.

  • yy – 한 줄 복사
  • yw - 한 단어를 복사합니다.
  • v – 다양한 화살표 버튼 또는 k, h, j 및 l 버튼을 사용하여 한 번에 단일 문자 강조 표시
  • V – 한 줄을 강조 표시하고 이동 키를 사용하여 추가 줄을 강조 표시할 수 있습니다.
  • p – 복사한 내용을 이름 없는 레지스터에 붙여넣습니다.
  • dd – 텍스트 한 줄 삭제
  • dw - 한 단어 삭제

명령 모드에서 Vim 편집기는 다양한 키보드 입력을 명령으로 처리합니다. 반면에 삽입 모드에서 편집기는 이러한 입력을 원래 값으로 처리합니다. 명령 모드를 사용하여 텍스트 편집을 제어할 수 있습니다.

Vim에서 텍스트 편집기를 어떻게 열 수 있습니까?

Vim에 뛰어들기 전에 약간의 준비를 해야 합니다. Linux OS(운영 체제)에서 바로 콘솔 터미널을 쉽게 열 수 있습니다. 터미널 창이 뜨자마자 ls 명령을 입력하여 현재 디렉토리를 나열할 수 있습니다.

그런 다음 mkdir Tutorial을 입력하여 새 디렉터리를 만듭니다. 튜토리얼이라고 합니다. cd Tutorial을 입력하기만 하면 디렉토리에 들어갈 수 있습니다. 문서를 열고 vsplit /path-to-document/document를 입력할 수 있습니다. 이렇게 하면 지정된 문서가 열리고 두 문서를 쉽게 볼 수 있도록 화면이 분할됩니다.

파일이 현재 존재하지 않는 경우 편집기는 새 파일(공백)을 엽니다. 파일이 있으면 Vim이 파일을 열어 편집할 수 있습니다. vi를 사용하여 새 파일을 만들고 기존 파일을 편집할 수 있습니다.

Vim은 명령 모드에서 시작됩니다. 이 모드에서는 아무 것도 입력할 수 없습니다. i를 눌러 삽입 모드로 들어갈 수 있습니다.

Vim 텍스트 객체

Vim 텍스트 객체Vim의 텍스트 개체에 대한 가장 좋은 점은 여러 매개변수를 기반으로 단어, 구 및 텍스트 섹션을 변경하거나 수정할 수 있다는 것입니다.

Vim에서 Vim 텍스트 개체를 사용하여 고정밀도로 텍스트를 편집하는 방법을 좋아할 것입니다. 이것이 Vim의 텍스트 객체가 이해할만한 가치가 있는 이유입니다.

Vim에서 효율적인 편집자가 되려면 개별 문자 이상을 편집해야 합니다. 오히려 문장, 단어, 단락별로 편집하십시오. Vim에서 이러한 상위 수준 컨텍스트를 텍스트 개체라고 한다는 것을 알고 계셨습니까? 예를 들어, daw를 입력하면 Vim은 명령에 따라 단어를 삭제합니다. ci'를 입력하면 Vim이 작은 따옴표 안의 일부 텍스트를 변경하거나 수정할 수 있도록 도와줍니다.

Vim은 다양한 유용한 연산자(change, delete, yank 등)를 강력한 텍스트 개체와 매끄럽게 결합하여 이러한 정밀도를 제공하므로 탁월합니다. Vim은 이러한 텍스트 개체와 함께 연산자를 활용하여 코드뿐만 아니라 텍스트 기반 문서를 편집할 수 있는 세밀한 단위와 강력한 기능을 제공합니다.

Vim 텍스트 강조 표시

구문 또는 텍스트 강조 표시, 프로그램 내에서 특수 구문 및 키워드의 색상 지정 없이는 텍스트 편집기가 실제로 완전하지 않다는 것은 의심의 여지가 없습니다. 구문 강조 표시가 문서 구조를 강조한다는 사실을 알고 계셨습니까?

또한 인쇄상의 오류를 식별하는 데 도움이 되며 디버깅 목적에 도움이 되어 텍스트 편집을 보다 쉽고 생산적으로 수행할 수 있습니다.
Vim 텍스트 강조 표시는 용어 범주에 따라 텍스트, 특히 소스 코드를 다양한 색상과 글꼴로 표시하는 기능입니다. Vim에서 기본적으로 구문 또는 텍스트 강조 표시가 켜져 있다는 사실을 알고 계셨습니까?

또한 강조 표시 메커니즘은 다양한 보이지 않는 토큰을 사용합니다. 이들은 파일 유형 플러그인에서 제공하는 직관적인 매핑을 사용하여 Txtfmt 버퍼에 삽입됩니다.

작성자 바이오

Angelo는 20 년 넘게 창의적인 IT 세계에 참여해 왔습니다. 1998 년 Dreamweaver, Flash 및 Photoshop을 사용하여 첫 번째 웹 사이트를 구축했습니다. 그는 HTML / CSS, Flash ActionScript 및 XML과 같은 광범위한 프로그래밍 기술을 학습하여 지식과 전문성을 확장했습니다.

Angelo는 호주 시드니에서 CIW (Certified Internet Webmasters) 프로그램으로 공식 교육을 이수하여 컴퓨터 네트워킹의 핵심 기본 사항과 이것이 월드 와이드 웹의 인프라와 관련되는 방식을 배웠습니다.

Sunlight Media를 운영하는 것 외에도 Angelo는 웹 및 앱 개발, 디지털 마케팅 및 기타 기술 관련 주제와 관련된 유익한 콘텐츠를 작성하는 것을 즐깁니다.

댓글

  • 소리 17월 2021일, 8년, 오전 04:XNUMX분

    정보 감사합니다,

코멘트를 게시

댓글이 검토됩니다. 귀하의 이메일은 비공개로 유지됩니다. 필요 입력 사항은 표시되어 있습니다 *