IT 이야기 - About IT
[Unix & Linux] 자주 쓰는 vi editor 명령어
by 회사원 주씨
2013. 9. 27.
서버 관리자들에게 vi editor는 필수가 아닐까 합니다.
처음에는 불편하고 어렵지만 익숙해지면 정말 편하고 좋은 것이죠~
그래서 자주 사용하는 vi editor 명령어를 적어 봅니다.
(예전에 메모장에 정리해서 출력해놓고 사용했던 기억이 새록새록하네요.)
<시작 명령어>
vi filename vi +18 filename vi +/”문자열” fn vi –r filename view filename |
파일열기, 작성 18행으로 파일 열기 “문자열”의 처음발생 단어부터 열기 손상된 파일 회복 읽기 전용 |
<커서 이동>
h j
k
l
w e b Enter Back space Space Bar ^ $ H M L 숫자G
Ctrl + i Ctrl + b Ctrl + d Ctrl + u Ctrl + e Ctrl + y |
왼쪽으로 커서 이동 아래로 커서 이동 위로 커서 이동 오른쪽으로 커서 이동
오른쪽 한 단어의 끝 부분으로 커서 이동 오른쪽 한 단어의 앞 부분으로 커서 이동 왼쪽 한 단어의 앞 부분으로 커서 이동 한 행 아래로 커서 이동 한 문자 왼쪽으로 커서 이동 한 문자 오른쪽으로 커서 이동 행의 맨 왼쪽으로 커서 이동 행의 맨 오른쪽으로 커서 이동 화면의 맨 위로 이동 화면의 중간으로 이동 화면의 맨 아래로 이동 ‘숫자’ 만큼 지정한 줄로 커서 이동
한 화면 위로 이동 한 화면 아래로 이동 반 화면 위로 이동 반 화면 아래로 이동 한 줄씩 위로 이동 한 줄씩 아래로 이동 |
<문자, 행, 삽입>
a (종료 : ESC) A i I o O |
커서 오른쪽에 문자 삽입 커서 오른쪽, 행의 끝에 문자 삽입 커서 왼쪽에 문자 삽입 커서 왼쪽, 행의 처음에 문자 삽입 커서 아래에 행 삽입 커서 위에 행 삽입 |
<텍스트 변경>
cw (종료 : ESC) cc C s S r r-Enter J xp ~ u U
. |
단어 변경 행 변경 커서 오른쪽의 행 변경 커서가 위치한 문자열 대체 커서가 위치한 라인의 문자열 대체 커서 위치 문자를 다른 문자로 대체 행 분리 현재 행과 아래 행 결합 커서 위치 문자와 오른쪽 문자 교환 문자형(대, 소문자) 변경 이전 명령 취소 행 변경 사항 취소 이전 최종 행 취소 이전 최종 명령 반복 |
<텍스트 삭제>
x 5x dw dd 5dd db D :5,10d |
커서가 있는 문자 삭제 커서가 있는 위치부터 5개의 문자를 삭제 현재 커서에 있는 한 단어 삭제 커서가 있는 라인 삭제 커서가 있는 라인부터 5개의 라인 삭제 커서의 위치에서 거꾸로 한 단어 삭제 커서 오른쪽 행 삭제 5~10번째 행 삭제 |
<복사 및 이동>
yy Y p P :1,2 co 3 :4,5 m 6 |
행 yank 또는 복사 행 yank 또는 복사 yank 되거나 삭제된 행 현재 행 위로 삽입 yank 되거나 삭제된 행 현재 행 아래에 삽입 1~2행을 3행 다음으로 복사 4~5행을 6행 위로 이동 |
<행 번호 설정>
:set nu :set nonu |
행 번호 표시 행 번호 숨기기 |
<행 찾기>
G 21G Ctrl + G |
파일의 마지막 행으로 가기 파일의 21번째 행으로 가기 현재 File name과 커서의 라인 정보 |
<탐색 및 대체>
/검색할 문자열/ ?검색할 문자열? n N :g/search-string/s/ /replace-string/gc :s/str/rep :1,.s/str/rep/ :%s/str/rep/g :.$/aaa/bbb |
오른쪽 아래 방향으로 문자열 검색 왼쪽 위 방향으로 문자열 검색 문자열의 다음으로 계속 검색 문자열의 이전으로 계속 검색 각 발생 탐색 후 확인하고 대체
현재 행의 str을 rep로 대체 1부터 현재 행의 str을 rep로 대체 파일 전체 str을 rep로 전부대체 커서의 위치로부터 파일의 끝까지 있는 모든 aaa를 bbb로 대체 |
<화면 정리>
Ctrl + l |
불필요한 화면정리 후 다시 표시 |
<파일 명령어>
:r filename :34 r filename |
커서 다음에 파일 삽입 파일을 34번째 행 다음에 삽입 |
<보관 및 종료>
:w :w filename :wp ZZ :q! q e! |
변경사항 보관 버퍼를 파일로 보관 변경사항 보관 후 vi 종료 변경사항 보관 후 vi 종료 변경사항 보관하지 않고 종료 수정한 파일을 저장하지 않고 vi 종료 수정한 것을 무시하고 다시 편집상태로 |
예전에는 대부분 외우고 있던 것들인데
지금은 열손가락으로 꼽을 수 있을 정도만 기억하는구나. ㅠㅠ