vim
일반 모드 명령 (편집)
수색…
소개 - 일반 모드의 빠른 참고
일반 모드에서 직접 키 조합 (예 : 마지막 변경 사항을 실행 취소하려면 u 를 입력)으로 명령을 입력 할 수 있습니다. , 빔 창 아래쪽에 한 줄 버퍼에 당신을 삭제 :이 명령은 종종 콜론을 입력하여 액세스 '전'모드에서 등가물이있다.
'ex'모드에서는 콜론을 입력 한 후 명령 이름이나 그 약어를 입력 한 다음 Enter 키 를 눌러 명령을 실행합니다. 그래서, : undo
Enter 는 보통 모드에서 직접 u 를 타이핑하는 것과 같은 일을합니다.
직접 명령은 간단한 편집을 위해 'ex'명령보다 빨리 (한 번 배우기도) 더 빨라지는 것을 볼 수 있습니다. 그러나 완성을 위해 다음 문서에서 가능하면 두 명령 모두 사용 가능하면 두 명령 모두 표시됩니다.
이 명령의 대부분은 숫자 를 접두어로 사용하거나 삽입하여 카운트 를 선행 할 수 있습니다. 예를 들어 표준 모드에서 3dd 를 입력하면 현재 행의 위치에서 시작하여 세 행을 삭제합니다.
기본 실행 취소 및 다시 실행
끄르다
명령 | : | 기술 |
---|---|---|
유 | u , undo | 가장 최근의 변경 실행 취소 |
5u | 가장 최근의 5 가지 변경 사항을 취소하십시오 (숫자를 사용하십시오). |
Vim에서 '가장 최근 변경'은 현재 사용중인 모드에 따라 다릅니다. 삽입 모드 ( i )로 들어가서 전체 단락을 입력 한 다음 일반 모드 ( Esc )로 돌아가려면 해당 단락 전체 가 가장 최근의 변화를 고려했다.
다시 하다
명령 | : | 기술 |
---|---|---|
Ctrl-R | red , redo | 가장 최근에 실행 취소 된 변경 사항 다시 실행 |
2 Ctrl-R | 가장 최근에 실행 취소 된 두 가지 변경 사항을 다시 실행하십시오 (숫자를 사용하십시오). |
Vim의 변경 사항을 실행 취소하고 다시 실행하는 방법은 조금 다르게 처리됩니다. u 로 변경을 취소하면 변경 사항의 '트리'에서 노드를 가로 지르며 Ctrl-R 키를 누르면 해당 노드가 순서대로 뒤로 이동합니다. 실행 취소 트리는 별도의 주제이므로 여기서 다루기에는 너무 복잡합니다.
U (대문자)를 사용하여 한 줄 (마지막으로 변경 한 곳)의 모든 최신 변경 사항을 제거 할 수도 있습니다. 이것은 u 와 같은 방식으로 트리 노드를 횡단 하지 않습니다 . U를 사용하는 것은 실제로는 변경 자체로서 계산됩니다. 즉, 트리의 다른 노드 앞으로 - 그러면 첫 번째 명령 바로 다음에 U 를 두 번째로 누르면 다시 실행 명령으로 작동합니다.
각각은 용도가 있지만 u / : undo
는 가장 간단한 경우를 다루어야합니다.
마지막 변경 반복
도트 또는 마침표 키 ( . )로 실행되는 반복 명령은 처음 나타나는 것보다 유용합니다. 일단 배우면 자주 사용하는 것을 알게 될 것입니다.
명령 | : | 기술 |
---|---|---|
. | 마지막 변경 반복 | |
10. | 마지막 변경을 10 번 반복하십시오. |
그럼, 아주 간단한 예를 들어, 내가 입력하여 1 행을 변경 한 경우에 I
다음과 같은 결과로, Esc를 :
1 I made a mistake
2 made a mistake
3 made a mistake
커서가 1 번 줄의 위치 1에 있고, 다음 두 줄을 수정하려면 j를 누르십시오 . 두 번 - 즉 줄을 따라 이동하려면 j 를 누릅니다 . 마지막 변경 사항을 반복하는 것은 I
의 추가였다. 삽입 모드로 다시 돌아가서 두 줄을 고칠 필요가 없습니다.
매크로 를 반복 할 때 훨씬 강력 해집니다.
복사, 잘라 내기 및 붙여 넣기
Vim에서이 작업은 다른 현대적인 편집기 나 워드 프로세서 ( Ctrl-C , Ctrl-X , Ctrl-V )에서 사용했던 것과는 다르게 처리됩니다. 이해하기 위해서는 레지스터와 모션에 대해 조금 알 필요가 있습니다.
참고 :이 섹션에서는 일반 모드와 기본 편집의 범위를 벗어나는 비주얼 모드 복사 및 절단 또는 범위 yanking에 대해서는 다루지 않습니다.
레지스터
Vim은 레지스터 개념을 사용하여 프로그램 내에서 텍스트를 움직이는 것을 처리합니다. Windows에는 Vim의 단일 레지스터와 비슷한 단일 클립 보드가 있습니다. Vim에서 복사, 잘라 내기 및 붙여 넣기를 할 때 비슷한 간단한 편집 워크 플로우 (레지스터에 관해 생각할 필요가없는)를 사용하는 방법이 있지만 훨씬 더 복잡한 가능성이 있습니다.
레지스터는 명령 앞에 " 와 소문자 이름 " 을 붙임으로써 명령의 입 / 출력을 목표로합니다.
변
Vim에서의 모션은 커서 위치를 다른 곳으로 이동시키는 명령입니다. 일반 모드에서 복사, 잘라 내기 및 붙여 넣기를 할 때 움직임을 텍스트로 선택할 수있는 가능성은 동작에 대한 지식에 의해서만 제한됩니다. 몇 가지가 아래에 설명되어 있습니다.
복사 및 절단
기본 명령 인 복사 및 잘라 내기 조작은 y (복사의 경우 'yank') 및 d (잘라 내기의 경우 'delete')입니다. 다음 표에 유사점이 표시됩니다.
명령 | : | 기술 |
---|---|---|
y {모션} | 모션에 의해 표시된 텍스트를 기본 레지스터에 복사 ( 'yank') | |
예 | 기본 레지스터, 라인 방식으로 현재 행을 복사 | |
와이 | 현재 줄을 기본 레지스터에 복사합니다 ( yy와 동의어). | |
"ayiw | 커서가있는 단어를 레지스터 'a'에 복사하십시오. | |
20 "byy | 커서에서 시작하여 20 줄을 레지스터 'b'에 복사합니다. | |
d {모션} | 모션에 의해 표시된 텍스트를 기본 레지스터로 자른다 ( '삭제'). | |
DD | 현재 줄을 기본 레지스터 인 줄 바꿈으로 자른다. | |
디 | 커서에서 줄 끝까지 잘라내어 기본 레지스터에 넣습니다 ( dd 의 동의어가 아님). | |
"adiw | 커서가 레지스터 'a'에있는 단어를 자릅니다. | |
20 "bdd | 커서에서 시작하여 레지스터 'b'에 20 개의 줄을 자릅니다. |
참고 : 무언가가 복사되거나 줄 바꿈 될 때 아래에 표시된 붙여 넣기 동작은 커서가 아닌 현재 줄 앞이나 뒤에 텍스트를 배치합니다. 예를 통해 명확하게 설명합니다.
붙여 넣기
Vim에 붙여 넣는 방법에는 여러 가지가 있습니다.
명령 | : | 기술 |
---|---|---|
피 | 커서 뒤에 기본 레지스터에있는 내용을 붙여 넣습니다. | |
피 | 커서 앞에 기본 레지스터에있는 내용을 붙여 넣습니다. | |
"ap | 커서 뒤에 레지스터 'a'의 내용 붙여 넣기 | |
"cP | 커서 앞에 레지스터 'c'의 내용 붙여 넣기 |
그럼, 어떻게하면 정말 간단한 잘라 내기 및 붙여 넣기를 수행합니까?
다음 텍스트가있는 경우 :
1 This line should be second
2 This line should be first
커서를 어딘가에 1 행에두고 ddp를 입력하면 가장 단순한 잘라내 기와 붙여 넣기를 할 수 있습니다. 결과는 다음과 같습니다.
1 This line should be first
2 This line should be second
어떻게 된 거예요? dd Windows 클립 보드와 같이 한 번에 한 가지만 포함 할 기본 레지스터에 첫 번째 줄 (줄 바꿈)을 '잘라내'- p 는 dd 명령으로 인해 방금 변경된 현재 줄 다음에 줄을 붙여 넣습니다.
다음은 아주 단순한 예가 아닙니다. 나는 주변에 몇 단어를 옮길 필요가있다. (이는 고안되었지만 불필요하지만이 원칙을 더 큰 코드에 적용 할 수 있습니다.)
1 These words order out are of
나는 w 를 'order'의 앞쪽에있는 'o'에 올리거나 (방금 입력하고 내 실수를 깨달은 경우 b) 반복 할 수 있습니다.
그런 다음 "adaw 는 'a'에 'order'를 넣습니다.
그리고 W는 'A'에서 '있다'에 도착합니다.
다음은 "bdaw '를'b '레지스터에 입력하는 것입니다. 이제이 내용이 표시됩니다.
1 These words out of
명확하게 말하면, 이제 'order'는 레지스터에 'a'이고 'are'는 두 개의 개별 클립 보드처럼 'b'레지스터에 있습니다.
단어를 올바로 정렬하려면 b 를 입력하여 '밖으로'의 'o'를 가져온 다음 'b'을 '넣기'는 'b'의 앞에서 'out'앞에 입력하십시오.
1 These words are out of
이제는 A 를 입력하여 줄 끝까지 가보고 Space Esc ( 'of'다음에 공백 이 없다고 가정)와 'ap '가 속한 곳에 'order'를 넣습니다.
1 These words are out of order
완성
완성은 문서에서 사용 된 단어를 일치시키는 데 사용될 수 있습니다. 단어를 입력 할 때 Ctrl p 또는 Ctrl n 은 문서에서 이전 또는 다음 유사한 단어와 일치합니다.
이것은 Ctrl-X 모드와 결합하여 전체 라인을 완료 할 수도 있습니다. 예를 들어 다음과 같이 입력하십시오.
This is an example sentence.
그 다음 줄로 가서 같은 문장을 타이핑하기 시작하십시오.
Thi
Ctrl P 를 누르면 다음과 같은 결과가 나옵니다.
This
이제 삽입 모드에서 Ctrl + Ctrl + P를 누르면 다음 단어가 완성됩니다.
This is
전체 라인이 완료 될 때까지 Ctrl x Ctrl p를 계속 누르십시오.
전체 줄을 완성하려면 다음을 입력하십시오.
This is an example sentence.
다음 줄에 다음을 입력하십시오.
Thi
x Ctrl l 을 눌러 라인을 완료하십시오.
수행되고 완성이 파일 이름 인 경우 Ctrl 키를 Ctrl 키 f를 해당 디렉토리를 완료 할 수 있습니다 X. 유형:
~/Deskt
그런 다음 Ctrl x Ctrl f를 누르고 다음을 수행하십시오.
~/Desktop
해당 위치에있는 경우 완료됩니다. Ctrl x Ctrl f 를 사용하여 바탕 화면에 파일을 반복적으로 나열 할 수 있습니다.