Linux/Unix 자습서의 명령이 있는 VI 편집기

⚡ 스마트 요약

vi 에디터는 리눅스와 유닉스에서 널리 사용되는 고전적인 텍스트 에디터로, 키보드를 통해 두 가지 모드로 작동합니다. 명령 모드는 작업을 위한 것이고, 삽입 모드는 입력을 위한 것입니다.ping 텍스트입니다.

  • 📝 무엇이다 : vi 편집기는 거의 모든 Linux 및 Unix 시스템에 포함되어 있으며 플랫폼 및 배포판에 관계없이 동일하게 작동합니다.
  • ⌨️ 두 가지 모드 : 명령 모드는 복사, 삭제, 저장과 같은 작업을 실행하는 반면, 삽입 모드는 입력/삭제 작업을 위한 것입니다.ping 텍스트입니다.
  • 🚀 진수: vi 다음에 파일 이름을 입력하면 기존 파일을 열거나 새 파일을 만들 수 있습니다.
  • ✏️ 편집 : i, a, dd, x와 같은 한 글자 명령어는 줄을 삽입, 추가, 삭제하고 문자를 제거합니다.
  • 💾 절약: 명령 모드에서 `:w`는 저장하고, `:wq`는 저장 후 종료하며, `:q!`는 저장하지 않고 종료합니다.
  • 🤖 AI 지원: AI 비서와 GitHub Copilot은 학습하는 동안 vi 명령어를 설명하고 편집 제안을 해줍니다.

vi 에디터 명령어와 리눅스 및 유닉스의 명령/삽입 모드

vi 에디터는 거의 모든 웹 브라우저에서 접하게 될 텍스트 편집기입니다. Linux 유닉스 시스템이나 컴퓨터라면 키보드 기반의 작업 흐름을 익히는 것이 매우 유용할 것입니다. 이 가이드에서는 두 가지 모드, 편집 명령, 파일 저장 및 종료 방법을 설명합니다.

vi 에디터란 무엇인가요?

vi 에디터는 리눅스 계열에서 가장 인기 있고 고전적인 텍스트 에디터입니다. vi가 널리 사용되는 이유는 다음과 같습니다.

  • 거의 모든 리눅스 배포판에서 사용할 수 있습니다.
  • 플랫폼과 배포 방식에 관계없이 동일하게 작동합니다.
  • 사용하기 편리하기 때문에 수백만 명의 리눅스 사용자들이 편집 요구 사항을 충족하기 위해 이 프로그램을 사용하고 있습니다.

오늘날에는 vi 편집기의 고급 버전들이 나와 있으며, 그중 가장 인기 있는 버전은 다음과 같습니다. VIMvi는 Vi Improved의 약자입니다. 다른 편집기로는 Elvis, Nvi, Nano, Vile 등이 있습니다. vi는 기능이 풍부하고 파일을 편집할 수 있는 무궁무진한 가능성을 제공하기 때문에 배우는 것이 좋습니다.

vi 에디터 Opera모드

vi 에디터를 사용하려면 작동 모드를 이해해야 합니다. 작동 모드는 크게 명령 모드와 삽입 모드 두 가지로 나뉩니다. 아래 스크린샷은 리눅스 터미널에서 vi 에디터가 열린 모습입니다.

vi 에디터가 리눅스 터미널 창에서 열립니다.

vi 명령 모드

  • vi 에디터가 이 모드로 열리며, 명령어만 인식합니다.
  • 이 모드에서는 커서를 이동하고 텍스트를 잘라내기, 복사하기, 붙여넣기할 수 있습니다.
  • 이 모드는 파일에 적용한 변경 사항도 저장합니다.
  • 명령어는 대소문자를 구분하므로 올바른 대소문자를 사용해야 합니다.

vi 삽입 모드

  • 이 모드는 파일에 텍스트를 삽입하는 데 사용됩니다.
  • 키보드에서 'i'를 누르면 명령 모드에서 삽입 모드로 전환할 수 있습니다.
  • 삽입 모드에 들어가면 현재 작업 중인 파일에 대한 입력으로 어떤 키를 눌러도 인식됩니다.
  • 명령 모드로 돌아가서 변경 사항을 저장하려면 Esc 키를 누르십시오.

vi 편집기를 사용하는 방법

vi 편집기를 실행하려면 터미널(CLI)을 열고 다음을 입력하십시오.

vi <filename_NEW> or <filename_EXISTING>

기존 파일을 지정하면 편집기가 해당 파일을 열어 편집할 수 있도록 합니다. 그렇지 않으면 새 파일을 생성합니다. 아래 스크린샷은 vi 편집기에서 새 파일을 생성하고 편집하는 과정을 보여줍니다.

vi 편집기에서 새 파일 생성 및 편집

VI 편집 명령

아래의 vi 편집 명령어를 사용하면 텍스트를 삽입, 삭제 및 변경할 수 있습니다. 명령 모드에서 사용하십시오.

