리눅스 텍스트 편집

LinuxBeginner
지금 연습하기

소개

텍스트 편집은 리눅스 시스템을 사용하는 모든 사람에게 기본적인 기술입니다. 시스템 관리자, 개발자 및 파워 유저는 구성 파일, 스크립트, 로그 및 문서를 위해 텍스트 파일을 생성, 수정 및 관리해야 하는 경우가 많습니다.

리눅스에서 사용할 수 있는 다양한 텍스트 편집기 중에서 Vim 은 가장 강력하고 널리 사용되는 편집기 중 하나로 돋보입니다. 다른 텍스트 편집기에 비해 학습 곡선이 가파르지만, Vim 을 숙달하면 리눅스에서 텍스트 파일을 작업할 때 생산성을 크게 향상시킬 수 있습니다.

이 랩에서는 리눅스에서 효율적인 텍스트 편집을 위한 필수적인 Vim 명령어와 기술을 배우게 됩니다. 기본적인 탐색 및 편집 작업부터 시작하여 더 고급 기능으로 진행할 것입니다. 이 랩을 마치면 일반적인 텍스트 편집 작업에 Vim 을 사용하는 실질적인 경험을 얻게 될 것입니다.

Vim 에서 파일 열고 닫기

이 단계에서는 Vim 을 사용하여 파일을 열고 닫는 방법을 배우게 됩니다. Vim 은 거의 모든 리눅스 시스템에서 사용할 수 있는 강력한 텍스트 편집기입니다. 처음에는 복잡해 보일 수 있지만, 몇 가지 기본 명령어를 배우면 이 필수 도구에 익숙해질 수 있습니다.

Vim 으로 파일 열기

실습 파일을 위한 새 디렉토리를 만들어 보겠습니다. 이미 설정되어 있는 ~/project 디렉토리에서 작업합니다.

먼저, touch 명령어를 사용하여 간단한 텍스트 파일을 만들어 보겠습니다.

touch ~/project/notes.txt

이 명령어는 프로젝트 디렉토리에 notes.txt라는 빈 파일을 생성합니다.

이제 Vim 으로 이 파일을 열어보겠습니다.

vim ~/project/notes.txt

이 명령어를 실행하면 Vim 편집기가 있는 새 화면이 표시됩니다. 화면 왼쪽에는 물결표 (~) 가 표시될 수 있습니다. 이는 파일의 일부가 아닌 줄 (빈 공간) 을 나타냅니다.

Vim 모드 이해

Vim 의 핵심 개념 중 하나는 서로 다른 모드를 가지고 있다는 것입니다.

  1. Normal mode (일반 모드): Vim 을 시작할 때의 기본 모드입니다. 이 모드에서는 키 입력이 명령어로 해석됩니다.
  2. Insert mode (삽입 모드): 파일에 텍스트를 입력하는 모드입니다.
  3. Command mode (명령 모드): 일반 모드에서 :를 입력하여 액세스하며, 명령을 실행할 수 있습니다.

Vim 종료

편집을 시작하기 전에 Vim 을 종료하는 방법을 배우겠습니다.

  1. Esc 키를 눌러 일반 모드에 있는지 확인합니다.
  2. :q를 입력하고 Enter를 눌러 종료합니다.

파일을 변경하고 종료하려고 하면 Vim 은 저장하지 않고 종료하는 것을 방지합니다. 다음을 수행할 수 있습니다.

  • :q!를 입력하고 Enter를 눌러 변경 사항을 저장하지 않고 종료합니다.
  • :wq를 입력하고 Enter를 눌러 변경 사항을 저장하고 종료합니다.
  • :w를 입력하고 Enter를 눌러 저장하고 종료하지 않습니다.

파일을 다시 열어 연습해 보겠습니다.

vim ~/project/notes.txt

Esc를 눌러 일반 모드에 있는지 확인한 다음 :q를 입력하고 Enter를 눌러 Vim 을 종료합니다.

Vim 에서 내용 생성

이제 파일을 다시 열고 내용을 추가해 보겠습니다.

vim ~/project/notes.txt

텍스트 입력을 시작하려면:

  1. i를 눌러 삽입 모드로 들어갑니다. 화면 하단에 "-- INSERT --"가 표시됩니다.
  2. 다음 텍스트를 입력합니다.
## My Linux Notes
- Vim is a powerful text editor
- Learning Vim improves productivity
- Vim has multiple modes for different tasks
  1. Esc를 눌러 일반 모드로 돌아갑니다.
  2. :wq를 입력하고 Enter를 눌러 저장하고 종료합니다.

다음 명령어로 파일의 내용을 확인할 수 있습니다.

cat ~/project/notes.txt

터미널에 입력한 텍스트가 표시됩니다.

축하합니다! Vim 으로 파일을 열고, 편집하고, 닫는 기본 사항을 배웠습니다.

Vim 기본 탐색

이 단계에서는 Vim 에서 텍스트 파일을 탐색하는 방법을 배우게 됩니다. 효율적인 탐색은 파일을 빠르고 정확하게 편집하는 데 필수적입니다.

커서 이동 키

Vim 의 일반 모드에서는 다음 키를 사용하여 커서를 이동할 수 있습니다.

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

이 키들은 손이 표준 타이핑 위치에 있을 때 손가락 아래에 위치하기 때문에 "홈 로우" 탐색 키라고 합니다.

탐색을 연습해 보겠습니다. 먼저 여러 줄이 있는 새 파일을 만듭니다.

vim ~/project/practice.txt

i를 눌러 삽입 모드로 들어가 다음 텍스트를 입력합니다.

Line 1: This is the first line of our practice file.
Line 2: We will use this file to practice navigation.
Line 3: Vim provides efficient ways to move around text.
Line 4: With practice, navigation becomes intuitive.
Line 5: The last line of our practice file.

Esc를 눌러 일반 모드로 돌아갑니다.

이제 파일 주위를 이동하는 연습을 합니다.

  1. j를 사용하여 줄 단위로 아래로 이동합니다.
  2. k를 사용하여 줄 단위로 위로 이동합니다.
  3. h를 사용하여 문자 단위로 왼쪽으로 이동합니다.
  4. l을 사용하여 문자 단위로 오른쪽으로 이동합니다.

단어 탐색

더 빠른 탐색을 위해 Vim 은 단어 단위로 이동하는 바로 가기를 제공합니다.

  • w - 다음 단어의 시작 부분으로 이동
  • e - 현재 단어의 끝 부분으로 이동
  • b - 이전 단어의 시작 부분으로 이동

일반 모드에서 이러한 명령을 시도하여 입력한 텍스트를 탐색합니다.

줄 탐색

줄 내의 특정 위치로 이동하려면:

  • 0 - 현재 줄의 시작 부분으로 이동
  • $ - 현재 줄의 끝 부분으로 이동
  • ^ - 줄의 첫 번째 공백이 아닌 문자로 이동

파일 탐색

파일의 더 큰 부분으로 탐색하려면:

  • gg - 파일의 시작 부분으로 이동
  • G - 파일의 끝 부분으로 이동
  • :n - n 번째 줄로 이동 (n 을 숫자로 바꿉니다. 예를 들어, :3은 3 번째 줄로 이동합니다.)

파일에서 이러한 탐색 명령을 연습합니다. 예를 들어:

  1. gg를 눌러 파일의 시작 부분으로 이동합니다.
  2. G를 눌러 파일의 끝 부분으로 이동합니다.
  3. :3을 입력하고 Enter를 눌러 3 번째 줄로 이동합니다.

연습을 마치면 파일을 저장합니다.

  1. Esc를 눌러 일반 모드에 있는지 확인합니다.
  2. :wq를 입력하고 Enter를 눌러 저장하고 종료합니다.

연습 파일의 내용을 확인해 보겠습니다.

cat ~/project/practice.txt

출력에는 파일에 입력한 텍스트가 표시됩니다.

구성 파일 만들기

이제 배운 내용을 적용하여 간단한 구성 파일을 만들어 보겠습니다. 구성 파일은 리눅스 시스템에서 일반적이며, 이를 편집하는 방법을 아는 것은 중요한 기술입니다.

vim ~/project/config.ini

i로 삽입 모드로 들어가 다음 내용을 입력합니다.

[Settings]
UserName=admin
Password=secure123
Port=8080
Debug=true

배운 탐색 명령을 사용하여 파일 주위를 이동하고 모든 것이 올바른지 확인합니다.

만족스러우면 파일을 저장하고 종료합니다.

  1. Esc를 눌러 일반 모드로 돌아갑니다.
  2. :wq를 입력하고 Enter를 누릅니다.

다음 명령으로 내용을 확인할 수 있습니다.

cat ~/project/config.ini

터미널에 구성 파일 내용이 표시됩니다.

잘하셨습니다! 이제 Vim 에서 기본 탐색을 배우고 연습하여 편집을 더욱 효율적으로 만들 수 있습니다.

Vim 텍스트 편집

이 단계에서는 Vim 에서 텍스트를 효과적으로 편집하는 방법을 배우게 됩니다. 텍스트 삽입, 삭제 및 변경을 다룰 것이며, 이는 자주 사용하게 될 작업입니다.

텍스트 삽입

Vim 은 삽입 모드로 들어가는 여러 가지 방법을 제공합니다.

  • i - 커서 앞에 텍스트 삽입
  • a - 커서 뒤에 텍스트 추가
  • I - 줄의 시작 부분에 텍스트 삽입
  • A - 줄의 끝 부분에 텍스트 추가
  • o - 현재 줄 아래에 새 줄 열기
  • O - 현재 줄 위에 새 줄 열기

이러한 명령을 연습해 보겠습니다. 새 파일을 만듭니다.

vim ~/project/edit_practice.txt

이제 다음을 시도해 보세요.

  1. i를 누르고 "This is some text. "를 입력합니다.
  2. Esc를 눌러 일반 모드로 돌아갑니다.
  3. a를 누르고 "I am appending after the cursor."를 입력합니다.
  4. Esc를 눌러 일반 모드로 돌아갑니다.
  5. o를 눌러 아래에 새 줄을 열고 "This is a new line below."를 입력합니다.
  6. Esc를 누릅니다.
  7. O를 눌러 위에 새 줄을 열고 "This is a new line above."를 입력합니다.
  8. Esc를 누릅니다.

텍스트 삭제

일반 모드에서는 다음 명령을 사용하여 텍스트를 삭제할 수 있습니다.

  • x - 커서 아래의 문자 삭제
  • dd - 현재 줄 전체 삭제
  • dw - 커서에서 단어의 끝까지 삭제
  • d$ 또는 D - 커서에서 줄의 끝까지 삭제
  • d0 - 커서에서 줄의 시작 부분까지 삭제

삭제를 연습해 보겠습니다. 파일에서 다음을 시도해 보세요.

  1. 커서를 문자에 놓고 x를 눌러 삭제합니다.
  2. 커서를 줄의 시작 부분에 놓고 dd를 눌러 전체 줄을 삭제합니다.
  3. 커서를 단어의 시작 부분에 놓고 dw를 눌러 단어를 삭제합니다.

텍스트 변경

Vim 은 또한 텍스트를 삭제하고 한 단계로 삽입 모드로 들어가는 명령을 제공합니다.

  • cw - 커서에서 단어의 끝까지 변경
  • c$ 또는 C - 커서에서 줄의 끝까지 변경
  • cc - 전체 줄 변경

텍스트 변경을 시도해 보세요.

  1. 커서를 단어의 시작 부분에 놓습니다.
  2. cw를 누릅니다.
  3. 새 단어를 입력합니다.
  4. Esc를 누릅니다.

변경 사항 실행 취소 및 다시 실행

실수를 하셨나요? Vim 을 사용하면 변경 사항을 실행 취소하고 다시 실행할 수 있습니다.

  • u - 마지막 변경 사항 실행 취소
  • Ctrl+r - 마지막 실행 취소된 변경 사항 다시 실행

몇 가지 변경 사항을 만들고 실행 취소 및 다시 실행해 보세요.

텍스트 복사 및 붙여넣기

Vim 은 복사에 "yank"를, 붙여넣기에 "put"이라는 용어를 사용합니다.

  • yy - 현재 줄을 yank(복사)
  • yw - 커서에서 단어의 끝까지 yank
  • p - 커서 뒤에 put(붙여넣기)
  • P - 커서 앞에 put(붙여넣기)

복사 및 붙여넣기를 연습해 보겠습니다.

  1. 커서를 줄의 시작 부분에 놓습니다.
  2. yy를 눌러 전체 줄을 복사합니다.
  3. 커서를 다른 위치로 이동합니다.
  4. p를 눌러 복사된 줄을 붙여넣습니다.

실용적인 예시 만들기

이제 배운 내용을 적용하여 간단한 쉘 스크립트를 만들어 보겠습니다.

vim ~/project/hello.sh

i로 삽입 모드로 들어가 다음을 입력합니다.

#!/bin/bash

## A simple hello world script
echo "Hello, World!"
echo "Today is $(date)"
echo "Welcome to Linux text editing with Vim"

배운 편집 명령을 사용하여 필요한 경우 스크립트를 수정합니다.

만족스러우면 파일을 저장하고 종료합니다.

  1. Esc를 눌러 일반 모드로 돌아갑니다.
  2. :wq를 입력하고 Enter를 누릅니다.

스크립트를 실행 가능하게 만들고 실행해 보겠습니다.

chmod +x ~/project/hello.sh
~/project/hello.sh

터미널에서 쉘 스크립트의 출력을 볼 수 있으며, 인사말과 현재 날짜가 표시됩니다.

축하합니다! 이제 Vim 에서 필수적인 텍스트 편집 명령을 알고 있으며, 이를 통해 파일을 더욱 효율적으로 편집할 수 있습니다.

Vim 고급 기능

이 마지막 단계에서는 생산성을 크게 향상시킬 수 있는 Vim 의 몇 가지 고급 기능을 배우게 됩니다. 여기에는 텍스트 검색, 바꾸기 및 여러 파일 작업이 포함됩니다.

텍스트 검색

Vim 에서 텍스트를 검색하려면:

  1. 일반 모드에서 /를 누릅니다.
  2. 검색어를 입력합니다.
  3. Enter를 눌러 검색을 시작합니다.
  4. n을 눌러 다음 일치 항목을 찾습니다.
  5. N을 눌러 이전 일치 항목을 찾습니다.

검색을 연습할 파일을 만들어 보겠습니다.

vim ~/project/search_example.txt

i로 삽입 모드로 들어가 다음 텍스트를 입력합니다.

Linux is a family of open-source Unix-like operating systems.
The Linux kernel was first released by Linus Torvalds.
Linux is widely used in servers, desktops, and embedded systems.
Linux distributions include Ubuntu, Fedora, and CentOS.
Many server environments run on Linux due to its stability.

이제 검색을 연습합니다.

  1. Esc를 눌러 일반 모드에 있는지 확인합니다.
  2. /Linux를 입력하고 Enter를 누릅니다.
  3. n을 눌러 "Linux"의 다음 일치 항목으로 이동합니다.
  4. N을 눌러 이전 일치 항목으로 이동합니다.

찾기 및 바꾸기

Vim 을 사용하면 substitute 명령을 사용하여 텍스트를 바꿀 수 있습니다.

  1. 현재 줄에서 패턴의 첫 번째 일치 항목을 바꾸려면: :s/old/new/
  2. 현재 줄의 모든 일치 항목을 바꾸려면: :s/old/new/g
  3. 전체 파일의 모든 일치 항목을 바꾸려면: :%s/old/new/g
  4. 확인과 함께 바꾸려면: :%s/old/new/gc

대체를 시도해 보겠습니다.

  1. Esc를 눌러 일반 모드에 있는지 확인합니다.
  2. :%s/Linux/GNU\/Linux/g를 입력하고 Enter를 누릅니다.
    • 이렇게 하면 파일 전체에서 "Linux"의 모든 일치 항목이 "GNU/Linux"로 바뀝니다.

파일을 스크롤하여 대체가 이루어졌는지 확인합니다.

파일을 저장하고 종료합니다.

  1. :wq를 입력하고 Enter를 누릅니다.

시각 모드

Vim 의 시각 모드를 사용하면 작업을 수행하기 전에 텍스트를 선택할 수 있습니다.

  • v - 문자 단위 시각 선택 시작
  • V - 줄 단위 시각 선택 시작
  • Ctrl+v - 블록 단위 시각 선택 시작 (열 선택)

시각 모드를 연습할 새 파일을 만들어 보겠습니다.

vim ~/project/visual_example.txt

i로 삽입 모드로 들어가 다음을 입력합니다.

Line 1: This is the first line for practicing visual mode.
Line 2: We can select parts of this text.
Line 3: Visual mode is very powerful.
Line 4: It allows for precise text manipulation.
Line 5: This is the last line of our example.

Esc를 눌러 일반 모드로 돌아갑니다.

이제 이러한 시각 모드 작업을 시도해 보세요.

  1. 커서를 "Line 2"의 시작 부분으로 이동합니다.
  2. V를 눌러 줄 단위 시각 선택을 시작합니다.
  3. j를 눌러 선택 영역을 "Line 3"을 포함하도록 확장합니다.
  4. d를 눌러 선택한 줄을 삭제합니다.

Line 2 와 3 이 삭제된 것을 볼 수 있습니다.

여러 파일 작업

단일 Vim 세션에서 여러 파일을 편집할 수 있습니다.

  • 여러 파일을 한 번에 열려면: vim file1.txt file2.txt
  • 다음 버퍼로 전환하려면: :bn
  • 이전 버퍼로 전환하려면: :bp
  • 모든 버퍼를 나열하려면: :ls
  • 특정 버퍼로 전환하려면: :b number 또는 :b name

여러 파일을 만들고 작업해 보겠습니다.

vim ~/project/file1.txt ~/project/file2.txt

첫 번째 파일에서 i로 삽입 모드로 들어가 다음을 입력합니다.

This is the content of file1.txt.
We're practicing working with multiple files in Vim.

Vim 을 종료하지 않고 이 파일을 저장합니다.

  1. Esc를 눌러 일반 모드에 있는지 확인합니다.
  2. :w를 입력하고 Enter를 누릅니다.

이제 두 번째 파일로 전환합니다.

  1. :bn을 입력하고 Enter를 누릅니다.

i로 삽입 모드로 들어가 다음을 입력합니다.

This is the content of file2.txt.
Switching between files in Vim is efficient.

이 파일을 저장하고 Vim 을 종료합니다.

  1. Esc를 눌러 일반 모드에 있는지 확인합니다.
  2. :wq를 입력하고 Enter를 누릅니다.

주석이 있는 구성 파일 만들기

배운 고급 기능을 적용하여 더 복잡한 구성 파일을 만들어 보겠습니다.

vim ~/project/advanced_config.conf

i로 삽입 모드로 들어가 다음을 입력합니다.

## Server Configuration
## Last updated: 2023-10-20

[Database]
Host=localhost
Port=5432
User=dbuser
Password=secret
Database=myapp

[Web]
Host=0.0.0.0
Port=8080
Debug=true
LogLevel=info

[Security]
EnableSSL=true
SSLCert=/etc/ssl/certs/mycert.pem
SSLKey=/etc/ssl/private/mykey.pem
AllowedIPs=127.0.0.1,192.168.1.0/24

이제 몇 가지 고급 편집을 연습합니다.

  1. /localhost를 사용하여 "localhost"를 검색합니다.
  2. :s/secret/db_password/를 사용하여 "secret"를 "db_password"로 바꿉니다.
  3. 시각 모드를 사용하여 "AllowedIPs" 줄을 선택하고 삭제합니다.
  4. o를 사용하여 새 줄에 삽입 모드로 들어가 마지막에 새 섹션을 추가합니다.
[Monitoring]
Enabled=true
Interval=60
AlertEmail=admin@example.com

파일을 저장하고 종료합니다.

  1. Esc를 눌러 일반 모드에 있는지 확인합니다.
  2. :wq를 입력하고 Enter를 누릅니다.

구성 파일의 내용을 확인합니다.

cat ~/project/advanced_config.conf

훌륭합니다! 이제 Linux 에서 텍스트를 편집할 때 생산성을 높이는 데 도움이 되는 Vim 의 고급 기능을 배우고 연습했습니다.

요약

이 랩에서는 Linux 에서 Vim 을 사용하여 텍스트 편집의 기본적인 기술을 습득했습니다. 기본 사항부터 시작하여 Linux 환경에서 텍스트 파일을 작업할 때 효율성을 높이는 점점 더 발전된 작업들을 진행했습니다.

다음은 학습한 내용의 요약입니다.

  1. 기본 Vim 작업:

    • 파일 열기 및 닫기
    • Vim 의 다양한 모드 이해
    • 텍스트 파일 생성 및 저장
  2. Vim 내 탐색:

    • 키보드 단축키를 사용하여 텍스트 이동
    • 문자, 단어, 줄 및 페이지별 탐색
    • 파일의 특정 위치로 이동
  3. 텍스트 편집:

    • 텍스트 삽입 및 삭제
    • 복사, 잘라내기 및 붙여넣기
    • 변경 사항 실행 취소 및 다시 실행
    • 스크립트 및 구성과 같은 실용적인 파일 생성 및 편집
  4. 고급 기능:

    • 텍스트 검색
    • 찾기 및 바꾸기 작업
    • 텍스트 선택을 위한 시각 모드 사용
    • 단일 Vim 세션에서 여러 파일 작업

이러한 기술은 서버 관리, 소프트웨어 개발 또는 단순히 텍스트 파일을 효율적으로 생성하고 편집해야 하는 모든 Linux 사용자에게 필수적입니다. Vim 의 강력함은 속도와 다재다능함에 있습니다. 명령에 능숙해지면 대부분의 그래픽 편집기보다 빠르게 텍스트를 편집할 수 있습니다.

Vim 명령에 대한 근육 기억을 구축하는 데 시간이 걸리지만, 투자는 생산성 향상으로 보상받습니다. 이러한 기술을 계속 연습하고, 편집기에 더 익숙해지면 더 발전된 Vim 기능을 배우는 것을 고려하십시오.

관심 있는 명령이나 주제를 입력한 다음 :help를 입력하여 항상 Vim 의 내장 도움말에 액세스할 수 있습니다. 이 광범위한 문서는 Vim 의 기능을 계속 탐색하는 데 훌륭한 리소스입니다.