Vim 사용법
in etc on Etc
vim에서
==================맨 처음 vim 시작할 때 ====================
->window에서 vi를 실행한다
-> shift + : 를 누르고 w 파일이름.확장자를 입력한다
-> 지정되어 있던 경로에 파일이 저장된다.
=================================================
===================== vi 줄번호 보이기 ===============
- shift + :
- set number 입력
숨길 때는 set nonumber 입력 ===> 그냥 : 눌러서 되는 경우는 :를 누르면 되지만 그냥 : 눌러서 안되면 shift + : 로 shift를 같이 누르면 된다.
====================================================
===================== 화면 분할하기 ====================
- 수직으로 분할하면서 새로운 파일 열기
- shift + :
- vs 경로 파일명.확장자
- 분할 창으로 커서 이동(명령모드에서 진행할 것)
- ctrl +w, w ==> 다음 창으로 커서 이동
- ctrl +w, W ==> 이전 창으로 커서 이동 (창이 2개밖에 없을시 ctrl +w, w로도 왔다 갔다 할 수 있다)
======================= ««<명령모드>>>>> ===================명령모드>
빈화면에 커서가 깜박깜박 거리고 있으면 명령모드라는 소리. 사용자의 입력이 적히지 않는다.
입력모드에서 명령모드로 와야 커서도 옮기고 각종 작업을 할 수 있다. 입력모드에서 명령모드로 바꿀 때는 ESC키를 누르면 된다. 명령모드로 바뀌면 좌측하단에 있는 insert 혹은 끼워넣기가 없어진다
================= 커서 움직이는 방법 ================
h는 왼쪽 L은 오른쪽 J는 아래쪽 K는 위쪽이다. ==> 오른손으로 작동하면 된다. (왼쪽-아래-위쪽-오른쪽)
현재 커서 위치에서 가장 끝으로 옮기는 방법 : shift + $
현재 커서 위치에서 제일 앞으로 옮기는 방법 : shift + ^
==================== 커서 단어 단위로 움직이는 방법 =============
w: 단어의 시작 위치로 커서 이동 (forward 방향) Ex. 3w: 세 단어 앞으로 커서 이동 e: 단어의 마지막 위치로 커서 이동 (forward 방향) b: 단어의 시작 위치로 커서 이동 (backward 방향) ge: 단어의 마지막 위치로 커서 이동 (backward 방향)
========================================
================== 복사/붙여넣기 ====================
마우스 드래그 같이 여러줄 선택(비주얼 라인) : shift + v
비주얼 라인한거 복사 하기 : y
2-1. 한 라인만 복사하기(현재 커서 위치 기준) : yy
2-2 커서기준 n개의 줄 복사 : 숫자 입력 + yy
복사한거 붙여넣기 : p (이건 명령모드에서 실행해야 한다)
비주얼 라인한거 지우기 : 비주얼 라인(shift + v)잡고 d 키누르기
4-1 커서 위치 기준으로 한 줄만 지우기 : dd
4-2 n개의 줄을 지우기 : 숫자 입력 + dd 예를들어 2 누르고 dd 하면 커서기준으로 2줄이 지워진다.
4-3 커서 깜박이는 위치 뒤에 있는 글자 지우기 : shift + d
4-4 커서 깜박이는 위치 기준 한 글자식 지우기 : x
4-5 n개의 글자 지우기 : 숫자키 + x (6 누르고 x 누르면 6글자가 지워진다)
- 현재 vi로 열고 있는 파일 말고 외부에서 ctrl + c 혹은 마우스로 copy 한거 붙여 넣기(ctrl + v 키랑 같은 역할)
- shift + insert(ins라고 키보드에 표시)
- 코드를 줄 맞춰서 복사하기
- shift + : set paste 입력
- i키 눌러서 insert 모드 진입. 왼쪽 하단에 insert(paste)라고 적힌거 확인
- shift + insert 누르면 원래 복사 해뒀던 그대로 붙여넣기가 된다.
- ESC 눌러서 입력모드에서 빠져나온 후
- shift + : set nopaste 입력해서 paste 모드 빠져나오기
========================================
===================== 복사 붙인거 정렬하기 =============
shift + v 눌러서 밑줄로 선택한 후에 = 키 누르면 들여쓰기 맞춰준다
중괄호 { 위에서 % 누르면 들여쓰기 맞춰준다.
========================================
======================= 라인 이동 ===================
화면에서 보여주고 있는 라인 다음라인으로 이동 : ctrl + f
이전 화면으로 돌아가고 싶을 떄 : ctrl + b
커서 현재 위치 기준 한줄 밑 라인을 커서가 있는 라인으로 옮길 때 : shift + j
원하는 라인으로 바로 이동할 때 : shift + : (원하는 라인 숫자) -> 예를 들어 70 치면 70번째 라인으로 이동한다.
가장 끝 라인으로 이동할 때 : shift + : $ 입력
========================================
====================== 단어(문자열) 찾기 ====================
- 커서가 깜박이는 위치에 있는 문자열 찾기 : shift + 숫자키 8 ( * 입력)
1-1. 찾은 문자열 아래로 이동하는 방법 : n키 누르기
1-2 찾은 문자열 위로 이동하는 방법 : shift + n키 (대문자 N) -> 문자열 중 현재 커서가 있는 문자열에서 깜박거림을 확인할 수 있다.
- 명령모드에서 / 를 누른 후(라인모드 진입) 내가 찾고 싶은 단어 입력하기
========================================
================== 되돌리기 ======================
키보드 u를 누르면 undo ctrl + z 같은 효과가 있다.
undo 한 걸 다시 복원 시키는 redo : ctrl + r
========================================
================ 문자열 한 번에 교체 ==============
- shift + :
- %s/찾을 문자열/바꿀문자열
========================================
=============== 다른 파일 불러오기 ================
현재 커서 위치에 다른 파일 내용 불러오기
- shift + :
- r 파일명.확장자
========================================
============ 그밖의 명령어 ==================
shift + : w ==> 저장하기
shift + : wq ==> 저장하고 vim 나가기
shift + : w 경로 파일이름.확장자 ==> 원하는 위치에 파일 저장
shift + : q! ==> 저장 안하고 나가기
===========================================
========= < 명령모드에서 입력모드로 넘어올 때 > ===========
- 명령모드에서 입력모드로 바꾸는 방법 -> 왼쪽하단에 insert 혹은 끼워넣기라고 뜬다
1) i 키 : 지금 커서 위치에서 쓰기가 시작된다
2) a 키 : 지금 커서 다음 위치에서 쓰기가 시작된다.
3) o키 : 현재 커서 위치에서 한라인 밑으로 내려가면서 새로 쓸 수 있다.
4) s키 : 현재 커서 위치의 한 글자를 지우고 입력
5) shift + i : 현재 커서 줄의 맨 앞으로 가면서 새로 쓸 수 있다.
6) shift + a : 현재 커서 줄의 제일 뒤로 가면서 새로 쓸 수 있다.
7) shift + o : 현재 커서의 이전 줄에 입력
8) shift + s : 현재 커서의 한 줄을 지우고 입력
9) cw : 현재 커서가 가리키고 있는 단어를 지우고 그 자리에 쓸 수 있다.
== 주의 현재 키보드가 한글 입력으로 되어 있을 시 키가 먹지 않는다. ==
================================================
출처: https://www.youtube.com/watch?v=GWo_MxMlJJ4&t=843s https://gmlwjd9405.github.io/2019/05/14/vim-shortkey.html