티스토리 뷰
[Linux] vi editor 사용법
-내용-
vi editor 의 사용법에 대하여 설명합니다.
vi editor의 동작은 명령모드, 입력모드, 실행모드 총 3가지 모드에서 실행됩니다. 모드를 변경할 때 사용되는 key는 상위 그림과 같습니다.
vi editor에서 사용되는 방향키입니다.
입력모드
key |
동작 |
i |
insert(커서에서 입력모드 전환) |
a |
append(커서 뒤에서 입력모드 전환) |
$a |
행뒤에서 입력모드 전환 |
o |
커서 아래에 새로운행 추가(Enter키) |
O | 커서 위에 새로운행 추가 |
명령모드
key |
분류 | 동작 |
u |
되살리기/앞돌리기 | 되살리기 |
ctrl + i |
앞돌리기 |
|
^F |
페이지 이동 | 앞 페이지로 이동 |
^B |
뒤 페이지로 이동 |
|
W , w |
커서이동(단어단위) 대문자 : 특수기호 무시 소문자 : 특수기호 인식 | 단어의 처음으로 이동 |
E , e |
다음 단어의 끝으로 이동 |
|
B , b |
현 단어의 앞으로 이동 |
|
0 , ^ | 커서이동(행단위) | 행의 처음으로 이동(Home 키) |
$ | 행의 마지막으로 이동(End 키) | |
G | 커서이동(문서단위) | 문서의 마지막으로 이동 |
<n>G | n번째 행으로 이동 | |
gg | 문서의 처음으로 이동=1G | |
H | 커서이동(화면단위) | 현재 보이는 화면에서 상으로 이동 |
M | 현재 보이는 화면에서 중으로 이동 | |
L | 현재 보이는 화면에서 하로 이동 | |
n / shift + n | 커서이동(검색된 문자열 단위) | 검색한 문자열에 한하여 커서를 위/아래로 이동 |
x | 삭제(문자단위) | Delete 키 |
X | Backspace 키 | |
dw | 삭제(단어단위) | 단어삭제 |
d<n>w | 다음 n개의 단어를 삭제 | |
dd | 삭제(문장단위) | 한줄 삭제/잘라내기 |
d$ | 현재 커서 위치부터 문장 끝까지 삭제 | |
d0 | 현재 커서 위치부터 문장 앞까지 삭제 | |
숫자 + dd | 삭제(블록단위) | 현재 커서 위치부터 숫자만큼 블록 삭제/잘라내기 |
dG | 현재 커서 위치부터 문서 끝까지 삭제 | |
yy | 복사(문장단위) | 한줄 복사 |
숫자 + yy | 복사(블록단위) | 현재 커서 위치부터 숫자만큼 블록 복사 |
p | 붙혀넣기 | 현재 커서 아래에 붙혀넣기 |
P | 현재 커서 위에 붙혀넣기 | |
J | 행 병합 | 2개의 행을 하나로 병합 |
Ctrl + ww | 창 전환 | vs로 나뉘어진 vi editor 창 전환 |
gg=G | 공백 정리 | windows/linux간 발생하는 텍스트 환경 변형(ex 줄바꿈 문자)을 자동으로 수정해준다 |
실행모드
key |
분류 |
동작 |
:sh |
명령어 실행 |
쉘 명령어 실행 (exit : vi 편집기로 돌아가기) |
/pattern |
검색 |
아래로 Pattern 검색 (n : 아래로 탐색, N : 위로 탐색) |
?pattern |
위로 Pattern 검색 (n : 위로 탐색, N : 아래로 탐색) |
|
:[범위]s/[old]/[new]/[옵션] |
치환 |
범위 내 old를 new로 치환 [범위] : n(n번째줄) n,m(n~m까지) %(모든범위) [옵션] : g(적용되는 범위의 모든 부분 변경) |
:![command] |
shell 명령어 실행 |
vi를 잠시 중단하고 명령어 수행 |
:.![command] |
command의 결과를 해당 라인에 삽입 |
|
:e[filename] |
파일 관련 |
불러오기 |
:enew |
새로 만들기 |
|
:q |
변경 내용이 없는 경우 vi 종료 |
|
:q! |
강제 종료 |
|
:w |
저장 |
|
:wq |
저장 후 종료 |
|
:w >> [filename] |
파일 및 실행 관련 |
현재 파일 내용을 추가하여 filename에 저장 |
:f |
현재 파일의 이름과 라인 수 |
|
:[n]r[filename] |
filename 파일의 내용을 n+1 라인에 삽입 |
|
:[n]r![command] |
command 실행 결과를 n+1 라인에 삽입 |
|
:set nu |
라인번호 |
줄번호 생성(활성화) |
:set nonu |
줄번호 비활성화 |
|
:set ai |
- |
라인 변경시 바로 위라인의 커서 위치와 동일한 위치로 설정(디폴트) |
:vs | 여러 파일 편집시 | vi editor 양쪽으로 나누기 |
:buffers | 현재 vi editor에서 사용중인 파일 목록 | |
:b숫자 | 현재 사용중인 vi를 buffer에 저장된 파일로 변경 |
'OS > Linux' 카테고리의 다른 글
[Linux] Apache Access Log 분석 (0) | 2018.03.05 |
---|---|
[Linux] 보안을 위한 /etc/sysctl.conf 파일 수정 (0) | 2018.02.02 |
[Linux] 압축과 보관 (0) | 2017.11.23 |
[Linux] User Account Management (0) | 2017.11.19 |
[Linux] Log Files (0) | 2017.11.18 |
- Total
- Today
- Yesterday
- CloudStack
- 케니4
- end 응모
- 파워쉘 문자열 포함 조건
- 이지 350 지브라
- 이지 700 모브
- selinux 정책설정
- 웹쉘 탐지
- 피파온라인4
- 나이키 코르테즈
- 리니지m 격수 팁
- 매치스패션 할인
- 이지 부스트 700 모브
- troijan
- 나이키 켄드릭라마
- 이지 부스트 700
- 배트멍 할인
- 조던1 사틴 블랙토
- 파워쉘 문자열
- 웹쉘 해결
- linux bridge 설정
- selinux 사용법
- 파워쉘 문자열 포함
- selinux 설명
- 리눅스 hostname 변경
- 조던1 사틴
- 웹쉘 예방
- 리눅스 모니터링
- 조던1 사틴 블랙토 개봉기
- Java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |