[해결] gvim 질문 드립니다. (감사합니다.)

sephi의 이미지

windows 에서도 gvim을 쓸만큼 vi에 빠져 있습니다.

몇가지 추가로 알게되면 편할꺼 같아서 질문드립니다.

1. 문자열 치환시
--------
aa
bb
cc
--------

:%s/$/^Mab/g 를 하면

----------
aa
ab
bb
ab
cc
ab
----------

가 되는데요.

반대로 위 내용을

%s/$^Mab//g
를 하면 찾질 못합니다.

2. 콘솔혹은 쉘에서 실행한 결과를 vi으로 바로 가져오고 싶습니다.

3. 예를들어 :%s/ / /g <- 빈칸 둘을 하나로 하는 걸 한번 실행하고
반복해서 실행하고 싶습니다.

알려주시면 외워서 유용하게 쓰겠습니다.

좋은 하루 되세요.

neocoin의 이미지

1.

:help /$
$	At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
	matches end-of-line <EOL>; at other positions, matches literal '$'.
	|/zero-width|

패턴의 끝을 의미하기도 하네요. 다른 패턴으로 하셔야 할 것 같습니다. g를 이용해 필터링 하시던지요. 테스트 해보니 \nab 패턴으로 먹히는데 약간 의외네요.

정의가 개행문자인줄 알았는데, 정확히는 이렇습니다.

\n	matches an end-of-line				*/\n*
	When matching in a string instead of buffer text a literal newline
	character is matched.

2.
method 1 in vim

:read !ls
:help read

method 2 in terminal
$ls | vim -

3.정확히 이해가 안갑니다. recording 하는건 메뉴얼에 나와있기는한데.
:help q

저 상황에서는 이런 식이겠네요.

qa
:%s/ / /g
q
@@

ps. 저도 최근에 vim을 열심히 쓸일이 있어서 모든 플랫폼에서 이용하고 있습니다. :)
See Also http://neocoin.net/cs/Vim/Plugins

sephi의 이미지

이런 사이트 있다니 감동입니다.
vim 편하게 쓰고 있다고 생각했는데, 아직 멀었군요 ㅎㅎ

neocoin의 이미지

예전에 제 기준에서 신급(?) 사용자 분을 직접 만나지 않았으면 열심히 쓸 생각도 안했을꺼에요.

최근 플러그인을 보니, 일본쪽에 몇분이 상식에 벗어나는 vi 플러그인을 만들어 내는데 깜짝 놀랍니다. 특히 FuzzyFinder , 다시 업그레이드 되고 있는 acp 는 사용하는 저에게 감동을 주네요.

해당 사이트는 외부 기억장치 용도 입니다. 검색 엔진에게 노출 시키고 싶지만, 노출 시키면 스팸 봇 때문에 쓰기 권한을 막아야 되더라구요.

플러그인 정리는 외국 애들은 더 잘 정리해 놓는데, 한때 Rails + TextMate 때문에 이 편의성을 따라잡고자 하는 vim 플러그인들이 등장했더군요. vim, TextMate 로 검색하면 좋은것들 많이 찾으실수 있을 겁니다.

palsuet의 이미지

1. ab가 있는 줄을 지우는 게 목적이라면, :g/ab/d 또는 :g/^ab$/d로 하면 됩니다.
2. :r !ls와 같이 ! 뒤에 쉘 명령을 넣으면 됩니다.

--
feel the gravity

feel the gravity

ensky0의 이미지

개행문자 문제 아닐까요?
%s/$\nab//g
이렇게 해보면..?

sephi의 이미지

대신 ^M로 해야하는 줄...

sephi의 이미지

그렇게 하는 방법도 있군요.

새로 얻은 팁도 있고, 도움말을 시간 날때 다 읽어봐야 겠네요.

1번에서 궁금했던 내용은 한줄에서 뒷부분 다음줄에서 앞부분이 맞을때

다른 코드로 바꾸고 싶었던 겁니다.

예를 들은 내용이 좀 이상했나 보네요.

다른 예를들면

---------
abcdef
ghijklmn
---------

에서
def
ghi 바꿔서

---------
abcjklmn
---------
으로 바꾸고 싶은 겁니다.

그럼 좋은 하루 되세요.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.