VIM에서 문서가 한줄로 붙어 나옵니다

feedseaotter의 이미지

우분투 7.10을 사용하고 있습니다
다른 에디터로 보면 멀쩡한데 터미널에서 vi로 보니 저렇게 한줄로 붙어 나오네요
말로만 듣던 개행문자 관련 문제인 것 같은데 어떻게 하면 하면 제대로 볼 수 있을까요?
파일이 여러개 있는데 일괄로 처리하는 방법을 알고 싶습니다

File attachments: 
첨부파일 크기
Image icon vim.png88.68 KB
ktd2004의 이미지

아마 다음과 같은 방식으로 ^M 문자를 정상적인 개행문자로 바꾸어주면 될 것 같습니다.

:%s/^M/\r\n/g

^M은 아마 "Ctrl+V, Ctrl+M"으로 입력해야할 것 같네요..
feedseaotter의 이미지

답변 감사드립니다
해보니 개행은 제대로 되는데 앞에 ^@ 란 문자가 생겨서 좀 더 알아보니

:%s/\r/\r/g

이렇게 해야 정상적으로 나오네요
이제 이걸 여러 파일에 일괄적으로 적용시키는걸 연구해봐야겠습니다

bootmeta의 이미지

유닉스 파일에서 새로운 줄로 변경시 사용하는 문자는 lf(line feed)입니다.
도스나 윈도우즈인 경우는 lf(line feed )와 cr(carrage return)를 같이 사용합니다.
맥에서는 cr만 사용합니다.

그래서 처음 보여주신 html 파일에서 ^M을 보여준 이유입니다.

여러 파일에 적용하시려면 dos2unix( 역인 경우 unix2dos ) 명령을 사용하면 됩니다. - 물론 unix 환경인 경우

호환성을 고려한다면 dos 텍스트 파일보다 unix 텍스트 파일 포맷으로 저장하시는 것을 추천합니다.

최근 ultra editor 같은 윈도우즈용 문서 편집기들 같은 경우 파일 포맷 설정을 사용자가 설정 가능합니다.

참고로 vim에서 파일 포맷을 정하려면
:set ff=unix 나
:set ff=dos 을 사용후 :w 하는 방법도 있습니다.

feedseaotter의 이미지

제가 dos2unix는 사용해봤는데 적용하면 파일 제일 끝의 ^M 만 없어지고 한줄로 나오는건 변함이 없더라고요
set ff=unix 역시 마찬가지고요

ktd2004의 이미지

제가 정리해놓은게 있네요.
여러 파일에 대해 어떤 동작을 수행하도록 하는 겁니다.
참고하시면 될 것 같습니다.

* 모든 파일에 대해서 라인 뒤쪽의 공백 제거하기

# find . -type f -name "*.c" -o -name "*.h" -exec vi -e -c ":%s/\s\+$//g" -c ":wq" {} \;

feedseaotter의 이미지

감사합니다
제시해주신 방법으로 쉽게 해결할 수 있었습니다 :)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.