일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IoTNetwork
- gitlab
- 3D
- nas
- docker container
- C언어
- Jenkins
- octoprint
- 3D프린터 입문
- 3D프린터
- linux job
- Kotlin
- git
- 3d프린터 초보
- 3D모델링
- 3D프린터입문
- github
- Token인증방식
- ci/cd
- docker
- 3D 프린터 용어
- 네이버클라우드
- kubernetes
- OnlineIDE
- Notification
- 리눅스 파일동기화
- data serialization formats
- NAS HDD교체
- 코틀린개발환경
- 데이터 직렬화 포맷
- Today
- Total
0과 1을 공부하다.
[Liunx] Vi(Vim) 조작 명령어 모음 본문
이번 포스팅에서는 Liunx 기반의 운영체제에서 자주 사용하는 텍스트 기반의 에디터인 Vi(AKA Vim) 에디터의 명령어(단축키)에 대해 정리한다.
통상 윈도우, 리눅스, 매킨토시 등 GUI 환경에서 제공하는 메모장, 아래한글, MsWord 등 강력한 텍스트 에디터는 많다.
하지만 주로 서버 운영체제로 이용하는 유닉스/리눅스 운영체제에서는 GUI에 사용하는 컴퓨터 시스템 자원을 절약하기 위해 미니멀 모드로 설치하여 CUI(CLI)환경에서 운영하게 된다. CUI 환경에서는 명령어(Command)단위로 이뤄지기 때문에 앞서 설명한 GUI기반의 에디터는 사용할 수 없는 환경이다. 그래서 리눅스 CUI환경에서는 Nano, Vi, Gedit 등의 에디터를 사용하게 되는데 그 중에서 강력한 기능으로 리눅스 사용자들이 가장 많이 사용하는 Vi 에디터 조작 명령어에 대해 알아본다.
처음 Vi를 접하게 되면 상당히 불편하고 불만사항도 많을 것이다. 필자도 그랬다. 앞선 GUI 기반의 에디터랑 비교하면 상당히 불편한 것이 사실이다. 물론 GUI환경에서는 우수한 에디터를 사용하면 되지만 CUI 환경이라면 Vi 에디터를 사용하는 것이 불가피하다. 필자의 개인적인 견해로 어느프로그램도 마친가지지만 본인에게 익숙해지는 것이 중요하다. 처음 입문할 때 복잡한 명령단위로 구성되어 있어 많은 불편함을 느꼈지만 필자는 익숙해지고나니 다른 에디터에 비해 강력한 기능을 제공하고 있기 때문에 많은 사용자들이 Vi를 애용하는지 느끼게 되었다.
서두가 많이 길어졌다. 이제 명령어에 대해 정리한다. [그림 1]과 같이 구글에 검색하면 편리하게 정리되어 있는 이미지 파일을 쉽게 얻을 수 있었다. 근데 필자는 해당 기능을 다 사용하지 않기 때문에 오히려 해당 표는 보기 불편했다.
그래서 내가 자주 사용하는 명령어 위주로 정리하고자 한다. (해당 기능에 대해 자세하게 정리하지는 않는다.)
명령모드 / 입력모드 전환
ESC (입력모드)
i (줄 시작에서 삽입)
a (중간에서 삽입)
Vi의 가장 큰 특징으로 명령모드와 입력모드가 있다는 것이다. 명령모드는 파일 저장, 복사, 붙여넣기, 열 지우기 등의 명령어를 입력할 때 사용하는 모드이고 입력모드는 통상적으로 파일의 내용을 입력할 때 사용하는 모드이다. 입력모드에는 여러가지 모드가 있지만 필자는 그냥 i를 자주 사용한다. 삽입 위치에 따라 명령어가 다르지만 필자는 그냥 모드 선택하고 방향키로 위치를 수정한다.
파일 저장
:w (저장)
:q (종료)
:q! (저장하지 않고 종료)
:wq (저장하고 종료)
:w FileName (사본으로 저장)
다음은 파일저장 관련이다. 이전 입력모드 i를 입력하는 것과 다르게 앞에 콜론을 붙여야 함을 주의하자.
행 단위 삭제
dd (1행 삭제)
Ndd (N행 삭제)
복사/붙여넣기/잘라내기
yy (1행 복사)
Nyy (N행 복사)
p (붙여넣기)
dd(1행 삭제) 후 p(붙여넣기) (잘라내기 기능)
Vi 에디터는 통상 'dd' 명령어를 통해 삭제하면 삭제 데이터는 버퍼에 저장되기 때문에 삭제하고 붙여넣기를 수행하면 잘라내기와 같은 기능을 한다.
이전상태로 되돌리기
u (이전상태로 되돌리기)
이전상태로 되돌리는 기능이다. 단축키 control + z와 같은 기능이다.
범위지정
:1,5y (1행부터 5행까지 복사)
:1,%y (1행부터 마지막까지 복사)
:1,$y (위와 동일)
:1,5d (1행부터 5행까지 삭제)
:1,%d (1행부터 마지막까지 삭제)
:1,$d (위와 동일)
앞선 복사 또는 삭제를 수행하기 위해 범위를 지정하는 명령어이다.
단어검색
:/WORD (단어 검색)
검색 이후
n (다음 검색결과로 커서 이동)
N (이전 검색결과로 커서 이동)
라인 번호 붙이기
:set number (에디터 라인에 번호를 붙임)
:set nu (위와 동일)
대기모드
:sh (잠시 vi를 빠져나와 쉘 명령어를 실행, 복귀는 exit 명령어 입력)
이상 리눅스 Vi 에디터 명령어에 대해 간략하게 알아보았다. 필자가 자주 이용하는 명령어 위주로 정리했기 때문에 다소 자세한 내용을 정리하지 않았다. 모든 기능을 전부 알면 좋겠지만 당장 필요한 기능에 대해 익숙해지고 점차 알아가는 것이 좋겠다는 생각이 들었다. 자세한 내용을 담고 있지 않지만 Vi 에디터 입문 초기에 필수로 필요한 명령어를 습득하길 희망하는 이용하에게 도움이 되었으면 한다.
※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.
* CopyRight 2022. Jay Park All rights reserved.
'Study > Linux' 카테고리의 다른 글
[Linux] Rocky 8 방화벽(Firewall) 설정 (0) | 2022.06.27 |
---|---|
[Linux] SSH(Secure Shell) 포트변경 (0) | 2022.05.27 |
[Linux] 리눅스 명령어 (파일 및 디렉터리 관리 / 시스템 재부팅 및 종료) (0) | 2022.01.17 |
[Linux] Vi(Vim) .vimrc 파일 수정을 통해 가독성을 높이는 방법 (0) | 2022.01.13 |
[Linux] 리눅스 C/C++ 패키지 설치 (0) | 2021.12.15 |