빅데이터 전문가 되기
Vim 기능 본문
오늘은 vim 기능에 대해 알아보도록 하겠습니다.
Linux에 처음 접할 때 명령모드와 입력모드의 차이와 명령어에 대해 익숙해지는데 어려움을 겪으실 수 있습니다.
아래 정리 내용을 통해 조금이나마 이해하시는데 도움이 되셨으면 좋겠습니다.
출처 : www.joinc.co.kr
- 같은 문자 반복 삽입
: esc키 (명령행 모드) →횟수 입력 → i(입력모드) →반복 문자 입력 → esc키
😸 명령어 모드 사용
1. 커서 이동
- 커서를 위로 이동 : k
- 커서를 아래로 이동 : j
- 커서를 왼쪽으로 이동 : h
- 커서를 오른쪽으로 이동 : l
- 커서를 줄의 처음으로 이동 : -
- 다음 단어의 끝으로 이동(문자단위) : e, E
- 다음 단어의 처음으로 이동(문자단위) : w, W
- 줄의 마지막으로 이동 : $
- 줄의 처음으로 이동 : ^
- 문서의 마지막으로 이동 : shift + g
- 문서의 처음으로 이동 : gg, 1g
- 다음, 이전문장 처음으로 이동 : ), (
- 다음, 이전문단 처음으로 이동 : }, {
- 다음, 이전구절 처음으로 이동 : ]], [[
2. 화면 스크롤
- 한 화면을 앞으로 스크롤 : ^F
- 한 화면을 뒤로 스크롤 : ^B
- 반 화면을 앞으로 스크롤 : ^D
- 반 화면을 뒤로 스크롤 : ^U
- 한줄 앞으로 스크롤 : ^E
- 한줄 뒤로 스크롤 : ^Y
- 화면의 맨 윗줄로 이동 : shift + h
- 화면의 중간줄로 이동 : shift + m
- 화면의 맨 아랫줄로 이동 : shift + l
3. 입력 명령
- 현재 위치에서 삽입 : i
- 현재 줄의 처음위치에서 삽입 : I
- 현재 위치에서 한칸 앞에 삽입 : a
- 현재 줄의 마지막 위치에 삽입 : A
- 새로운 줄을 아래에 삽입 : o
- 새로운 줄을 위에 삽입 : O
- 현재 위치 문자를 지우고 입력모드 전환 : s
- 현재 위치의 줄을 지우고 입력모드 전환 : S
4. 편집
- 한줄 복사 : y
- 현재 라인에서부터 n라인 만큼 복사 : yn
- 붙여넣기 : p
- 한줄 삭제 : dd
- 한단어 삭제 : dw
- 현재 커서 위치에서 마지막까지 삭제 : shift + d, d$
- 현재 행의 개행문자 제거, shift + j
- 되돌리기 : u (undo)
5. 블럭 지정
- 현재 커서부터 블럭 지정 : v (visual)
- 줄 단위 블럭 지정 : shift + v (visual line)
- 직사각형 블럭 단위 블럭 지정 : Ctrl + v (visual block)
# 블럭 모드에서 편집
- 블럭 내용 복사 : y
- 블록 내용 붙여넣기 : p
- 지정 블럭 삭제 : d
- 현재 라인 삭제 : dd
😸 EX 모드
1. 찾기 / 치환
# 문서 처음부터 마지막까지 'char'를 '_char_'로 치환
:%s/char/_&_/g
# 현재 커서부터 마지막까지 'char'를 '_char_'로 치환
:.,$s/char/_&_/g
# buf_.*[255], buf_in[255], buf_get[255] 와 같은 문자열을 hello로 변경
:1,10s/buf_.*\[255\]/hello/g
2. 파일 저장, 열기, 종료
# '파일이름'으로 파일 열기
:e '파일이름'
# 종료, 강제종료, 저장 후 종료
:q, :q!, :wq
# 현재파일명으로 저장, '파일이름'으로 저장
:w, :w '파일이름'
# 지정한 범위만 다른 파일로 저장
:'범위'w '파일이름'
# 현재 작업 중인 파일이름과 라인 수 출력
:f
😸 개발자를 위한 vim 사용
1 .화면 분할 후 편집
- 가로로 분할 : sp
- 세로로 분할 : vs
- 분할 후 새로운 파일 열기
: '파일이름'
- 분할 후 커서 이동 : Ctrl + w + (h,j,k,l)
2. 여러 파일 편집
- vim 실행
# vim file1.txt file2.txt ...
-> 이 때 'file1.txt'의 편집화면이 나타남.
- 'file2.txt'로 이동
:n
- 'file2.txt'에서 'file1.txt' 편집
:e#
- 잠시 shell로 나가기 : Ctrl + z
3. 함수 / 변수명 자동 완성
: client_sockfd(파일명) → cli^p 입력(자동완성 가능)
4. 자동 들여쓰기
:set ai
:set noai
5. 라인 넘버링
# 행번호 넣기
:set nu
# 행번호 제거
:set nonu
# 원하는 번호 찾기
:set nu + 번호
6. 코드를 HTML로 저장하기
:so $VIMRUNTIME/syntax/2html.vim
'Linux' 카테고리의 다른 글
[Ubuntu] 한글 설치 (0) | 2024.03.27 |
---|---|
[Window&Ubuntu] 듀얼부팅 세팅하기 (0) | 2024.03.26 |
[Ubuntu] Anaconda 설치 (0) | 2024.03.25 |
Windows에서 간단하게 Ubuntu 사용하기 (0) | 2023.10.22 |
[Ubuntu_22.04] Chrome 설치하는 방법 (0) | 2023.07.07 |
Comments