VIM 매일 1 기 (1) - visual block 조작

다음으로 이동:http://blog.chinaunix.net/uid-9407860-id-2423986.html
     1. 비 주 얼 모드 로 진입     visual 모드 는 세 가지 가 있 는데 하 나 는 기본 적 인 visual 모드 로 normal 모드 에서 'v' 를 누 르 면 들 어 갈 수 있 습 니 다.하 나 는 visual line 모드 로 'V' 를 누 르 면 들 어 갈 수 있 습 니 다.다른 하 나 는 오늘 이야기 할 visual block 모드 입 니 다. Ctrl - V 를 누 르 고 들 어 갑 니 다.Windows 아래 vim 이면 Ctrl - Q 로 들 어 갑 니 다.Windows 의 vim 에서 많은 단축 키 가 교체 되 었 습 니 다. 설치 디 렉 터 리 에 있 는 mswin. msi 에 상세 한 정보 가 있 습 니 다.     2. 텍스트 선택     visual 모드 에 들 어간 후 shift 키 를 누 르 면 상하 좌우 로 텍스트 를 이동 할 수 있 고 숫자 + h / j / k / l 로 텍스트 블록 을 이동 할 수 있 습 니 다."$" 와 "^" 를 사용 하면 줄 끝 이나 줄 끝까지 선택 할 수 있 습 니 다.     3. 삽입     텍스트 블록 을 선택 한 후 "I" 를 입력 하여 텍스트 삽입 모드 에 들 어 갑 니 다.입력 하고 싶 은 텍스트 를 입력 한 후 "Esc" 를 누 르 면 선택 한 텍스트 블록의 줄 마다 왼쪽 (텍스트 의 왼쪽 선택) 에 입력 한 텍스트 를 모두 삽입 합 니 다. 예 를 들 어:
include "/home/app/file1.h" include "/home/app/file2.h" include "/home/app/file3.h"
     커서 가 "file 1" 의 "f" 에 멈 췄 을 때 Ctrl - Q 를 누 르 고 visual 모드 에 들 어간 다음 "2j" 는 2 줄 을 선택 하고 "I" 를 입력 하여 삽입 모드 에 들 어가 고 "include /" 를 입력 한 후 "Esc" 를 누 르 면 텍스트 가 이렇게 됩 니 다.
include "/home/app/include/file1.h" include "/home/app/include/file2.h" include "/home/app/include/file3.h"
    
메모: (i) 선택 한 블록 뒤에 텍스트 를 추가 하려 면 "I" 를 "A" (Append) 로 바 꾸 면 됩 니 다. 예 를 들 어 상례 에서 커서 가 "file" 앞 에 있 는 "/" 에 머 물 렀 을 때 "Ainclude /" 를 입력 해도 같은 효 과 를 얻 을 수 있 습 니 다.(ii) 선택 한 텍스트 블록 을 줄 끝까지 확장 하려 면 visual 모드 에 들 어간 후 "$" 를 누 르 면 됩 니 다.같은 이치 로 줄 의 맨 위로 확장 하여 "^" 를 사용 합 니 다.
    
4. 교체     선택 한 텍스트 를 교체 하려 면 먼저 교체 할 텍스트 를 선택 한 다음 'c' 를 입력 한 상태 로 들 어가 텍스트 를 입력 한 후 'Esc' 키 를 누 르 십시오.예 를 들 어 "app" 을 선택 한 다음 "cinclude" 를 입력 하면 텍스트 내용 은 다음 과 같 습 니 다.
include "/home/include/file1.h" include "/home/include/file2.h" include "/home/include/file3.h"
     선택 한 텍스트 블록 을 줄 끝 에 있 는 모든 내용 을 바 꾸 려 면 c 대신 C 를 사용 하거나 "$" 를 이용 하여 선택 을 줄 끝까지 확장 한 다음 c 로 작업 합 니 다.
     교체 명령 이 몇 개 더 있 습 니 다. 본문 블록 을 선택 한 후 이 명령 을 직접 입력 하면 됩 니 다.
    
대소 문자 교환
     U 는 소문 자 를 대문자 로 바 꿉 니 다.
     u 대문자 소문 자로
    
5. 이동
     ">" 를 사용 하면 선택 한 텍스트 를 오른쪽으로 이동 하고 빈 부분 을 빈 칸 으로 채 울 수 있 습 니 다.": set shiftwidth = n" (n 은 숫자) 명령 을 사용 하면 이동 하 는 빈 칸 수 를 정의 할 수 있 습 니 다.이것 은 우리 가 프로그램 을 쓸 때 매우 유용 하 다. 예 를 들 어 다음 과 같은 코드 가 있다.for ( i=0; i<10; i++ ) {
    if ( ... ) {
      ......
            if ( ... ) {
              a = i * 2;
              b = a--;
          }
    }
}

     만약 에 우리 가 첫 번 째 if 문 구 를 앞 에 for 순환 을 추가 하려 면 두 번 for 순환 의 내장 을 만 드 는 것 입 니 다. 그러나 내부 의 프로그램 세그먼트 가 변 하지 않 습 니 다. 가입 한 후에 프로그램의 들 여 쓰기 가 파괴 되 었 습 니 다. 첫 번 째 if 후의 모든 문 구 는 오른쪽으로 들 어가 야 합 니 다. 이번 에는 블록 이동 작업 이 도움 이 됩 니 다.들 여 쓰기 위 한 공백 수 를 설정 한 다음 첫 번 째 if 블록 문 구 를 선택 하고 ">" 를 입력 하면 들 여 쓰기 가 완 료 됩 니 다.불쌍 해.
    
주의: "<" 는 왼쪽으로 이동 할 수 있 습 니 다. 그러나 왼쪽 에 충분 한 shift 공간 이 없다 면 이 명령 은 아무것도 하지 않 습 니 다.
    
6. 연결
     "J" 명령 은 선택 한 줄 을 모두 한 줄 로 연결 할 수 있 습 니 다. 줄 과 줄 사이 에 모든 줄 바 꿈 문자 와 공백 을 하나의 빈 칸 으로 대체 하고 연결 줄 의 마지막 에 두 개의 빈 칸 을 놓 습 니 다.줄 의 선도 공백 과 접미사 공백 을 유지 하려 면 'J' 명령 대신 'gJ' 를 사용 하 십시오.
     이 명령 은 세 가지 비 주 얼 모드 에서 모두 조작 할 수 있다.

좋은 웹페이지 즐겨찾기