Command 기술설명
i 커서 위치에 삽입(삽입 모드로 전환)
a 커서 뒤에 쓰기(삽입 모드로 전환)
A 줄 끝 부분에 쓰기 (삽입 모드로 들어감)
ESC 삽입 모드 종료
u 마지막 변경사항 실행취소
U 전체 줄에 대한 모든 변경 사항을 취소합니다.
o 새 줄 열기(삽입 모드로 전환)
dd 행 삭제
3dd 3줄 삭제
D 커서 뒤의 줄 내용 삭제
C 커서 뒤의 줄 내용을 삭제하고 새 텍스트를 삽입합니다. 삽입을 종료하려면 ESC 키를 누르세요.
dw 단어 삭제
4dw 단어 4개 삭제
cw 단어 변경
x 커서 위치의 문자 삭제
r 문자 바꾸기
R 커서부터 문자 덮어쓰기
s 커서 아래의 문자 하나를 바꾸고 계속 입력하세요.
S 전체 줄을 교체하고 줄의 시작 부분부터 삽입을 시작하십시오.
~ 개별 문자의 대소문자 변경

참고 : 이 명령들을 실행하려면 명령 모드여야 합니다. vi 편집기는 대소문자를 구분하므로 명령어를 정확한 대소문자로 입력해야 합니다. 잘못된 명령어를 누르면 파일에 원치 않는 변경 사항이 발생할 수 있습니다. 필요에 따라 a, A 또는 o 키를 눌러 삽입 모드로 들어갈 수도 있습니다.

파일 내에서 이동

파일 내에서 이동하려면 명령 모드여야 합니다. 기본 탐색 키는 아래에 나열되어 있지만 키보드의 방향 키를 사용할 수도 있습니다.

Command 기술설명
k 커서를 위로 이동
j 커서를 아래로 이동
h 커서를 왼쪽으로 이동
l 커서를 오른쪽으로 이동

파일 저장 및 닫기

편집기를 종료하고 파일 변경 사항을 저장하려면 명령 모드로 전환해야 합니다. 아래 명령어는 일반적인 저장 및 종료 방법을 설명합니다.

Command 기술설명
Shift+zz 파일을 저장하고 종료하세요
:w 파일을 저장하되, 열어둔 상태로 유지하세요.
Q! vi를 종료하고 변경 사항을 저장하지 마십시오.
: WQ 파일을 저장하고 종료하세요

아래 스크린샷은 vi 편집기에서 파일이 열려 저장하고 닫을 준비가 된 상태를 보여줍니다.

vi 에디터에서 파일이 열려 있고 저장 후 종료할 준비가 되었습니다.

자주 묻는 질문

Vim vi는 "Vi Improved"의 약자로, vi의 향상된 버전입니다. 구문 강조 표시, 다단계 실행 취소 및 다시 실행, 창 분할, 탭, 단어 자동 완성 등의 기능이 추가되었습니다. 기존 vi는 거의 모든 유닉스 시스템에서 사용할 수 있으므로 vi 명령어를 배우는 것은 매우 유용합니다.

명령 모드에서 / 키를 누른 후 텍스트를 입력하고 Enter 키를 누르면 앞으로 검색하고, ? 키를 누르면 뒤로 검색합니다. n 키를 누르면 다음 검색 결과로 이동하고, N 키를 누르면 이전 검색 결과로 이동합니다. 설정을 변경하지 않는 한 대소문자를 구분합니다.

명령 모드에서 yy는 현재 줄을 복사(붙여넣기)하고 p는 커서 아래에 붙여넣습니다. 3yy와 같은 숫자를 사용하여 여러 줄을 한 번에 복사할 수 있습니다. dd로 삭제하면 삭제된 텍스트가 클립보드에 복사되므로 p를 사용하여 다른 위치에 붙여넣을 수 있습니다.

명령 모드에서 `:set number` (또는 `:set nu`)를 입력하고 Enter 키를 누르면 왼쪽 여백에 줄 번호가 표시됩니다. 다시 숨기려면 `:set nonumber`를 실행하세요. 줄 번호를 사용하면 특정 줄로 이동하거나 오류 메시지를 확인하기가 더 쉬워집니다.

Nano는 화면에 단축키를 표시하고 별도의 모드가 필요 없는 간단한 편집기이므로 초보자가 쉽게 사용할 수 있습니다. vi 편집기는 학습 곡선이 가파르지만 숙련된 사용자에게는 더 빠른 속도를 제공하며, 최소 서버를 포함한 더 많은 시스템에 기본적으로 설치되어 있습니다.

`vi -R filename` 또는 `view` 명령어를 사용하여 파일을 읽기 전용 모드로 엽니다. 이렇게 하면 실수로 내용을 변경하지 않고 안전하게 탐색하고 검색할 수 있습니다. 편집 내용을 저장하려면 `:w!` 명령어를 사용하여 강제로 쓰기 작업을 수행할 수 있습니다.

AI 비서는 익숙하지 않은 vi 명령어의 기능을 설명하고, 평범한 영어 요청을 올바른 키 입력으로 변환하며, 오류를 해결할 수 있습니다. 머신러닝 기반 도구는 다음 편집 내용을 제안하여 vi의 특징인 높은 학습 곡선을 완화해 줍니다.

예. GitHub 부조종사 공식 플러그인을 제공합니다 Vim Neovim 입력 모드에서 코드를 입력하는 동안 코드를 제안해주는 기능입니다. 키보드 기반 워크플로에 AI 기반 자동 완성 기능을 제공하지만, 각 제안을 수락하거나 거부하는 것은 여전히 ​​사용자가 직접 해야 합니다.

이 게시물을 요약하면 다음과 같습니다.