System of Infra/Linux
Linux vi 편집기
2swan
2024. 10. 11. 11:41
명령 모드
esc로 명령 모드 진입
line 표시 | :se nu 행 번호 표시 :se nonu 행 번호 표시 해제 |
줄 단위 이동 | gg : 파일의 가장첫 줄로 이동 G 파일의 가장 마지막 줄로 이동 100G : 100번째 줄로 이동 |
줄 단위 복사 | yy : 커서가 위치한 해당 줄 복사 5 yy : 다섯 개의 줄 복사 |
붙여넣기 | p |
삭제 | dd : 커서가 위치한 해당 줄 삭제 3 dd : 세 개의 줄 삭제 |
모든 작업 취소 | u :q! : 편집기에서 빠져나가기 |
검색 | :/Network : 파일에서 Network 문자열 검색 n : 누르면 아래로 검색 결과를 보여 준다 N : 누르면 위로 검색 결과를 보여 준다 |
커서 이동 | 방향키 or ajkl 리눅스 종류에 따라 방향키 입력이 불가능한 경우 존재 |
저장 | :wq! 편집내용 저장 후 빠져나가기 |
명령어 실행 | :![명령어] : 편집기를 빠져나가지 않으면서 명령어 실 |
:1s/services/test/
1번째 줄의 services 문자열을 test로 변경
:%s/text/services/g
이 파일의 처음부터 끝까지 test 문자열을 services로 변경
:1, $s/test/services/g
1번째 줄부터 파일의 끝($s)까지 test 문자열을 services로 변경
:1co6
1번째 줄을 6번째 줄로 복사(커서 이동 없이 복사 가능)
:1,5co1000
1번째 ~ 5번째 줄까지를 1000번째 줄에 복사
:1, 5000d
1번째 ~ 5000번째 줄까지 삭제
:!ls -al
편집기 나가지 않고도 ls -al 명령어 실행
입력 모드
a | 커서 오른쪽에 입력 |
A | 커서 오른쪽, 해당 줄의 맨 끝에서 입력 |
i | 커서 왼쪽에 입력 |
I | 커서 왼쪽, 해당 줄의 맨 앞에서 입력 |
o | 커서 아래 행에 입력 |
O | 커서 윗 행에 입력 |
alias : 명령어를 간소화해 다른 이름(별칭)으로 사용할 수 있도록 하는 명령어
alias rm='rm -i' : rm 명령어 입력 시 rm -i으로 인식하도록 설정
영구 등록시(=reboot 시에도 이 alias 설정을 저장하려면) 설정 파일에 등록이 필요
현재 로그인되어 있는 쉘에 한정하여 적용하는 경우 ~/.bashsrc, 모든 사용자에게 적용을 하려면 /etc/profile에