Linux Server

리눅스 vi 편집기

delmaster 2015. 5. 6. 15:33

[vi 편집기]

 * vi [옵션] [파일명]
  * -r 손상된 파일 복구
  * +n 파일을 열면서 n번째 줄로 이동
   * vi +15 test.txt -> test.txt파일을 열면서 15번째 줄로 이동
  * + 파일을 열면서 마지막 줄로 이동

 

 * vi 저장/종료
  * w -> 파일 저장
  * wq -> 파일 저장후 종료
  * q -> 편집하지 않았을경우 종료
  * q! -> 편집내용을 저장하지 않고 강제 종료
  * wq! -> 변경내용을 강제로 저장하고 종료
  * wq <filename> -> <filename>으로 저장하고 종료
  * 1,5w test.txt -> 1행부터 5행까지의 내용을 test.txt파일로 저장
  * 6,10w >> test.txt -> 6행부터 10행까지의 내용을 test.txt파일에 추가


 * 커서이동
  * gg -> 파일의 처음으로 이동
  * G -> 파일의 끝으로 이동
  * <숫자> -> <숫자>행으로 이동

 

 * 삽입
  * i -> 현재 커서 위치에 삽입
  * a -> 현재 커서 다음 위치에 삽입
  * I -> 현재 커서가 위치한 줄의 제일 앞에 삽입
  * A -> 현재 커서가 위치한 줄의 제일 뒤에 삽입
  * o -> 현재 커서가 위치한 줄의 아랫줄에 삽입
  * O -> 현재 커서가 위치한 줄의 위에 삽입
  * r <filename> -> 현재커서 위치 아래에 <filename>을 읽어와 삽입한다.
  * r !date -> 현재커서 위치 아래에 date명령의 결과를 삽입한다.

 

 * 복사
  * yy -> 현재 커서가 위치한 줄을 복사
  * 'n'yy -> 현재 커서가 위치한 줄에서 아래로 'n'줄 만큼 복사한다
  * y0 -> 커서 왼쪽부터 라인의 처음까지 복사
  * 'n'yw -> 커서가 위치한 단어부터 뒤로 'n'개의 단어 복사
  * yl -> 커서가 위치한 문자 복사

 

 * 붙이기
  * p -> 현재 커서 아래에 붙여넣기
  * P -> 현재커서 위에 붙여넣기

 

 * 삭제
  * D -> 현재 커서부터 라인 끝까지 삭제
  * dd -> 현재 커서가 위치한 줄 삭제  
  * 'n'dd -> 현재 커서가 위치한 줄에서 아래로 'n'줄 삭제
  * dw -> 현재 커서가 위치한 단어 삭제
  * 'n'dw -> 현재 커서가 위차한 단어 부터 뒤로 'n'개의 단어 삭제
  * x -> 현재 커서 위치 문자 삭제
  * d0 -> 현재 커서 왼쪽부터 라인의 처음까지 삭제
  * 10, 20d -> 10번째 라인부터 20번째 라인까지 삭제

 

 * 변경/바꾸기
  * r -> 현재 커서 위치의 문자 변경
  * R -> 현재 커서 위치부터 원하는 만큼 문자 변경
  * C -> 커서가 위치한 전체 라인 변경
  * :s/기존문자열/바꿀문자열 -> 커서가 위치한 라인의 첫번째 문자열 바꾸기
  * :s/기존문자열/바꿀문자열/g -> 커서가 위치한 라인의 모든 문자열 바꾸기
  * 1,$ s/기존문자열/바꿀문자열/g -> 문서 전체의 문자열 바꾸기
   * %s/기존문자열/바꿀문자열/g -> 문서 전체의 문자열 바꾸기

 

 * 기타
  * [CRTL]+g -> 현재 편집중인 파일 정보 표시
  * [SHIFT]+[방향키] -> 단어 단위로 이동
  * u -> 방금한 명령 취소
  * . -> 방금한 명령 반복
  * 'n'. -> 방금한 명령 'n'번 반복
  * ~ -> 커서가 위치한 문자의 대소문자 변경
  * /'검색어' -> '검색어'의 문자를 검색
   * /test
   * 검색이후
    * 현재 커서위치 다음으로 계속 검색 -> n
    * 현재 커서위치 이전으로 계속 검색 -> N 
  * ! -> vi사용중 shell 명령어 사용
   * !bash
   * !ls
  * . -> 현재줄을 의미
  * , -> ~몇번째 줄까지를 의미
   * 2,10 -> 2번째 줄부터 10번째 줄까지
  * $ -> 마지막 줄을 의미
  * % -> 첫번째 줄 부터 끝줄까지의 의미
  * 특수문자를 일반문으로 사용할때는 \를 특수문자 앞에 사용

 

 * 환경변수
  * set nu -> 행번호 출력
  * set ic -> 문자열 검색시 대소문자 구별없이 검색
  * set ai -> 라인변경시 상위 라인과 같은 수준으로 변경(프로그램작성시도움)
  * set sm -> () 또는 {}입력시 짝이되는 기호를 찾아가 알려준다(프로그램작성시도움)
  * set no -> 환경변수 해제
   * set nonu
   * set noic
   * set noai

  * 환경변수 저장
   * 사용자 홈디렉토리에 .exrc파일 생성후 변수 저장
    * vi .exrc
     * set ai
     * set nu
  * 모든 환경변수 보기
   * set all

'Linux Server' 카테고리의 다른 글

CentOS7 Host name  (0) 2015.05.08
CentOS7 Run Level  (0) 2015.05.08
리눅스 Permission  (0) 2015.05.07
리눅스 사용자 및 그룹  (0) 2015.05.07
리눅스 런레벨 변경  (0) 2015.05.06
리눅스 Host명 변경  (0) 2015.05.05
Linux 설치 후 기본 설정  (0) 2015.04.30
리눅스 한글 입력 설정  (0) 2015.03.19