[Linux] Vi 와 Vi 명령어

2024. 10. 13. 22:58·Linux

필요한 명령어는 ctrl+f 키로 찾으면서 봅시다

리눅스의 문서 편집기 - vi (visual editor)

vi 란 유닉스에서 제공하는 기본 편집기이다

vim은 리눅스에서 제공하는 편집기이고, vi를 업그레이드 한 버전이다.

하지만, 둘의 사용법은 동일하다


리눅스의 문서 편집기

모드형

입력 모드와 명령 모드를 구분

입력 모드 : 텍스트를 입력할 수 있는 모드

명령 모드: 텍스트 수정/삭제/복사/붙이기 등 편집 모드

 

비모드형

모드 구분이 없다 (워드, 한글 등)

alt, ctrl, shift 등으로 편집 명령 수행


vi 시작과 종료

# text.txt 라는 파일을 열려고 할 때

# test.txt 라는 파일을 연다. 다만 파일이 없으면 빈 파일을 연다
$ vi test.txt 

# 빈파일 열기, 이름은 나중에 정한다
$ vi

#### vi 진입시 명령어 모음 ####

# 작업 한 것이 없을 때 종료
$ :q

# 작업한 내용을 저장하지 않고 종료
$ :q!

#작업 내용을 저장, 파일명 지정시 다른 이름으로 저장
$ :w (파일명)

#작업 내용 저장 후 vi 종료
$ :wq
$ :wq!

 


명령 모드 → 입력 모드 || 입력 모드 → 명령 모드

# 현재 커서 자리에 입력
$ i

# 현재 커서 다음 자리에 입력
$ a

#커서가 위치 한 행의 다음 행에 입력
$ o

# 커서가 위치한 행의 첫 칼럼으로 이동후 입력
$ I

#커서가 위치한 행의 마지막 칼럼으로 이동하여 입력
$ A

# 커서가 위치한 행의 이전 행에 입력
$ O

#### 입력 모드 -> 명령 모드 ####

#esc 키 입력

i 와 a의 차이점:

커서를 기준으로, i는 커서 위치에 글자를 입력, a는 커서의 다음(오른쪽)으로 글자 입력

o는 현재 커서기준 아래 행으로 이동

 


커서 이동

k : 위로 이동
j : 아래로 이동
l : 오른쪽으로 이동
h : 왼쪽으로 이동

o : 현재 행의 처음으로 이동
$ : 현재 행의 마지막으로 이동

- : 이전 행의 처음으로 이동
+ : 다음 행의 처음으로 이동

H / M / L : 제일 위/ 중간 / 아래로 이동

w : 다음 단어의 처음으로 이동 
e : 다음 단어의 마지막 글자로 이동

b : 이전 단어의 앞으로 이동

화면 이동

# 여기서 ^ 는 ctrl 키를 의미

^u : 반 화면 위로 이동
^d : 반 화면 아래로 이동

^b, pageUp : 한 화면 위로 이동
^f, pageDown : 한 화면 아래로 이동

^y : 화면을 한 행만 위로 이동
^e : 화면을 한 행 아래로 이동

특정 행으로 바로 이동

G : 파일의 마지막 행으로 커서 이동
행번호 G : 지정한 행번호로 커서 이동

내용 수정

r : 커서가 위치한 글자를 다른 글자로 수정 (한글자)

cw ,#cw : 커서 위치부터 현재 단어 끝까지 수정

s, #s : 커서 위치부터 esc를 입력할 때까지 수정

cc : 커서가 위치한 행 전체 수정

C : 커서 위치부터 행의 끝까지 수정

내용 삭제

x : 커서 위치의 글자를 삭제

dw : 커서 위치 단어 삭제

dd : 커서 위치의 행 삭제

D : 커서 위치부터 행의 끝까지 삭제

되돌리기(명령 취소)

u : 명령 취소

U : 해당 행의 모든 명령 취소

:e! : 마지막으로 저장한 내용 이후것 버리고 새로 작업

복사, 붙이기

yy, #yy : 커서가 위치한 행을 복사

p : 커서가 위치한 행의 아래쪽에 붙인다

P : 커서가 위치한 행의 위쪽에 붙인다

dd : 삭제와 같은 기능, 커서가 위치한 행을 잘라두기

네임드 버퍼

언네임드 버퍼 : 이름을 붙이지 않은 버퍼

네임드 버퍼 : 이름을 붙여 사용할 수 있는 버퍼

ex) “add , “bdd

예시)

  1. 2행을 잘라서 “a 라는 버퍼에 저장 → 2행의 제일 처음에 커서를 두고 → “add
  2. 3행을 잘라서 “b 라는 버퍼에 저장 → 3행의 제일 처음에 커서를 두고 → “bdd
  3. 커서를 1행으로 이동, b 버퍼의 내용을 1행 위 행으로 붙여 넣기 → “bp
  4. 커서를 1행으로 이동, a 버퍼의 내용을 1행 아래에 붙여 넣기 → “ap

마지맥 행 모드에서 복사하기, 잘라내기, 붙이기

  1. 2행에 커서를 둔다
  2. 2행 3행 잘라내기 → 2,3d
  3. 2행 뒤에 붙이기 → 2pu
  4. 1행 2행 복사하기 → 1,2y
  5. 4행 다음 붙이기 → 4pu

검색 명령키

/문자열 : 문자열을 아래 뱡향으로 탐색
?문자열 : 문자열을 윗 방향으로 탐색
n : 찾던 방향의 다음 찾고 있는 문자열로 이동
N : 역방향으로 다음 문자열 탐색

파일 읽어오기, 여러 파일 편집하기

:r : 지정한 파일을 읽어들여 현재 커서 위치에 삽입

:e : 지정한 파일로 전환한다

vi에서 셸 명령 사용하기

:! 셸 명령 -> vi 작업 중단, 셸 명령 실행 (enter 키로 vi 복귀)

:sh : vi를 잠시 빠져나가 셸 명령 실행 (exit 명령어로 vi복귀)

'Linux' 카테고리의 다른 글

[Linux] 프로세스, 관리 명령, 포그라운드/백그라운드 프로세스의 작업제어, crontab  (0) 2024.12.02
[Linux] Shell , Bash, Alias  (1) 2024.10.16
[Linux] 디렉토리 및 파일 명령어  (1) 2024.10.12
[Linux] Unix와 Linux , GUI 와 CLI, 리눅스 기본 명령어  (0) 2024.10.12
'Linux' 카테고리의 다른 글
  • [Linux] 프로세스, 관리 명령, 포그라운드/백그라운드 프로세스의 작업제어, crontab
  • [Linux] Shell , Bash, Alias
  • [Linux] 디렉토리 및 파일 명령어
  • [Linux] Unix와 Linux , GUI 와 CLI, 리눅스 기본 명령어
xub2
xub2
//given //when //then
  • xub2
    xublog
    xub2
  • 전체
    오늘
    어제
    • 전체 글 모아보기 (115)
      • 잡담 (9)
      • 도전 , 자격증 (2)
      • Error (3)
      • Java (22)
        • Java (19)
        • Collections (3)
      • Spring (4)
        • Core (3)
        • MVC (1)
      • DataBase (6)
        • SQL (2)
        • Database Modeling (4)
      • Computer Science (28)
        • Network (22)
        • Software Engineering (3)
        • Operating System (3)
      • Algorithm (14)
        • CT (12)
      • Project (9)
        • Web (0)
        • iOS (8)
        • Python (1)
      • A.I (13)
      • Linux (5)
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
xub2
[Linux] Vi 와 Vi 명령어
상단으로

티스토리툴바