Vim에서 문자를 개행으로 바꾸는 방법
현재 파일에서 각 ,
을 새 줄로 바꾸려고 합니다:
:%s/,/\n/g
하지만 실제 줄 바꿈 대신 ^@
처럼 보이는 것을 삽입합니다. 파일이 DOS 모드 등에 있지 않습니다.
어떻게 해야 하나요?
저처럼 궁금한 점이 있으시다면 Vim에 왜 \r이 개행인가요? 질문도 확인해 보세요.
1859
11
현재 파일에서 각 ,
을 새 줄로 바꾸려고 합니다:
:%s/,/\n/g
하지만 실제 줄 바꿈 대신 ^@
처럼 보이는 것을 삽입합니다. 파일이 DOS 모드 등에 있지 않습니다.
어떻게 해야 하나요?
저처럼 궁금한 점이 있으시다면 Vim에 왜 \r이 개행인가요? 질문도 확인해 보세요.
n
대신
\r`을 사용합니다.n
으로 대체하면 텍스트에 널 문자가 삽입됩니다. 줄바꿈을 얻으려면
\r을 사용합니다. 그러나 줄바꿈을 *검색*할 때는 여전히
\n을 사용합니다. 이러한 비대칭성은
\n과
\r`이 약간 다른 일을 하기 때문 때문입니다:n
은 줄 끝(줄 바꿈)과 일치하는 반면
\r은 캐리지 리턴과 일치합니다. 반면, 치환에서
\n은 널 문자를 삽입하는 반면
\r`은 줄 바꿈을 삽입합니다(더 정확하게는 입력 로 처리됩니다). 다음은 Vim 명령줄 기능을 사용하여 이를 설명하는 작은 비대화형 예제입니다(즉, 다음을 복사하여 터미널에 붙여넣어 실행할 수 있습니다). 'xxxd'는 결과 파일의 헥스 덤프를 보여줍니다.즉,
\n
은 텍스트에 바이트 0x00을 삽입했고,\r
은 바이트 0x0a를 삽입했습니다.39 의 here&, 또 어떤가.
첫째, vi (m) 를 설정할 수 있는 특수 문자 패턴 매칭 세션 (예: 줄 바꿈). 아마도 이 줄이 실비마르크 에 달하는 it& # 39 의 파일 또는 이레스크 있다.
다음으로, 해야 할 것:
, ^ M '문자' 를 내려받습니다 mm_mail_doc. < kbd> Control< /kbd> kbd> v< /kbd>;;; - <. < kbd> Enter< /kbd> 및 히트,,. Windows 에서 kbd>;;;;;; - < 못하며창조된 < Control< /kbd> kbd> q< /kbd>;;;; /kbd> < kbd> Enter<. 이러한 방법을 기억하는 리틀이에요 감지에서 기억이 나는 그들이 하는 유일한 방법은 () 이다.
>. A: 최악의 제어 문자 what 약간만이라도 나타내는 데 사용할 줄 바꿈?
>. B: Either 'q' (말은 일반적으로 Quit" 때문에 ";) 또는 'v' 그렇게 쉽게 입력할 수 있기 때문에 <;;; - < 약간만이라도 kbd> Control< /kbd> kbd> c< /kbd>;;; 이 실수로 editor. 죽이고
>. A: It so._ _make
'' \R '와' \n '의 / foo / 표시줄에는 구문에서 따라 다른 의미를 가지고 컨텍스트입니다.
파선-짧은:
Foo "에 대한 ':< br/>; \n = 개행 문자 (LF / mac, windows, linux 에서 크레프) < br/>; \r = 케리지리턴 (CR) br/> <;
'대한' 표시줄에는 :< br/>; = br/> \r 은 newline<; \n br/> byte.< = null;;
더 이상: (ascii 와 숫자임)
,,,, /key> < key> < /key> < key> < ',' =, = 0 = < kbd> CTRL< /kbd> < NUL 0x10,,,, kbd> @< /kbd> < br/>. ',' = = =;;; LF 0x0A < kbd> CTRL< /kbd> kbd> <, 10, J< /kbd> < br/>;;; 'CR' = = =;;;;;; kbd> < /kbd> CTRL< 0x0D 13 < kbd> M< /kbd>;
이 목록은 [제어 문자를 ASCII] [1] ',' 를 통해 그들을 삽입하십시오 < kbd>;;;; v< 비활성으로 CTRL< /kbd> < kbd> /kbd>;;;;;;; - key-< < kbd> CTRL< /kbd> < kbd> /kbd> .< br/>;;; 배시 '또는' 에서 다른 유닉스 / 리눅스 셸 그냥 <;;;;;; - key-< kbd> < 입력하십시ᄃ오 kbd> CTRL< /kbd> /kbd>. ,,, M< kbd> /kbd> < 시도하시겠습니까 kbd> CTRL< < /kbd>. 그 뒤,, bash, 동일합니까 < kbd> ENTER< /kbd> 깨닫게 된다는 등 리눅스 시스템에 사용할 경우에도 쉘로 지정하십시오. 선 제한되지 않은 줄 바꿈.
39 의 literal& 삽입하려면 bash, 그들과 함께 <;;;;; v< 프레펜딩 kbd> CTRL< /kbd> < kbd> /kbd>; 또 작동합니까.
종료기 bash:
이 두 '에서는 ANSI 이스케이프 시퀀스를 삽입하십시오 ^ [' & # 39 의 통해 <, kbd>, CTRL<, /kbd>, <;;;;;;; /kbd> kbd> v< /kbd> < kbd> ESC<.
,,, /Kbd> CTRL< kbd> < 수도 있습니다,,, < kbd> v< /kbd> < kbd> CTRL< /kbd> <;;;;;;; ENTER< kbd> m< /kbd> < kbd> 부여하느뇨 /kbd> 있는 이 있습니다.
'나' \r 위에서? :>.
이 목록은 완료하십시오 [제어 문자를 ASCII] [1] 에서 ASCII 심볼 테이블, 즉 다른 제어 문자를 삽입할 수 있으며,,, /kbd> CTRL< kbd> < 통해 비활성으로 싸이도테르미나르 콘솔 / / 키 (하하), 찾을 수 없다. 반면, 대부분의 다른 언어로 표현할 수 있는 C # 39, & # 39 옥탈칩을 코드를 사용하여 일반적으로 이러한 characters&;.
정말 알고 싶어 하는 경우 진저한테 비롯됩니다. http://www.linusakesson.net/programming/tty/. < br/>; 하지만 이 가장 두려워 이 내용에 대한 링크를 발견한 것입니다. 호세마리아 신부의 길.
일반적으로 'foo' = '\n' 및 '표시줄에는' = '\r'.
[1]: http://www.cs.tut.fi/ ~ jkorpela/chars/c0.html
다음을 사용해야 합니다.
'^M` 문자를 얻으려면 Ctrl v 를 누른 다음 Enter
r`이 여기서 작업을 수행합니다.
Windows 에서 함께 사용하여,,, kbd> 비활성으로 < kbd> Ctrl< /kbd> +< Q< /kbd>; ,,, 대신 < kbd> Ctrl< /kbd> +< kbd> V< /kbd>;
그동안 이 문제에 대한 가장 괜찮게 받을시간은 table: 되지만 운행에서어떠한 생쥐라. https://stackoverflow.com/a/12389839/962394.
따라서 새로운 표현:
사용해야 할 때 사용할 수 있는 '\r' 선 급지가 (ascii '0x0a' unix 줄 바꿈) 에 대한 것이 아니라, regex 는 일반적으로 교체품을 교체품 - 계속 사용할 수 있다 '' \n 합니다 특유의 선 급지가 및 '\r' 에 대해 케리지리턴.
이 때문에 '\n' 의 의미로 사용되는 비활성으로 교체품을 모두 이 문자 (ascii '0x00'). 이미 '대신' \n '\0 전무했던 것으로 할 수 있다' '선' 을 사용할 수 있지만, 일반적인 확보됨 급지가 \0 이미 의미가 큰 regex 교체품을 도왔으매 '\n'. 또한 '에서' \n '를 할 줄 바꿈 shift+ctrl 업그레이드됨 단순화표현 더 \r' (있는 regex 는 ascii 문자, 0x0d 패턴화합니다 케리지리턴 '').
< pre>; 문자를 ascii 코드 c 나타내줍니다 regex 일치시킵니다 교체품을 regex
NB: 한 때 '^ M' (ctrl v ctrl m linux) 로 사용되는 삽입물의 개행 문자 대신 다른 regex 교체품을 케리지리턴 주었습니다 (그냥 노력은 한 것 같습니다).
또한 비활성으로 불지옥으 파일로 변환할 때 절약합니다 줄 바꿈 문자를 바탕으로 줄 수 있는 파일 형식 설정값과 중요하지 않다.
Eclipse 를 포함할 수 있습니다 ^ M '자' 에서 선, 진실이며당신이 변환하려면 줄 바꿈.
는 다음과 같은 일을 한 다음 작동됨 대체하십시오 신앙이니라
위의 모든 다음 줄을 선 후 다시 다음 할말이다 (다음 바뀝니다 - Wiki 의 테이블 사용됩니다. 만약 텍스트 다음과 같습니다.
바뀌고
내게 필요한 경우 전체 파일을 할 수 있는 것도 제안됩니다 에서 시도하시겠습니까 명령줄이
그 답을 여기 협력했습니다 for me. 이를 통해 담당이잖아요
인용 - http://jaysonlorenzen.wordpress.com/2009/04/28/use-vi-editor-to-insert-newline-char-in-replace/
I have to do something else 및 기억할 수 없는 그리곤요 조회할 수 있다.
Vi 의 검색 및 교체 개행 문자를 삽입하려면 확신하느뇨 다음과 같습니다.
m/g :%s/look_for/replace_with ^ 위의 명령은 "look_for" 와 "replace_with\n" 이라는 단어를 모두 바꿀 수 있는 \n 마무리라뇨 줄 바꿈)
키 조합을 입력하시겠습니까 얻기 위해 "^ M", "ctl v" 그런후에도 (릴리스에는 모든 키) "enter" 키를 눌러.