vi 에서 한라인에 대한 명령어는 $ 잖아요... 그런데 또 전체문서의 aaa를 bbb로 바꾼다는 명령어가 아래와 같습니다. :1,$s/aaa/bbb/g
왜 똑같은 $가 이중으로 해석되나요...... :oops:
:1,%s/aaa/bbb/g 가 아닌가요?
$이 단지 한 라인의 끝을 의미하는 것은 아닙니다.
예를 들어, 펄 같은 스크립트 언어에서는 특정 패턴(스트링)에서 해당 패턴의 마지막을 의미하기도 하잖아요?
그러니 특별히 지정하지 않았을 때는 커서가 놓인 위치 즉, 라인의 끝을 나타내고, ':'와 같은 명령 모드에서는 문서 전체에 관연하니 따라서 '문서의 끝'을 나타나내는 것이 더 자연스럽다고도 생각되는데요^^
A few Good Man
코퍼스님 말씀대로 $는 그냥 '마지막'이라는 의미가 강합니다. 용도에 따라서 한 라인의 끝도 될 수 있고 문서 전체의 끝도 될 수 있죠.
참고로, 문서 전체를 대상으로 하는 치환은 말씀하신 대로:1,$s/aaa/bbb/g 로 표현할 수도 있지만 저는 주로:%s/aaa/bbb/g 를 씁니다.
:1,$s/aaa/bbb/g
:%s/aaa/bbb/g
-- 자본주의, 자유민주주의 사회에서는 결국 자유마저 돈으로 사야하나보다. 사줄테니 제발 팔기나 해다오. 아직 내가 "사겠다"고 말하는 동안에 말이다!
텍스트 포맷에 대한 자세한 정보
<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]
:1,[b]%s[/b]/aaa/bbb/g 가 아닌가요?
:1,%s/aaa/bbb/g 가 아닌가요?
음.. 다르게 보면 오히려 일관성이 있는 것이죠.
$이 단지 한 라인의 끝을 의미하는 것은 아닙니다.
예를 들어, 펄 같은 스크립트 언어에서는 특정 패턴(스트링)에서 해당 패턴의 마지막을 의미하기도 하잖아요?
그러니 특별히 지정하지 않았을 때는 커서가 놓인 위치 즉, 라인의 끝을 나타내고, ':'와 같은 명령 모드에서는 문서 전체에 관연하니 따라서 '문서의 끝'을 나타나내는 것이 더 자연스럽다고도 생각되는데요^^
A few Good Man
코퍼스님 말씀대로 $는 그냥 '마지막'이라는 의미가 강합니다. 용도에
코퍼스님 말씀대로 $는 그냥 '마지막'이라는 의미가 강합니다. 용도에 따라서 한 라인의 끝도 될 수 있고 문서 전체의 끝도 될 수 있죠.
참고로, 문서 전체를 대상으로 하는 치환은 말씀하신 대로
:1,$s/aaa/bbb/g
로 표현할 수도 있지만 저는 주로
:%s/aaa/bbb/g
를 씁니다.
--
자본주의, 자유민주주의 사회에서는 결국 자유마저 돈으로 사야하나보다.
사줄테니 제발 팔기나 해다오. 아직 내가 "사겠다"고 말하는 동안에 말이다!
Re: vi 에서 한라인의 끝은 $ 인데... 왜 콜론상태에서 한문서전
이중으로 해석해도 괜찮으니까 그런가보네요.. ^^;
댓글 달기