2 분 소요

  • vi: 유닉스 환경에서 사용되는 텍스트 편집기(editor)이다

  • vim: ‘Vi IMproved’ 의 약자로 vi 호환 텍스트 편집기이다

vi는 모드가 존재한다

  1. 명령모드: esc를 이용해서 입력모드에서 명령모드로 전환할 수 있고, 명령어를 사용해서 복사를 한다던지 이동한다던지 하는 동작을 수행할 수 있다
  2. 입력모드: i를 이용해서 입력할 수 있는 모드로 전환한다
  3. 라인모드: 저장하거나, vi편집기를 종료하는 등의 작업을 수행할 수 있다


vi 편집기 명령어 정리

1. vi

vi을 실행하기 위해서는 터미널에서 vi 파일명을 사용한다

  • 해당 파일이 존재하지 않는 상태라면 알아서 생성이 된다
% vi README.md
~
~
~
~
~
"README.md" [New File]

이런 화면이 나오면 정상적으로 성공이다!

2. i

입력모드로 전환하기 위해서는 명령모드인 상태에서 i를 입력해서 전환할 수 있다 i를 입력하면 다음과 같이 하단에 INSERT가 나오며 입력모드임을 알 수 있다

~
~
~
~
~
-- INSERT --

이 상태에서는 텍스트를 입력할 수 있다

esc를 눌러서 명령모드로 전환할 수 있다

3. :wq

[라인모드] 입력을 완료하고 파일을 저장해야 한다 이때 콜론(:)을 입력하고, w(저장), q(종료)를 사용할 수 있다

text1
text2
text3
~
~
:wq

wq는 각각 사용도 가능하고 조합해서 사용이 가능하다

4. 라인수 표기

라인모드로 현재 입력한 라인수를 볼 수 있다 콜론(:)을 입력후에 set nu를 입력하면 라인수가 편집기 내부에 보여지게 된다

  1 Hi!
  2 my name is JongBin
  3 I'm 26 years old
  4 I living in Suwon
  5 Bye!
~
~
~
~
:set nu

5. h, j, k, l

h, j, k, l는 화살표와 같다 명령모드 상태에서 각각 ←, ↓, ↑, → 로 동작한다

6. dd, yy, p

dd: 잘라내기 yy: 복사하기 p: 붙여넣기

7. 되돌리기(u), 다시되돌리기(control+r)

u를 입력하면 되돌릴 수 있다(←) 이후 되돌린 작업을 다시 반대방향으로 되돌리기(→) 위해서는 control + r를 입력해서 되돌릴 수 있다

다시 되돌릴 상태가 없는 최신 상태에서 control+r을 입력하게 되면 하단에 Already at newest change라는 텍스트가 출력된다

▶️ 명령모드 command

 의미  키 의미
 i  현재 커서 위치부터 입력  I  현재 커서 줄의 맨 앞에서 입력
a 현재 커서 다음 위치부터 입력   A 현재 커서 줄의 맨 뒤부터 입력
o 현재 커서의 다음 줄에 입력  O 현재 커서의 이전 줄에 입력
s 현재 커서의 한 글자 지우고 입력  S 현재 커서 한 줄을 지우고 입력
^ 현재 줄의 처음으로 이동  $ 현재 줄의 마지막으로 이동
 gg  맨 앞 첫 번째 줄로 이동  G  맨 끝 줄로 이동
 숫자+G  해당 숫자 줄로 이동  u  되돌리기
Ctrl+F  다음 화면으로 이동  Ctrl+B  이전 화면으로 이동
x 현재 커서가 위치한 글자 삭제  X 현재 커서가 위치한 앞 글자 삭제
d+d 현재 커서의 줄 삭제  숫자+d+d 현재 커서부터 숫자만큼 줄 삭제
y+y 현재 커서가 있는 줄 복사  숫자+y+y 현재 커서부터 숫자만큼 줄 복사
 p  복사한 내용을 현재 줄 이후로 붙여넣기  P  복사한 내용을 현재 줄 이전에 붙여넣기
 w  현재 커서에서 다음 단어로 이동  - 이전 줄의 처음으로 이동
 .  이전에 사용한 명령어 재실행  ~  대소문자 변경
 J  현재 줄과 다음 줄을 연결  <+<  현재 줄을 왼쪽으로 내어쓰기
 >+>  현재 줄을 오른쪽으로 들여쓰기  r  한 글자 변경하기
 Ctrl+G  마지막 줄에 현재 줄 정보 출력  )  다음 문장으로 이동
 (  이전 문장으로 이동  }  다음 문단으로 이동
 {  이전 문단으로 이동  +  다음 줄의 처음으로 이동 


cmd (출처 : https://inpages.tistory.com/124)


cmd (출처 : https://inpages.tistory.com/124)


태그:

카테고리:

업데이트: