본문 바로가기

CentOS/Study

[Study25]vi 효율적인 편집을 위한 팁과 요령 - vi 의 실행 및 특징

반응형

vi 편집기(Visual Editor)

유닉스 계열에서 가장 많이 사용되는 텍스트 편집기입니다.

1976년 빌 조이(Bill Joy)가 개발했습니다.

한 화면을 편집하는 비주얼 에디터(Visual Editor)입니다.

 

vim(vi improved)

브람 무레나르(Bram Moolenaar)가 vi 편집기와 호환되면서 독자적으로 다양한 기능을 추가하여 만든 편집기입니다.

편집 시에 다양한 색상을 이용하여 가시성을 높였으며, 패턴 검색 시에 하이라이트 기능을 제공하여 빠른 검색이 가능하게 해줍니다.

Vim은 vi의 기능을 모두 포함하고 있으며, 일반적으로 사용자 친화적인 인터페이스를 가지고 있습니다.

Vim은 매우 강력한 편집 기능을 제공하며, 다양한 플러그인을 사용하여 더욱 향상된 기능을 제공할 수 있습니다.

 

emacs 편집기(Editor Macros)

리처드 스톨만이 개발한 고성능 문서 편집기입니다.

매크로 기능이 있는 텍스트 교정 및 편집기입니다.

초기 리처드 스톨만에 의해 개발되었고, 이후에 제임스 고슬링(James Gosling)이 LISP(LISt Processor) 언어에 의한 환경 설정 및 에디터 기능을 확장시킬 수 있는 기능을 포함하여 '고슬링 이맥스'라는 이름으로 배포했습니다.

Emacs는 다양한 기능을 제공하며, 사용자가 원하는 만큼 맞춤 설정을 할 수 있습니다.

또한, Emacs는 Lisp 언어를 사용하여 사용자가 자신만의 매크로를 작성할 수 있게 해줍니다.

 

pico(Pine Composer)

워싱턴 대학의 Aboil Kasar가 개발한 유닉스 기반의 텍스트 에디터로 pine 이메일 클라이언트 프로그램에 통합되어 배포되었습니다.

pico의 기본 인터페이스는 윈도우의 메모장(Notepad)와 유사하여 매우 단순합니다.

 

nano

pico의 복제 버전입니다.

nano는 pico의 기능 이외에도 마우스 지원, 자동 들여쓰기, 정규 표현식 검색, 구문 강조 등의 기능을 추가로 제공합니다.

nano는 간단하고 사용하기 쉬운 편집기로, 초보자부터 전문가까지 다양한 사용자들이 사용합니다.

편집기는 개발자들이 코드를 작성하고 유지보수할 때 필수적인 도구입니다.

다양한 기능과 편리한 사용성을 제공하는 편집기를 사용하면 개발 작업을 보다 효율적으로 수행할 수 있습니다.

이 중에서도 vi, vim, emacs, pico, nano는 유닉스 및 리눅스 환경에서 가장 많이 사용되는 편집기입니다.

각각의 편집기는 강점이 있으므로, 사용자의 목적에 맞추어 적절한 편집기를 선택하여 사용할 수 있습니다.

 

VI 실행

VI는 다양한 옵션을 사용할 수 있어 명령어를 자유롭게 조합하여 사용할 수 있습니다.

명령어를 사용할 때는 다양한 옵션을 사용할 수 있어 유용합니다.

VI는 매우 강력한 에디터 중 하나입니다. VI를 사용하면 다음과 같은 작업을 수행할 수 있습니다:

파일 전체를 편집할 수 있습니다.

파일을 검색하거나 특정 문자열을 찾을 수 있습니다.

파일을 저장하거나 취소할 수 있습니다.

텍스트를 복사하거나 붙여넣을 수 있습니다.

파일의 내용을 인쇄할 수 있습니다.

VI의 사용법을 익히는 것은 중요합니다. VI를 사용하면 효과적으로 파일을 편집할 수 있으며, 더 많은 작업을 수행할 수 있습니다. 따라서 VI를 배우는 것은 개발자로서 중요한 기술입니다.

 

일반적인 vi 실행 방법

vi 명령어는 리눅스에서 매우 유용합니다.

vi를 이용하여 파일을 열고 수정할 수 있습니다. vi 명령어를 사용하는 방법은 다음과 같습니다.

vi

 

파일명을 입력하여 vi 실행하는 방법

특정 파일을 수정하려면 파일명을 vi 명령어 뒤에 입력합니다.

vi filename

 

vi에서 강제 종료된 파일을 복구하는 방법

vi 편집기에서 강제 종료된 파일을 복구할 수 있습니다.

vi -r filename

 

vi에서 여러 파일을 동시에 편집하는 방법

vi 편집기에서는 다음과 같이 여러 파일을 동시에 열고 편집할 수 있습니다.

vi -L

 

파일의 n번째 라인으로 이동하는 방법

vi 편집기에서 파일의 특정 라인으로 이동하려면 다음과 같이 입력합니다.

vi +38 filename

 

파일에서 "word"라는 단어가 포함된 라인으로 이동하는 방법

vi 편집기에서 특정 단어가 포함된 라인으로 이동하려면 다음과 같이 입력합니다.

vi +/"word" filename

vi 명령어를 사용하는 방법은 이렇게 다양합니다.

이 명령어를 잘 활용하면 리눅스에서 파일을 쉽게 수정할 수 있습니다.

 

vi 편집기 특징

vi는 Unix 환경에서 가장 많이 쓰이는 문서 편집기 중 하나입니다.

처음 vi가 만들어진 것은 1976년으로, 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었습니다.

이름은 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터(visual editor)라는 뜻에서 유래했습니다.

vi는 간결하면서도 강력한 기능으로 열광적인 사용자가 많습니다.

vi는 명령어로 조작하므로 초기에는 다소 어려울 수 있지만 익숙해지면 매우 빠르게 편집할 수 있습니다.

또한, vi는 충분한 확장성을 가지고 있어 사용자의 요구에 따라 다양한 확장 기능을 추가하여 사용할 수 있습니다.

vi(또는 VIM(Visual Editor Improved))을 사용하려면, 시스템에 이 편집기들이 이미 설치되어 있는지 확인하려면 다음 명령어를 입력하세요:

 

ls -l /bin/vi
ls -l /usr/bin/vim

이 명령어의 결과는 편집기의 크기와 해당 시스템에서의 위치를 보여줍니다.

둘 다 설치되어 있다면, 사용할 편집기를 선택할 수 있습니다.

 

만약 VIM을 기본 편집기로 설정하려면, 다음 명령어를 입력하세요:

vi ~/.bashrc (또는 gedit ~/.bashrc)
alias vi='/usr/bin/vim'
. ~/.bashrc

 

VI의 특징

VIM을 기본 편집기로 설정하면, 기능이 개선된 버전을 사용할 수 있어서 더 많은 기능과 성능을 제공합니다.

현재는 오리지널 vi를 사용하는 경우는 거의 없고, 일반적으로 기능을 모방하여 만들어진 클론을 사용하고 있습니다.

이런 클론 중 많이 쓰이는 것은 기능이 다양한 것을 장점으로 내세우며, 리눅스 배포판에 포함되는 Vim, 그리고, BSD 라이선스로 제공되며 원본 vi의 동작과 호환성으로 정평이 나 있는 nvi, 독자적인 팬층을 확보한 elvis 등이 있습니다.

그러나 이러한 클론을 사용할 때에는 원본 vi와의 호환성을 고려해야 합니다.

또한, vi를 사용하는 이유 중 하나는 다양한 명령어를 사용하여 편집할 수 있기 때문입니다.

 

예를 들어, 특정 단어를 찾고자 할 때는 /문자를 입력한 후 찾고자 하는 단어를 입력합니다.

이렇게 입력하면 해당 단어가 있는 곳으로 커서가 이동합니다.

또한, 여러 줄을 삭제하거나 복사하고 싶을 때는 해당 줄의 번호를 입력하여 삭제나 복사를 수행할 수 있습니다.

vi는 매우 강력한 기능을 가지고 있지만, 초기에는 사용이 어려울 수 있습니다.

그러나 익숙해지면 매우 빠르게 편집할 수 있기 때문에, 사용해보는 것을 권장합니다.

 

VI는 Unix 및 Unix 계열 운영 체제에서 사용되는 텍스트 편집기입니다.

VI는 명령 모드, 입력 모드 및 마지막 행 모드의 세 가지 모드를 가지고 있으며, 이러한 모드 간 전환이 가능합니다.

VI 편집기는 버퍼에서 작업하기 때문에, 저장을 시키는 명령어를 입력하지 않으면 디스크상에 파일의 내용이 저장되지 않습니다. (.swp 파일 제외) 이전에 작업한 내용들은 메모리에 저장되어 있으며, 저장을 하기 전까지는 파일에 반영되지 않습니다.

VI 편집기는 초기에 사용하기 어렵지만, 익숙해지면 다른 편집기보다 빠르게 편집 작업을 수행할 수 있습니다.

VI는 매우 강력합니다. 거의 모든 작업에 대해 명령 모드에서 수행할 수 있습니다.

또한 대부분의 명령은 유사한 명령과 함께 사용할 수 있으므로, 명령어 조합을 통해 더 강력한 명령을 만들어낼 수 있습니다.

VI 편집기를 사용하여 파일을 열 때, 파일이 존재하지 않으면 새 파일을 생성합니다.

파일이 이미 존재하면 해당 파일을 엽니다.

VI는 기본적으로 명령 모드에서 시작하며, i를 누르면 입력 모드로 전환됩니다.

입력 모드에서는 일반 문자 입력이 가능합니다.

명령 모드에서는 명령을 입력하여 파일을 편집할 수 있습니다.

VI는 다양한 명령행 옵션을 가지고 있습니다. -R 명령행 옵션은 Readonly 모드로 파일을 열 수 있습니다. 이 모드에서는 파일을 수정할 수 없습니다. -r 명령행 옵션은 이전에 비정상 종료된 파일을 복구할 수 있습니다. -L 명령행 옵션은 비정상 종료된 파일들에 대한 전체 목록을 볼 수 있습니다.

VI 편집기는 처음에는 사용하기 어렵지만, 익숙해지면 편집 작업을 빠르게 수행할 수 있습니다.

VI 편집기 명령어의 종류와 설명입니다.

 

$ vi : 새 파일을 편집할 수 있는 화면이 나옵니다. 여기서 작업을 한 후에는 반드시 파일 이름을 지정하여 저장하여 주어야 합니다. 예) :w filename (최하위 행 모드)

$ vi filename : filename 이름을 가진 파일이 존재하는 경우 해당 파일을 편집하고 filename 이름을 가진 파일이 존재하지 않는 경우 새 파일을 편집할 수 있는 화면 상태가 됩니다.

$ vi -R filename : Readonly, 파일을 Readonly 상태로 열어줍니다. 중요한 파일, 여러 사람이 동시에 수정 가능한 파일을 다룰 때 편리하게 사용될 수 있습니다. view 명령어와 동일한 기능을 수행할 수 있습니다.

$ view filename : $ vi -R filename과 같습니다.

$ vi -r filename : Recovery, 이전 vi 편집 작업 중 비정상적으로 작업이 끝난 경우 편집하던 파일 복구 시에 사용됩니다. 이 경우 사용자의 메일로 복구할 파일에 대한 정보가 오게 됩니다.

$ vi -L : 이전 vi 편집 작업 중 비정상적으로 작업이 끝난 경우 복구할 파일들에 대한 전체적인 목록을 볼 수 있습니다.

$ vi +38 filename : 38번째 라인부터 시작하는 파일을 엽니다.

$ vi -c 38 filename : 위와 같습니다.

$ vi +/"school" filename : "school" 단어가 있는 라인부터 시작하는 파일을 엽니다.

 

# vi -L/* fedora 사용자가 작업중 파일이 비정상 종료 (작업중 shutdown) */
Swap files found:
   In current directory:
      -- none --
   In directory ~/tmp:
      -- none --
   In directory /var/tmp:
1.    file1.swp
          owned by: fedora   dated: Thu Feb 11 09:47:26 2010
         file name: /test/file1
          modified: YES
         user name: fedora   host name: linux200
        process ID: 24710
   In directory /tmp:
      -- none --
# ls -l /var/tmp/* 비 정상 종료된 파일의 목록이 보임 */
total 12
-rw------- 1 fedora fedora 12288 Feb 11 09:47 file1.swp
# vi -r /var/tmp/file1.swp
linux
# vi +/"fedora" /etc/passwd
# vi +30 /etc/passwd
# cat > /test/file1
Linux
Vi Editor
<Ctrl + D>
# su - fedora/* 사용자 전환 */
$ vi –R /test/file1/*
Linux
Vi Editor
[본인 이름 입력]
:wq!                     /* 저장 안됨 q! 로 빠져나옴 */

# vi -L: 이 명령은 파일이 예기치 않게 닫혔거나 시스템이 작업 중에 종료되어 생성된 스왑 파일을 확인하는 데 사용됩니다. 스왑 파일은 파일을 편집할 때 Vim에 의해 생성되는 일시적인 파일입니다. 파일의 내용의 사본을 포함하며 파일이 예기치 않게 닫힐 경우 파일의 변경 사항을 복구 할 수 있습니다.

스왑 파일이 발견되면 스왑 파일이 저장된 디렉토리로 이동하여 작업을 복구 할 수 있습니다. vi -L 명령의 출력은 스왑 파일과 해당 파일의 정보, 즉 파일 이름, 수정 상태, 사용자 이름, 프로세스 ID 및 마지막으로 수정된 날짜를 표시합니다.

# ls -l /var/tmp/*: 이 명령은 예기치 않게 닫힌 파일 목록을 표시하는 데 사용됩니다. 출력에서 파일 이름, 크기, 소유자, 그룹, 권한 및 마지막으로 수정된 날짜를 볼 수 있습니다.

# vi -r /var/tmp/file1.swp: 이 명령은 예기치 않게 닫힌 파일을 복구하는 데 사용됩니다. r 옵션으로 스왑 파일을 열면 Vim은 원래 파일에 대한 변경 사항을 복구하기 위해 노력합니다. 복구가 성공하면 Vim은 복구된 파일을 편집하기 위해 엽니다.

# vi +/"fedora" /etc/passwd: 이 명령은 /etc/passwd 파일을 열고 "fedora"라는 단어를 검색하는 데 사용됩니다. 검색 문자열 뒤에 따라오는 + 기호는 Vim이 파일의 첫 번째 줄부터 검색을 시작하도록 지시합니다.

# vi +30 /etc/passwd: 이 명령은 /etc/passwd 파일을 열고 30번째 줄에서 시작합니다. 줄 번호 뒤에 따라오는 + 기호는 Vim이 해당 줄에서 파일을 편집하도록 지시합니다.

# cat > /test/file1: 이 명령은 새 파일을 만들거나 기존 파일을 수정하는 데 사용됩니다. > 기호는 쉘에게 지정된 파일로 cat 명령의 출력을 리디렉션하도록 지시합니다. 내용을 입력한 후 Ctrl + D를 눌러 저장하고 종료합니다.

# su - fedora: 이 명령은 사용자 'fedora'로 전환하는 데 사용됩니다. `` 옵션은 새 사용자를 위해 로그인 셸을 생성하도록 쉘에 지시합니다.

$ vi -R /test/file1/*: 이 명령은 파일을 읽기 전용 모드로 엽니다. R 옵션은 파일을 읽기 전용 모드로 열도록 Vim에 지시합니다. 이 모드에서는 파일의 내용을 볼 수 있지만 수정할 수는 없습니다.

 

작업을 마치면 :wq! 명령을 사용하여 저장하고 종료합니다. 이 명령은 파일이 읽기 전용이거나 권한 문제가 있어도 쓰기 작업을 강제로 수행하도록 Vim에 지시합니다.

 

이 문서는 테스트를 위한 기본 단계를 설명합니다:

먼저, "cd /test"를 입력하여 명령줄에서 테스트가 진행될 디렉토리로 이동합니다.

올바른 디렉토리에 도착하면 "filename"이라는 새 파일을 만들어 테스트의 기초로 사용합니다.

 

이러한 기본 구조를 만들면 보다 철저하고 효과적인 테스트를 수행할 수 있습니다. 또한, 다양한 구성 요소를 신중하게 고려하고 계획하는 시간을 갖는 것은 테스트의 성공을 보장하는 데 도움이 됩니다. 다양한 접근 방식과 전략을 실험하여 자신과 자신의 특정 요구에 가장 적합한 것을 찾는 것이 좋습니다. 행운을 빕니다!

반응형