사용자:이원룡/빔 사용법

위키백과, 우리 모두의 백과사전.

빔 사용법

http://www.vim.org

빕은 전세계에서 가장 뛰어난 찾기 바꾸기 기능을 가진 문서편집기입니다.

공짜 프로그램입니다.

유닉스나 리눅스에서는 보통 vi 에디터라고 하죠. 엄청난 겁니다.

위키백과 편집에는 빔이 굉장히 많이 쓰입니다.

빔의 강력한 기능을 잘 숙지하면, 매우 편하답니다.

꼭 익혀야 할 것은 아니며, 참고만 하세요.

알찬글 후보 목록 작성하기[편집]

사용자:이원룡/알찬글후보를 작성한 예를 들어 설명합니다.

http://ko.wikipedia.org/wiki/Special:LongPages&limit=500&offset=0

위 링크가 잘 에러가 나면, 특수 문서 목록 -> 긴 문서 목록 -> 500 문서씩 보기를 클릭합니다.

이 문서를 전체복사해서 빔에 붙여넣습니다. 대략 일부만을 보면 아래처럼 나옵니다.

(역사) ?백가신화 ?[24,113 바이트] 
(역사) ?케로로 중사의 등장인물 ?[24,052 바이트] 
(역사) ?아쿠에이리언 에이지 TCG ?[24,043 바이트] 
보기: (이전 500개) (다음 500개) (20 | 50 | 100 | 250 | 500).
대문 
사용자 모임 
요즘 화제 

"(역사) ?"를 "#[["로 바꿉니다.

:%s/(역사) ?/#\[\[/g 또는 :%s/(역사) ?/#\[\[

" ?["를 "]] ["로 바꿉니다.

