Vim에서 문자를 개행 문자로 바꾸는 방법

2024-07-27

치환 명령 사용:

:%s/문자/\\n/g
  • : 명령 모드 진입
  • %s/.../.../g 명령: 전체 파일에서 문자열을 치환
    • /문자/: 바꿀 문자
    • \\n: 개행 문자 (Vim에서 \n은 엔터를 의미)
    • /g: 모든 일치 항목을 바꿈
  • Enter 키: 명령 실행

예시:

안녕하세요. 반갑습니다. 만나서 기쁩니다.

:%s/./\\n/g

위 예시에서는 파일의 모든 마침표를 개행 문자로 바꿉니다. 결과는 다음과 같습니다.

안녕하세요

반갑습니다

만나서 기쁩니다

정규 표현식 사용:

\n 대신 정규 표현식을 사용하여 개행 문자를 나타낼 수도 있습니다. 예를 들어, 다음과 같은 명령은 탭 문자를 개행 문자로 바꿉니다.

:%s/\t/\\n/g

매크로 사용:

반복적으로 같은 작업을 수행해야 하는 경우 매크로를 사용하는 것이 더 효율적일 수 있습니다. 다음은 탭 문자를 개행 문자로 바꾸는 매크로 예시입니다.

qq
:%s/\t/\\n/g
wq
  • qq: 녹화 모드 시작
  • :%s/.../.../g: 위의 치환 명령 실행
  • wq: 작성 및 종료

주의:

  • 위의 명령은 파일 전체에 영향을 미칩니다. 특정 행 또는 영역만 변경하려면 명령에 범위를 지정해야 합니다.
  • \n은 Vim에서 개행 문자를 나타내는 특수 문자입니다. 다른 프로그램에서는 다른 문자가 개행 문자를 나타낼 수 있습니다.



예제 코드

특정 문자를 개행 문자로 바꾸기:

:%s/a/\n/g
  • 이 명령은 파일 전체에서 모든 "a" 문자를 개행 문자로 바꿉니다.
:%s/\t/\n/g
:%s/  /\n/g
10,20s/./\n/g
  • 이 명령은 10번째 행부터 20번째 행까지의 모든 문자를 개행 문자로 바꿉니다.
v
:%s/./\n/g
  • v 키: 시각 모드 진입
  • 마우스 또는 커서 키를 사용하여 변경하려는 텍스트 영역 선택
  • :%s/./\n/g: 선택 영역의 모든 문자를 개행 문자로 바꿈
qq
:%s/\t/\n/g
wq
  • :%s/\t/\n/g: 탭 문자를 개행 문자로 바꿈
  • 위의 예제는 Vim에서 문자를 개행 문자로 바꾸는 방법을 보여주는 몇 가지 방법일 뿐입니다. 사용자의 특정 요구 사항에 따라 다양한 방법을 조합하거나 수정할 수 있습니다.



Vim에서 문자를 개행 문자로 바꾸는 대체 방법

filter 명령 사용:

:filter \r
  • :filter 명령: 입력된 텍스트를 처리하는 명령 실행
  • \r: 개행 문자 (Windows에서 사용됨)
:tr '\r' '\n'
  • :tr: 문자열 변환 명령 실행
  • '\n': 바꿀 문자 (Unix/Linux에서 사용됨)

sed 명령 사용:

:%!sed -e 's/\r/\n/g'
  • :%!: Vim 외부 프로그램 실행
  • sed: 스트림 편집기 (Stream editor)
  • -e 's/\r/\n/g': \r 문자를 \n 문자로 바꾸는 sed 명령

이 명령은 현재 버퍼의 모든 \r 문자를 \n 문자로 바꾸고, 변경된 내용을 Vim 버퍼에 다시 로드합니다.

Python 스크립트 사용:

#!/usr/bin/python

import re

def convert_to_newline(text):
  return re.sub(r'\r', '\n', text)

with open('myfile.txt', 'r') as f:
  text = f.read()

converted_text = convert_to_newline(text)

with open('myfile.txt', 'w') as f:
  f.write(converted_text)
  • 위 스크립트는 myfile.txt 파일에서 모든 \r 문자를 \n 문자로 바꿉니다.
  • 사용자는 스크립트 이름과 파일 경로를 변경해야 합니다.
  • 위의 대체 방법은 특정 상황에서 더 유용할 수 있지만, 기본적인 치환 명령만큼 간단하지 않을 수 있습니다.
  • filter, tr, sed 및 Python 스크립트는 시스템에 설치되어 있어야 합니다.

vim replace escaping

vim replace escaping

Vim으로 여러 파일을 효과적으로 작업하는 방법

1. 여러 파일 열기:vim 명령 뒤에 공백으로 구분된 파일 이름 목록을 지정하여 여러 파일을 동시에 열 수 있습니다. 예를 들어, vim file1. txt file2. txt file3. txt와 같이 입력하면 세 개의 파일을 동시에 열 수 있습니다