:set number
로 라인 숫자 보이게:set nonumbe
로 number 모드 해제h
: 한문자 왼쪽으로 커서 이동
J
: 한문자 아래쪽으로 커서 이동
k
: 한문자 위쪽으로 커서 이동
1
: 한문자 오른쪽으로 커서 이동
w
: 다음 단어 첫 문자로 커서 이동
b
: 이전 단어 첫 문자로 커서 이동
gg
: 첫 행으로 이동해줘
shift + g
: 커서를 문서의 끝 행으로 이동
shift + 4
: 커서를 해당 줄의 마지막으로 옮기기
shift + 6
: 커서를 현재 행의 첫번째 단어로 위치
0
: 커서가 첫번째 단어가 아니라 해당 라인 맨 앞에 위치
$
: 커서가 해당 라인 맨 끝으로 이동
:num
: 해당 라인 넘버로 이동.
num+enter
: 해당 숫자 만큼 아래로 이동
/word
: 찾을 word 입력하면 해당 단어 찾아줌. 찾는다면 해당 커서 기준 다음 검색 단어 위치로 이동
?word
: /검색과 같은 역할이지만 커서 기준 이전 단어 검색
n
: 아까 검색했던 것을 반복하게 됨. nnnn 으로 다음단어 계속 찾을 수 있음
shift + n
: n과 같은 역할인데 뒤로 검색
shift + v
: (visual line) 해당 라인 전체선택 상태가 되고 j로 아래로 내려서 여러 줄 선택 가능. 선택 상태에서 y 누르면 복사 됨.
i
: 현재 커서 위치에 글자 삽입 가능. i 를 누르고 난 이후에 쓰는 글은 커서 위치에 쓰여짐
shift + i
: 현재 줄 처음 글자에 삽입
a
: 현재 커서 다음 위치에 추가
shift + a
: 현재 줄 마지막 글자에 추가
o
: 아랫 줄에 추가
shift + o
: 윗 줄에 추가
s
: 현재 커서 글자 지우고 입력 모드로 전환
r
: 현재 커서 글자 지우고 한 글자 입력 받아 바꾼뒤 명령(이동)모드로 들어감
cw
: 단어 체인지. 해당 단어 지워지고 insert 바뀜
ctrl+d
: insert 모드에서 tab을 눌러 들여쓰기가 되어 있다면 해당 명령어로 들여쓰기 제거 가능
yw
: 복사, w,b, $ 등 다른 이동 표현과 함께 쓰면 그만큼 복사가 됨.
yw
: 현재 커서 이후 단어 복사, 숫자 yw 로 쓰면 숫자만큼의 단어가 복사됨
yb
: 현재 커서 이전 단어 복사, 숫자 yb 로 쓰면 숫자만큼의 단어가 복사됨
yy
: 현재 줄 복사, 숫자 yy 로 쓰면 숫자만큼의 줄이 복사됨
p
: 복사된 항목을 현재 커서 위치 이후에 붙여 넣기, 삭제된 항목도 붙여 넣기 가능
shift + p
: 복사된 항목을 현재 커서 위치 이전에 붙여 넣기, 삭제된 항목도 붙여 넣기 가능
y$
: 현재 커서 위치부터 맨끝까지 복사
y0
: 현재 커서 위치부터 맨앞까지 복사
u
: 뒤로가기!
ctrl + r
: 뒤로가기 두번 해야되는데, 세번 했어! 그런 경우 사용! 되돌리기를 되돌리기
vi file1 file2 file3
이런 식으로 동시에 여러 소스코드 파일을 열 수 있음
:n
: 다음 버퍼 파일로 이동
:shift + n
: 이전 버퍼 파일로 이동
:ls
: 현재 열려있는 버퍼의 리스트를 보여줌
:b숫자
: 숫자에 해당하는 버퍼로 이동
:bd숫자
: 숫자에 해당하는 버퍼를 삭제
:bw
: 현재 버퍼를 삭제
:!
: 셸 명령어 실행할거야~ 라는 의미
vi 편집기 안에서
:! echo "hello world"
q를 눌러서 vi 편집기를 나가는 게 안라 편집창은 그대로 띄워 놓고 잠깐 다른 경로에 뭐가 있는지 보고 싶다던가 어떤 명령을 통해서 셸스크립트 실행 결과를 확인한 다음 그걸 참고해서 해당 vi 문서를 편집해야 하는 경우 우리가 gui로 화면을 왔다갔다 하고 드래그 앤 드롭 한다던지 여러개의 디렉토리를 연다던지를 할 수 없다 보니 vi에서 이런 기능들을 제공한다.
:split
: 현재 열린 파일과 같은 파일을 수평으로 분할해서 하나 더 연다
:split $file
: 새로운 파일을 현재 위치에 열고 현재 열린 파일은 수평으로 분할해서 연다
:vsplit
: 현재 열린 파일과 같은 파일을 수직으로 분할해서 하나 더 연다
:vsplit $file
: 새로운 파일을 현재 위치에 열고 현재 열린 파일은 수직으로 분할해서 연다
Ctrl+w,j
: 아래 윈도우로 이동
Ctrl+w,k
: 위 윈도우로 이동
Ctrl+w,l(엘)
: 오른쪽 윈도우로 이동
Ctrl+w,h
: 왼쪽 윈도우로 이동
tmux
: Mac, linux 사용자는 tmux 라는 프로그램을 설치하면, 터미널을 여러개를 동시에 열고, 화면분할과 전환 등의 기능으로 동시에 여러 작업을 하나의 터미널 세션에서 쉽게 작업할 수 있다.
이건 필수 프로그램은 아니고. 일부 회사에서 특정 환경에선 서버에 깔아 놓은 프로그램 외 자기가 추가로 설치를 자유롭게 하지 못하는 경우도 있다. 관심있다면 알아보는 것도 좋은 듯