[LINUX] vi 편집기 사용

2022. 7. 1. 20:19·Computer Science/Linux

vi의 세 가지 모드

  • 명령 모드 (command mode) : vi 명령어를 통해 vi를 시작할 경우 실행되는 모드, 방향키를 통해 커서 이동
  • 입력 모드 (insert mode) : 명령 모드에서 i 또는 a 키를 눌러 입력 모드로 넘어감, 코드나 글 작성 가능, 명령 모드로 돌아갈 때는 ESC
    • i : 커서가 현재 위치한 부분에서부터 시작
    • a : 커서 바로 다음 부분부터 시작
    • shift + spacebar : 영/한 변환
  • 콜론 모드 : 명령 모드에서 : (콜론)을 입력하면 화면 맨 아랫줄에 입력 가능한 공간이 출력

vi의 구성

vi 명령어

  • 명령 모드에서 입력 모드로 전환
    • i: 커서 앞(왼쪽)에 입력
    • a: 커서 다음(오른쪽)에 입력
  • 입력 모드에서 명령 모드로 전환
    • ESC
  • 저장, 종료하기 (콜론 모드)
    • :q 종료
    • :q! 저장하지 않고 강제로 종료
    • :w 저장
    • :wq 저장 후 종료
    • ZZ 저장 후 종료 (:wq와 동일)
    • :wq 파일 이름: 저장 후 파일 이름 지정
      * vi 에디터에서는 비정상 종료 시 .swp 파일이 생성된다. 필요하지 않은 경우 삭제한다.
  • 커서 이동
    • h, j, k, l: 좌,하,상,우 커서 이동 (방향 키가 없는 키보드에서 사용)
    • w: 다음 단어의 첫 글자로 이동
    • b: 이전 단어의 첫 글자로 이동
    • G: 마지막 행으로 가기
    • :숫자: 지정한 숫자 행으로 이동 ex) :5
  • 삭제
    • x: 커서에 있는 글자 삭제
    • X : 커서 앞에 있는 글자 삭제
    • dw : 커서를 기준으로 뒤에 있는 단어 글자 삭제 (커서 포함)
    • db : 커서를 기준으로 앞에 있는 단어 글자 삭제
    • dd : 커서가 있는 라인(줄) 삭제
      * dw, db, dd 명령 앞에 삭제할 숫자를 지정 가능 ex) 3dw, 2db, 4dd
      * 삭제 된 내용은 버퍼에 저장되어 붙여넣기가 가능
  • 복사
    • yw : 커서를 기준으로 뒤에 있는 단어 글자 복사 (커서 포함)
    • yb : 커서를 기준으로 앞에 있는 단어 글자 복사
    • yy : 커서가 있는 라인(줄) 복사
      * yw, yb, yy 명령 앞에 복사할 숫자를 지정 가능 ex) 3yw, 2yb, 4yy
  • 붙여넣기 (복사, 삭제된 내용을 붙여넣는다.)
    • p : 커서 다음에 붙여넣기
    • P : 커서 이전에 붙여넣기
  • 찾기
    • /문자열 : 앞에서 부터 문자열을 찾는다.
    • ?문자열 : 뒤에서 부터 문자열을 찾는다.
    • n : 뒤로 검색
    • N : 앞으로 검색
  • 바꾸기
    • :%s/old/new: 각 행의 처음 나오는 old를 찾아 new로 바꾼다.
    • :%s/old/new/g: 모든 old를 찾아 new로 바꾼다.
    • :%s/old/new/gc: 모든 old를 찾아 new로 바꾸기 전에 물어본다.
  • 되돌리기(Undo), 다시실행(Redo)
    • u : 이전으로 되돌리기 (Undo)
    • Ctrl + r : 되돌리기한 것을 다시 실행 (Redo)

 

 


참고

 

[Linux] vi 편집기 사용법 및 명령어

셀 상에서 vi [파일명]을 입력하면 새로운 문서를 편집할 수 있는 환경이 만들어진다. vi의 세 가지 모드 1. 명령 모드 (command mode) vi 명령어를 통해 vi를 시작할 경우 실행되는 모드. 방향키를 통해

velog.io

 

'Computer Science/Linux' 카테고리의 다른 글
  • [LINUX / error] 리눅스 파일 권한 에러
  • [LINUX] 리눅스 기본 명령어
마볼링
마볼링
개발과 게임에 관한 내용을 읽기 쉽게 정리합니다.
  • 마볼링
    게임을 좋아하는 개발자의 블로그
    마볼링
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Project
        • LOATODO
        • 인스타그램 클론코딩(중단)
      • Language
        • Java
        • PHP
        • Javascript
      • Framework & Library
        • Spring
        • Vue
      • Computer Science
        • Web
        • Linux
      • CodingTest
        • Algorithm
        • Kotlin으로 푼 코딩 테스트
        • Java로 푼 코딩 테스트
        • Sorting & Thinking
        • BFS
      • 책&강의 정리
      • 정보처리기사
      • 개인
        • 팰월드(PALWORLD)
        • 마인크래프트
  • 블로그 메뉴

    • 링크

      • GitHub
      • Threads
    • 공지사항

    • 인기 글

    • 태그

      error
      CS
      Spring
      코딩테스트
      운영체제
      LoaTodo
      로아투두
      네트워크
      jsp
      JPA
      springboot
      codingtest
      프로그래머스
      Database
      java
      오블완
      이터널 모드
      티스토리챌린지
      php
      아크 서바이벌
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.1
    마볼링
    [LINUX] vi 편집기 사용
    상단으로

    티스토리툴바