728x90
vi 명령어
리눅스 파일 편집기 - vim (대표적인 문서 편집기)
vi 편집기는명령 모드, 입력 모드, 마지막 행 모드로 총 3가지 모드로 구성되어 있음
구분 | 명령 |
입력 모드 | i, a, o, O, A |
명령 모드 | |
1) 복사 | yy |
2) 붙이기 | p |
3) 삭제 | dd |
4) 저장 | ZZ |
5) 모드전환 | i, a, o, Esc |
마지막 행 모드 | 명령모드에서 : (콜론) 을 입력 |
● 명령 모드에서 입력 모드로 전환 (edit 명령)
- i : 커서 앞(왼쪽)에 입력
- a : 커서 다음(오른쪽)에 입력
- o : 커서 아래줄에 입력
- O : 커서 윗줄에 입력
- A : 라인 마지막부터 입력
● 입력 모드에서 명령 모드로 전환 (이동 명령)
- ESC
● 저장, 종료하기
명령 모드에서 콜론 : 을 이용하여 다양한 작업이 가능하다. (콜론 모드)
- :q 종료
- :q! 저장하지 않고 강제로 종료
- :w 저장
- :wq 저장 후 종료
- :ZZ 저장 후 종료 ( :wp와 동일)
- :wq 파일 이름 : 저장 후 파일 이름 지정
- :wq! 저장하고 강제로 종료
** vi 에디터에서는 비정상 종료 시 . swp 파일이 생성된다. 필요하지 않은 경우 삭제한다.
● 커서 이동
- h, j, k, l : 좌,하,상,우 커서 이동 (방향 키가 없는 키보드에서 사용)
- w : 다음 단어의 첫 글자로 이동
- b : 이전 단어의 첫 글자로 이동
- G : 마지막 행으로 가기
- :숫자 : 지정한 숫자 행으로 이동 ex) :3
● 복사
- yw : 커서를 기준으로 뒤에 있는 단어 글자 복사(커서 포함)
- yb : 커서를 기준으로 앞에 있는 단어 글자 복사
- yy : 커서가 있는 라인(줄) 복사
** yw, yb, yy 명령 앞에 복사할 숫자를 지정 가능 ex) 3yw, 5yb, 2yy / 2yy는 2줄 복제
● 붙여넣기 (복사, 삭제된 내용을 붙여넣는다.)
- p : 커서 다음에 붙여넣기
- P : 커서 이전에 붙여넣기
**붙여넣기 작업을 put 작업이라고한다. Vi/Vim에서 붙여 넣기 작업을 수행하려면 커서를 원하는 위치에 놓고 p 는 커서 뒤에 텍스트를 붙여 넣거나 P 는 커서 앞에 붙여 넣는다.
● 찾기
- /문자열 : 앞에서 부터 문자열을 찾는다. (문자열을 커서 아래 방향으로 검색)
- ?문자열 : 뒤에서 부터 문자열을 찾는다. (문자열을 커서 위 방향으로 검색)
- n : 뒤로 검색 (원래 방향으로 다음 문자열을 검색)
- N : 앞으로 검색 (반대 방향으로 다음 문자열을 검색)
● 바꾸기(내용 치환)
문자열을 바꿀때에는 마지막 행모드로 전환을 해야만 사용이 가능
명령어 앞의 : 는 마지막 행모드로 전환하는 명령키
- :%s/old/new : 각 행의 처음 나오는 old를 찾아 new로 바꾼다.
- :%s/old/new/g : 모든 old를 찾아 new로 바꾼다.
- :%s/old/new/gc : 모든 old를 찾아 new로 바꾸기 전에 물어본다.
- :s/[대상문자열]/[바꿀문자열] : 커서가 위치한 행에서 첫번째로 나오는 대상문자열을 바꿀문자열로 치환
- :%s[대상문자열]/[바꿀문자열] : 파일 전체에서 모든 대상문자열을 바꿀문자열로 치환
- :[범위]s[대상문자열]/[바꿀문자열] : 범위 내 모든 각 행에서 첫번째로 나오는 대상문자열을 바꿀문자열로 치환
- :[범위]s/[대상문자열]/[바꿀문자열]g : 범위 내 모든 행에서 대상문자열을 바꿀문자열로 치환
- :[범위]s/[대상문자열]/[바꿀문자열]gc : 범위 내모든 행에서 대상문자열을 바꿀만자열로 치환/수정할지 여부 확인
● 되돌리기(Undo), 다시실행(Redo)
- u : 이전으로 되돌리기 (Undo)
- Ctrl + r : 되될리기한 것을 다시 실행 (Redo)
● 자주 사용하는 기능들
- :set number : 행번호를 출력 (간단하게 :set nu)
- :set nonnumber : 행번호를 숨긴다. (간단하게 :set nonu)
- :cd : 현재 디렉토리를 출력
● 삭제
- x : 커서에 있는 글자 삭제 (한글자)
- X : 커서 앞에 있는 글자 삭제
- dw : 커서를 기준으로 뒤에 있는 단어 글자 삭제 (커서 포함)
- db : 커서를 기준으로 앞에 있는 단어 글자 삭제
- dd : 커서가 있는 라인(줄) 삭제
** dw, db, dd 명령 앞에 삭제할 숫자를 지정 가능 ex) 4dw, 3db, 2dd / 2dd는 2줄 삭제
** 삭제 된 내용은 버퍼에 저장되어 붙여넣기가 가능
● 범위 지정
- 1, $, % : 1행부터 마지막 행까지 범위를 지정
- 1,. : 1행부터 커서가 있는 행까지 지정
- .,$ : 커서가 있는 행부터 마지막 행까지 지정
- .,.+2 : 현재 행과 두번째 아랫행까지 지정
- 10,20 : 10행부터 20행까지 지정
● 기타
- s : 현 커서글자를 체인지 → 에디트 모드 진입 → ESC
- r : 현 커서 한글자만 체인지
- cc : 한줄 전체 체인지
- cw : 워드 체인지
- ~ : 대소문자 변환
- C : 현 커서부터 라인 끝까지 체인지
- :se nu 엔터 → 라인 넘버를 붙여줌
- :w filename → 기존파일을 편집하지 않는 경우 저장할 때 항상 파일 이름을 제공할 수 있다. 동일한 명령이 "다른 이름으로 저장" 명령과 같은 역할도 한다.
'Programming > Programming' 카테고리의 다른 글
[JSP] JSP(Java Server Pages) (0) | 2022.07.24 |
---|---|
반응형 웹 (0) | 2022.07.24 |
참조자(Reference) (0) | 2022.07.24 |
동기 통신과 비동기 통신 (0) | 2022.07.18 |
크로스 플랫폼(Cross Platform) (0) | 2022.07.18 |