수색…


소개 - 일반 모드의 빠른 참고

일반 모드에서 직접 키 조합 (예 : 마지막 변경 사항을 실행 취소하려면 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 클립 보드와 같이 한 번에 한 가지만 포함 할 기본 레지스터에 첫 번째 줄 (줄 바꿈)을 '잘라내'- pdd 명령으로 인해 방금 변경된 현재 줄 다음에 줄을 붙여 넣습니다.

다음은 아주 단순한 예가 아닙니다. 나는 주변에 몇 단어를 옮길 필요가있다. (이는 고안되었지만 불필요하지만이 원칙을 더 큰 코드에 적용 할 수 있습니다.)

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 를 사용하여 바탕 화면에 파일을 반복적으로 나열 할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow