리눅스 Vi / Vim 편집기 명령어 익히기

 

 

Linux vi편집기 명령어  

리눅스에서 작업을 도와주는 리눅스 단축명령어을 이용하며  편합니다.
vi 편집기를 처음시작하면 명령어 모드상태가 되며 이 상태에서 문자입력시 사용되는 명령어를 이용하여
입력모드로 들어갑니다. 이 후 명령어모드와 입력모드간의 변경은 esc키를 이용하여 변경하며
명령어모드에서 :키를 입력하면 마지막 라인모드가 됩니다.
아래 vi명령어를 정리해 두었으며  되로록 자주 사용하면서 습득하는 것이 좋습니다.

vi , vim 편집기 명령어 ( vi를 더 개량 한 것이 vim 편집기 이다.

1. vi 시작 및 종료
   vi  filename  : vi를 시작하여 지정한 파일 편집
   vi file1 file2 ... filen   :   여러개의 파일을 동시에 편집
   vi -r filename   :  비정상적인 vi 모드의 종료 등에 의한 편집파일 복구모드에서 작업
 
   [vi 종료 및 파일 생성]
   :q   -   수정하지 않았을 경우 종료하기
   :q!  -    수정한 것을 저장하지 않고 종료하기
   :w   -    저장하기
   :w!  -    읽기 전용의 파일을 저장하기
   :wq-    저장하고 종료하기
   ZZ  -   저장하고 종료하기
   :w new_file_name    -   새로운 파일이름으로 저장하기
   :w %.new   -   현재 파일 이름에 .new를 붙여서 새로운 파일로 저장
   :n,$ w file_name   -   n줄부터 끝줄까지 file_name으로 저장하기
   :.,n w file_name   -   현재줄부터 n줄까지 file_name으로 저장하기
   :n1, n2 w file_name   -   n1줄부터 n2줄까지 file_name으로 저장하기
   :n1, n2 w >> file_name  -   n1줄부터 n2줄까지를 file_name으로 추가하기
 
   [파일관리]
   :w [file-name]   -   현재 내용 저장
   :w! [file-name]   -   기존의 파일에 덮어 쓰기
   :e file-name   -   파일 불러오기
   :e! file-name   -   현재 내용을 저장않고 새 파일 불러오기
   :e#   -   직전 편집 파일 불러오기 - 여러 개의 파일을 동시 작업시
   :r file-name   -   현재 커서 위치에 파일 내용 삽입
 
2. 모드전환
   명령모드 --->  입력모드 : a, A, i, I, o, O, ....
   입력모드 --->  명령모드 : Esc Key
 
3. 편집
   - 텍스트를 편집하기 위해선 먼저 입력 모드로 변경해야 한다.
   - vi 편집기에서 명령모드에서의 키는 다음의 약어를 암기한다.
   d : delete 삭제
   c : change 변경
   y : yang 복사
   p : paste 붙이기
   w : word 단어
   u : undo 취소
   $ | ^ : 줄의 끝 | 시작
 
 
   [텍스트의 추가 및 삽입]
   i (insert)   -   현재 커서가 있는 위치에 새로운 텍스트를 끼워 넣는 기능
   I (insert)   -   현재 줄의 처음부터 새로운 텍스트를 끼워 넣는 기능
   a (append)   -   현재 커서가 있는 위치 다음부터 입력하는 기능
   A (append)   -   현재 줄의 끝에 텍스트 입력하는 기능
   o (open)   -   현재 커서가 있는 다음 줄에 행을 삽입하여 편집
   O (open)   -   현재 커서가 있는 앞줄에 행을 삽입하여 편집
 
   [문자 복사 및 삭제와 복구]
   x  -   한번에 커서 뒤의 한 글자를 삭제
   X  -   한번에 커서 앞의 한 글자를 삭제
   숫자1, 숫자2d   -   파일의 숫자 1행에서 숫자 2행까지 삭제
   dd   -   한 라인을 삭제하고 그 내용을 버퍼에 저장
   ndd  -   현재 line부터 n개의 line을 지우고 그 내용을 버퍼에 저장
   dw   -   한 단어를 삭제
   D   -   현재 커서의 위치에서 그 행의 끝까지 삭제
   u  -   마지막에 실행한 명령을 취소하고 명령 실행 이전으로 복구
   U  -   u에 의해 취소된 명령 재실행
   ^r  -   u에 의해 연속적으로 취소된 명령을 연속적으로 재실행
   nY  -   다음 줄부터 n줄을 버퍼에 복사
   yw   -   한 단어 복사
   y$   -   커서 위치에서  그 줄 끝까지 복사
   yO   -   커서 위치에서 그 줄 처음까지 복사
   yG  -   커서 위치에서 문서의 끝까지 복사
   :n1,n2 y  -   n1번 line에서 n2번 line까지를 버퍼에 저장
   p | P   -   버퍼의 내용을 현재 line 뒤/앞에 붙인다
   :n1,n2 t n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 복사
   :n1,n2 m n3   -   n1번 line에서 n2번 line까지를 n3번째 line 뒤에 이동
 
4. 이동
   ^은 Control Key를 의미하고, 아래에서 ^?은 ^과 다른 키(?)를 함께 누르는 것을 의미한다.
   아래에서 n은 숫자를 의미한다.
 
   [커서의 이동]   -   커서의 이동은 명령 모드에서 가능하다.
   한글자 이동   -   h(왼쪽으로 한 글자 이동)  l(오른쪽으로 한 글자 이동)
   한 행 이동   -  j(아래로 한 행 이동)  k(위로 한 행 이동)
   한 화면 이동   -   ^f/^b: 한 화면 아래/위로 이동(forward/backward)
   반 화면 이동   -   ^d/^u : 반 화면 아래/위로 이동(down/up)
   한 단어 이동   -   w,W(한 단어 앞으로 이동), b, B(한단어 뒤로 이동),e(단어의 끝으로)
   행 지정 이동   -   nG(지정한 행으로 커서를 이동)
 
   [커서 이동]
   G  -   파일의 맨 끝으로 이동
   nG  -   n번째 줄로 이동
   :n  -   n번째 줄로 이동
   (, n(   -   현재 문장의 선두(위의 n번째 선두)로 이동
   ), n)   -   다음 문장의 선두(아래의 n번째 선두)로 이동
   {, n{   -   현재 문단의 선두(위의 n번째 선두)로 이동
   }, n}   -   다음 문단의 선두(아래의 n번째 선두)로 이동
   [ + [   -   이전 블록({})의 처음으로 이동
   ] + ]   -   다음 블록({})의 처음으로 이동
   ^ (6)   -   커서가 위치한 줄에서 맨앞으로 이동(빈칸무시)
   O(숫자)   -   커서가 위치한 줄에서 맨앞으로 이동(공백을 제외한 맨앞)
   $   -   커서가 위치한 줄에서 맨뒤로 이동
   H | M | L   -   화면상에서 커서를 처음/중간/마지막 줄로 이동
 
   [검색 & 치환]
   :s/string  -   string을 탐색
   /string  -   string이라는 문자를 현재의 위치에서 탐색
   ?string   -   string이라는 문자를 현재의 위치에서 역으로 탐색
   n   -   한번 탐색한 문자열을 연속적으로 탐색
   N   -   한번 탐색한 문자열을 역으로 연속적으로 탐색

   [문자 치환]   n은 숫자를 나타냄
   rc  -   현재 문자를 c로 치환
   R  -   현재 커서부터 Esc 문자가 입력될 때까지 치환
   s   -   현재문자를 삭제하고 입력모드로 전환
   ns   -   현재부터 n문자를 삭제하고 입력모드로 전환
   S   -   현재줄을 삭제하고 입력모드로 전환
   [단어 치환]   n은 숫자를 나타냄
   cw  -   한 단어를 치환하고 입력 모드로 전환
   ncw  -   현재부터 n단어를 삭제하고 입력 모드로 전환
   cc   -   현재 줄을 삭제하고 입력모드로 전환
   ncc   -   현재 줄부터 n줄을 삭제하고 입력모드로 전환
   C   -   현재 커서부터 줄 끝까지의 내용을 삭제하고 입력 모드로 전환
   nC   -   현재 커서부터 n줄까지 내용을 삭제하고 입력 모드로 전환
 
5. 환경 설정 및 기타 기능
   [set 및 기타]
   :set nu | nonu   -   line번호를 보여/안보여 준다
   :set ai | noai   -   자동 들여 쓰기/취소
   :set shiftwidth=4   -   들여쓰기 폭을 4문자로 설정
   :set cindent   -   C프로그램을 작성시 활용할 수 있는 자동 편집 기능
   :set all   -   set 변수 보기
   :set  -   현재 설정된 set 상태
   :syntax on | off\   -   색문자의 사용 on|off
 
   [환경 설정]
   set 등의 환경 초기 설정을 지정함으로 하여 vi 실행시에 초기 설정에 의한 작업 환경 홈디렉토리에 .exrc
   또는 .vimrc에 사용하고자 하는 설정을 편집한다.
 
   [태그 기능]     지정된 표시의 위치로 이동할 때 사용
   m + a   -   현재의 위치를 a위치로 표시(marking)
   m + c   -   현재의 위치를 c위치로 표시(marking)
   ' + a   -   a 표시된 위치로 이동
   ' + c   -   c 표시된 위치로 이동
   ' + '   -   '를 연속 두 번 누르면 이전 작업 위치로 이동
 
   [문자 buffer 기능]     각 문자에 대해 버퍼로 활용 가능
   " + a + y5y   -   문자 a에 현재 줄부터 5줄을 저장
   " + a + p   -   문자 a에 저장된 5줄의 내용을 붙여 넣기
 
   [기타]
   J   -   현재 줄과 다음 줄을 합침
   ~  -   대소문자로 상호 변환
   ^v + m   -   제어문자인 ^M문자를 현재의 위치에 삽입
   .(dot)   -   조금전 실행한 기능을 반복 실행
   ctrl + g   -   편집 중인 파일 이름과 현재 위치를 확인
   ctrl + l   -   Refresh (화면갱신)
   ctrl + 6   -   2개의 파일을 동시에 편집하고 있을 때 상호 이동

 

직장을 다니면서 투잡(알바/부업)으로 월급 많큼 수익을 얻고 싶으시다면  

아래 접속하셔서 상담받아 보실 수 있습니다. (믿음의 재택부업회사)

 

블로그 이미지

itworldkorea

IT korea가 세상(world)을 변화시킨다.

,