Vim 실용 기교 학습 노트02 일반 모드

3496 단어 Vim 유틸리티
일반 모드
Vim 일반 모드의 강함은 대부분 조작부호와 동작 명령을 결합시킬 수 있기 때문이다.
테크닉7 멈출 때 붓을 옮기세요
프로그래머와 화가
프로그래머의 프로그래밍 과정과 화가의 그림 그리는 과정은 비슷하다. 프로그래머는 코드를 작성하는 데 아주 적은 시간만 쓴다. 절대 다수의 시간은 생각하고 읽으며 코드를 오가며 훑어본다.그리고 내용을 수정하더라도 일반 모드의 각종 도구를 통해 수정 작업을 완성할 수 있다.
기술8 취소 단원을 덩어리로 썰기
멈추는 것은 자연스러운 단점이다u 명령은 최근의 수정을 취소할 수 있습니다. 이 수정은 일반 모드, 보기 모드, 명령행 모드에서 촉발하는 명령을 포함할 수 있습니다. 명령이 삽입 모드를 촉발할 때 이번 수정은 삽입 모드에 입력한 텍스트 내용도 포함됩니다.이러한 상대적으로 광범위한 수정의 정의는 우리로 하여금 취소 작업의 세립도를 스스로 제어할 수 있게 한다. Vim에서 삽입 모드에서 일반 모드로 되돌아갈 때까지 이 기간의 수정 내용은 한 번의 수정으로 간주되기 때문에 취소 작업의 세립도에 대한 제어는 일반 모드로 돌아가는 키의 사용에 있다.그러면 얼마나 자주 수정 내용을 저장하여 취소 블록을 구성하는가가 관건이 된다.일반적으로 작성 과정에서 매번 멈추는 것이 가장 좋은 자연스러운 단점이다. 예를 들어 한 마디를 다 쓸 때마다 다음 문장을 생각할 때 삽입 모드를 벗어나 계속 쓸 때A 명령은 삽입 모드로 돌아가 계속 작성한다.
더 세밀한 취소 작업을 제어하고 싶을 때, o 키로 완성된 다른 줄의 작업을 고려할 수 있습니다.
기교9 구조 중복 가능한 수정
VimGolf
Vim에서 한 가지 일을 완성하는 데는 여러 가지 방법이 있는데, 이러한 방식의 효율을 평가하는 지표는 방식에 필요한 키 횟수가 가장 적다는 것이다.가장 효율적인 사건 완성 방식은 어느 정도에 우리가 중복 가능한 수정을 구축하는 데 편리하고 명령을 충분히 활용하여 효율을 높일 수 있다.
사용 예
예를 들어 줄 끝에 있는 단어를 삭제하려면 먼저 거꾸로 삭제를 생각하고 . 명령을 사용하여 커서에서 단어로 시작하는 내용을 삭제할 수 있지만 단어의 시작 자모를 남기려면 db 명령을 사용하여 삭제해야 한다.정방향 삭제는 먼저 x 명령을 사용하여 단어의 시작으로 커서를 이동한 다음 b 명령을 사용하여 전체 단어를 삭제합니다.전체 단어를 삭제하고 더 정확한 dw 명령을 사용하여 텍스트 대상을 찾으며 커서가 대응하는 단어에 멈출 때 aw 명령을 사용하여 전체 단어를 삭제합니다.
이 세 가지 방법 모두 한 단어를 삭제하는 작업을 완성할 수 있지만 중복 작업 상황은 daw 명령을 사용하면 효율의 차이가 나타난다. . 방식은 dbx 명령만 중복되고 x 방식은 bdw 명령만 중복되며 커서를 이동할 수 없다. dw 방식은 커서 위치를 고려하지 않고 daw 명령을 사용하면 전체 단어를 완전히 중복 삭제할 수 있다.
기교10 횟수로 간단한 산술 연산
실행 횟수 지정
대부분의 일반 모드 명령은 실행할 때 횟수를 지정할 수 있으며 이 기능을 이용하여 간단한 산술 연산을 할 수 있으며 . 명령을 사용하여 각각 숫자에 대해 가감 작업을 수행할 수 있다.
기교11 반복할 수 있으면 횟수 없이
사용 횟수
사용 횟수 실행 명령의 특징은 하나의 일관된 취소 기록을 보존할 수 있고 Ctrl+a/x 명령은 전체 수정을 취소할 수 있다는 것이다.그러나 이것은 더욱 세밀한 조작을 제공할 수 없고 수정의 유연성을 낮출 수 있으며 중복 명령u은 조작의 유연성을 높일 수 있다는 문제를 가져왔다.따라서 중복 조작이 필요 없는 사용 장면에서 횟수 효율이 높다.
사용 예
예를 들어 한 텍스트 줄의 여러 단어를 삭제해야 할 때 이 장면에서 . 명령에 횟수 접두사dw를 붙여 커서부터 3개 단어를 연속으로 삭제할 수 있다.3dw 명령을 사용하여 단어 삭제 작업을 촉발한 후 3회dw 명령을 사용하여 중복 삭제 작업을 할 수 있다.앞에서 언급한 바와 같이 이 두 가지 방식의 차이는 후자가 더욱 세밀한 조작을 제공할 수 있다는 데 있다. 횟수 판단 오류가 발생할 때 취소 횟수 집행은 가장 원시적인 상태로 돌아가고 중복 조작을 사용하면 더욱 유연한 취소 중복 조작을 제공할 수 있다.
한 텍스트 줄의 여러 단어를 수정해야 할 때 이런 상황에서 단어의 내용이 다르면 중복 조작을 사용하는 작용이 적고 횟수 조작의 장점이 나타난다. 예를 들어 텍스트 줄.one two three +3cw를 사용하여 내용 수정을 한 번에 완성할 수 있다.
기술12 조작부호 + 동작 명령 = 조작
Vim의 단어
조작부호와 동작 명령의 결합은 일종의 문법을 형성했다. 조작부호는 집행하는 조작을 확정하고 동작 명령은 조작부호의 작용 범위를 확정하여 완전한 조작을 형성한다.예를 들어 four three two는 한 문자를 삭제하는 d{motion} 명령일 수도 있고, 전체 단어를 삭제하는 dl 명령일 수도 있고, 전체 단락을 삭제하는 daw 명령일 수도 있다.몇몇 흔히 볼 수 있는 조작부호는 다음과 같다.
명령하다
조작하다dap
수정c
삭제d
복제하다y
대소문자 반전g~
소문자로 변환gu
대문자로 변환gU
들여쓰기 증가>
들여쓰기 감소<
자동 들여쓰기=
뛰어넘는 행 필터링
Vim의 문법은 하나의 추가 규칙만 있습니다. 즉, 하나의 조작부호 명령이 두 번 연속으로 호출되면, 이 조작의 작용 범위가 현재 줄임을 나타냅니다.예를 들어 !는 현재 줄을 삭제하고 dd는 현재 줄을 복사하고 yy는 현재 줄로 축소한다.

좋은 웹페이지 즐겨찾기