:%s/ ?\[/\]\] \[

" ["로 시작하는 부분 앞에 엔터를 치게 합니다. 줄을 분리하는 것이죠

:%s/ \[/\r/g

"[["가 포함되어 있지 않은 줄을 다 지웁니다.

:g!/\[\[/d

자, 이제 목록이 1차적으로 완성되었습니다. 되게 간단하죠? 위의 내용이 아래처럼 바뀌었습니다.

#[[백가신화]]
#[[케로로 중사의 등장인물]]
#[[아쿠에이리언 에이지 TCG]]

필터링을 좀 더 해 봅니다.

"목록"이 들어간 문서는 지웁니다. 목록만 쭈욱 나열된 문서는 알찬 글이 될 수 없지요.

:g/목록/d

"이름"이 들어간 문서는 지웁니다. 목록만 쭈욱 나열된 문서는 알찬 글이 될 수 없지요. 이름 순 뭐 이런 문서이름을 필터링 하는 것입니다.

:g/이름/d

이렇게 해서 목록이 2차적으로 완성되었습니다. -- 이원룡 2008년 5월 11일 (일) 00:15 (KST)

알찬글만 제거하기[편집]

이미 알찬글인 문서들을 삭제해 봅시다.

위키백과:알찬 글/목록 여기에 이미 알찬 글로 선정된 목록이 나옵니다.

편집하기를 클릭해서 전체 복사한 다음, 새로 빔을 하나 더 실행시켜서 붙여넣기 합니다.

뭐 대략 아래와 같죠:

[[AS 로마]] - [[가로쓰기와 세로쓰기]] - [[구미시]]

이것을 좀 편집해 봅시다.

" - "부분을 엔터(\r)로 바꿉니다.

:%s/ - /\r/g

그럼 아래와 같이 나오죠

[[AS 로마]]
[[가로쓰기와 세로쓰기]]
[[구미시]]

자 이제, 앞에서 작성한 목록에서 이 알찬글 부분만 자동으로 삭제하는 법?

좀 더 편집해야 합니다.

오류가 안 나기 위해서 "[["와 "]]"는 지우는게 좋습니다.

:%s/\[\[//g :%s/\]\]//g

여기에 줄 맨 앞에 각각 ":g/" 를 붙입니다.

:%s/^/:g\//g

줄 맨 뒤에 각각 "/d" 를 붙입니다.

:%s/$/\/d/g

그럼 대략 이렇게 나오죠:

:g/AS 로마/d
:g/가로쓰기와 세로쓰기/d
:g/구미시/d
:g/대한민국의 기자실과 기자단/d

이것을 파일로 저장합니다.

저는 C:\pywikipedia\1.txt로 저장했어요

이제 앞에 전체목록이 있는 빔으로 갑니다.

:so! C:\pywikipedia\1.txt

그러면, 알찬글만 다 찾아서 그 라인을 전부 삭제합니다.

이렇게 해서 사용자:이원룡/알찬글후보이 순식간에 만들어 졌답니다.

설명하자니 길군요.

처음에는 시간이 좀 걸릴지 모르겠으나, 익숙해지면 순식간에 됩니다.

빔의 찾기 바꾸기 기능은 전세계 어떤 소프트웨어보다 뛰어납니다. -- 이원룡 2008년 5월 11일 (일) 00:15 (KST)

매크로[편집]

어라? 이 강좌를 들으니까, 그럼 위의 작업들 매번 반복하는 작업이라면, 매크로 잡아주듯 하면 되겠다?

그렇죠.

:%s/(역사) ?/#\[\[/g
:%s/ ?\[/\]\] \[
:%s/ \[/\r/g
:g!/\[\[/d
:g/목록/d
:g/이름/d

이것을 C:\pywikipedia\2.txt 로 저장합니다. 그리고 나면, 다음 부터는

:so! C:\pywikipedia\2.txt

이렇게 해버리면, 바로 자동으로 전부 작업이 되지요. ^^ 빔이 엄청나죠? MS 워드나 한글 2008에도 빔의 강력한 찾기 바꾸기 기능을 넣어달라고 제안했었는데, 소식이 없지요. 빔보다 더 뛰어난 찾기 바꾸기 에디터는 세상에 존재하지 않습니다. ^^ -- 이원룡 2008년 5월 11일 (일) 00:12 (KST)

영어 년도를 한국어 년도로 바꾸기[편집]

원리 설명[편집]

C:\pywikipedia\3.txt의 내용입니다.

:%s/January/1월/g
:%s/February/2월/g
:%s/March/3월/g
:%s/April/4월/g
:%s/May/5월/g
:%s/June/6월/g
:%s/July/7월/g
:%s/August/8월/g
:%s/September/9월/g
:%s/October/10월/g
:%s/November/11월/g
:%s/December/12월/g 

이제, 영어판의 문서를 통째로 빔에다 복사 붙여넣기를 한 다음 아래대로 실행합니다.

[[13 January]], [[2006]]
[[11 December]], [[2006]]
[[8 May]], [[2007]]
[[10 May]], [[2007]]
[[10 June]], [[2007]]
[[6 March]], [[1004]]

:%s/\[\[\([0-9]*\) \([a-zA-Z]*\)\]\], \[\[\([0-9]*\)\]\]/\1 \2 \3/g

[[13 January]] [[2006]]
[[11 December]] [[2006]]
[[8 May]] [[2007]]
[[10 May]] [[2007]]
[[10 June]] [[2007]]
[[6 March]] [[1004]]

:%s/\[\[\([0-9]*\) \([a-zA-Z]*\)\]\] \[\[\([0-9]*\)\]\]/\1 \2 \3/g

13 January 2006
11 December 2006
8 May 2007
10 May 2007
10 June 2007
6 March 1004

:%s/\([0-9]*\) \([a-zA-Z]*\) \([0-9]*\)/\3 \2 \1/g

2006 January 13
2006 December 11
2007 May 8
2007 May 10
2007 June 10
1004 March 6

:so! C:\pywikipedia\3.txt

2006 1월 13
2006 12월 11
2007 5월 8
2007 5월 10
2007 6월 10
1004 3월 6

:%s/\([0-9]*\) \([0-9]*\)월 \([0-9]*\)/\[\[\1\]\] \[\[\2월 \3일\]\]/g

[[2006년]] [[1월 13일]]
[[2006년]] [[12월 11일]]
[[2007년]] [[5월 8일]]
[[2007년]] [[5월 10일]]
[[2007년]] [[6월 10일]]
[[1004년]] [[3월 6일]]

간단하게 바꾸기[편집]

간단하지 않다구요? 더 간단하게 만들어 드립니다. 원리 설명상 길게 쓴 것이구요. ^^

C:\pywikipedia\4.txt의 내용입니다.

:%s/\[\[\([0-9]*\) \([a-zA-Z]*\)\]\], \[\[\([0-9]*\)\]\]/\1 \2 \3/g
:%s/\[\[\([0-9]*\) \([a-zA-Z]*\)\]\] \[\[\([0-9]*\)\]\]/\1 \2 \3/g
:%s/\([0-9]*\) \([a-zA-Z]*\) \([0-9]*\)/\3 \2 \1/g
:%s/January/1월/g
:%s/February/2월/g
:%s/March/3월/g
:%s/April/4월/g
:%s/May/5월/g
:%s/June/6월/g
:%s/July/7월/g
:%s/August/8월/g
:%s/September/9월/g
:%s/October/10월/g
:%s/November/11월/g
:%s/December/12월/g 
:%s/\([0-9]*\) \([0-9]*\)월 \([0-9]*\)/\[\[\1\]\] \[\[\2월 \3일\]\]/g

이제, 영어판의 문서를 통째로 빔에다 복사 붙여넣기를 한 다음 아래대로 실행합니다.

:so! C:\pywikipedia\4.txt

간단하죠? ^^ 위의 4.txt 파일은 한 번 저장해 두면 되는 것이고, 결국 한 줄의 명령어만 실행시키면 됩니다.

:so! C:\pywikipedia\4.txt

오류가 나면 알려주세요. ^^ -- 이원룡 2008년 5월 11일 (일) 12:24 (KST)

업데이트[편집]

s:사용자:WonRyong/빔 사용법 여기에서 업데이트 될 것입니다. -- WonRyong (토론) 2008년 5월 16일 (금) 08:59 (KST)