골프라는 스포츠는 공을 얼마나 적게 쳐서 홀에 집어넣는지를 겨루는 스포츠다. 타수를 줄여서 최대한 적게 친 순으로 순위가 메겨진다. VimGolf는 Vim으로 골프치는 것이 아니라 -_- 골프의 목적과 비슷하게 Vim으로 특정한 텍스트 프로세싱을 하는데 얼마나 효율적으로(얼마나 키보드 타이핑 수를 적게 하느냐 등) 해 내느냐를 겨루는 게임같은 서비스이다.
사이트 상단 우측에 설명된 것 처럼 특정 프로그램을 이용해 이 사이트에 기록을 올리는 것이 가능하다.
문제는 굉장히 다양하다. 주로 아래 스크린샷 처럼 어떤 텍스트를 어떤 식으로 바꾸어라 라는 식이다.
문제를 해결해서 위의 VimGolf 프로그램으로 포스팅을 하면 점수가 기록된다. 아래와 같은 식으로 문제 하단에 답이 나열된다.
예제로 든 케이스는 아직 답이 얼마 없는 상태라서 좋은 예는 아닌 것 같지만, 다른 문제들에는 수십가지의 답이 올라온 경우도 있다. 이 해답들을 보아 가며 연습해 보면 Vim 실력을 엄청나게 높일 수 있을 것이다.
Vim이 대단한 편집기 인건 사실이지만 이런 실력을 겨룰 정도로 문제를 해결하는 방법을 다양하게 활용 할 수 있다는 건 또다른 재미를 선사해 주는 것 같다.
심심(?)하거나 한가(?)하거나 할 일이 없거나(?) 자신의 실력을 뽐내고 싶다면 한 번 쯤 도전해 보자.
PS. Emacs에도 비슷한 시도가 있었으면 좋겠고 실제로 비슷한 것을 하는 사람들도 있지만, Emacs는 얼마나 코딩을 잘 하느냐에 따라 문제 해결 방법이 천차만별이다보니 골프 처럼 정해진 규칙 내에서 한다는 것 자체가 불가능한 상황이다. -_-;;;;
Popular Posts
-
예전에 Vim에서 tags 파일 경로를 부모 디렉토리들로 지정해서 자동으로 태그를 지정하는 방법 을 포스팅 했던 적이 있다. 하지만 Emacs에서는 동일한 형태로 지정을 해서 사용하는게 안되었다. 이런 기능을 원했지만 검색으로 찾을 수는 없었다. ...
-
내 나이대도 이제는 젊다고 하기에는 힘든(?) 수준으로 치닫고 있다. 세월의 흐름이 너무 빨라서 아쉽고 벅차고 숨차기는 하지만, 이럴 때 일 수록 추억을 떠올려 보면 나름 재미있는 세월을 보냈구나 생각이 든다. 이참에 옛날 옛적에 쓰던 구식 컴퓨터...
-
제목대로 나는 안드로이드를 혐오하는데... 그 이유를 적기 보단 경험담을 적어볼까 한다. 직접 경험한, 그리고 주변 사람들의 경험담이다. 물론 글로 표현하기 위해 과장하거나 고쳤다 -_-; [참고] 이 글은 2011년 5월 경에 쓰여진 글입니다. ...
-
Vim이 강력한 편집기로써 군림하게 된 건 편한 키맵, 정규표현식, 그리고 이 매크로 레코딩 기능이 있기 때문이라고 감히 주장하고 싶다. 레코딩 기능은 사용자가 입력하는 키를 그대로 녹화해서 매크로로 만들어 주는 기능이다. 이 기능에 대해 간단히...
-
메소드(Method)란 클래스에 정의된 클래스 멤버 함수를 의미한다. 스위프트(Swift)에서는 클래스 뿐만 아니라 구조체에서도 동일하게 이 메소드를 정의 할 수 있다는 특징이 있다.
-
골프라는 스포츠는 공을 얼마나 적게 쳐서 홀에 집어넣는지를 겨루는 스포츠다. 타수를 줄여서 최대한 적게 친 순으로 순위가 메겨진다. VimGolf는 Vim으로 골프치는 것이 아니라 -_- 골프의 목적과 비슷하게 Vim으로 특정한 텍스트 프로세싱을 하는...
-
이 글은 새 위치 로 옮겨지며 이 곳에서는 더이상 유지보수되지 않습니다. 어느 날 또다시 찾아온 식사 메뉴 선정이라는 고뇌의 시간, 어찌하나 한참을 고민했지만 답이 나오지 않았는데 "한동안 안 먹었으니 치킨 시켜 먹을까?" 하는 생각...
-
Objective-C 프로젝트에서는 자동으로 정의되는 매크로(Preprocessor Macro)가 있어서 앱이 디버그 빌드인지 파악이 가능하다. 하지만 Swift 프로젝트에서는 자동으로 생성되지 않기 때문에 수동으로 처리해야 한다. 이번 글은 이 디버...
-
블로그 검색 유입 경로 중 동영상 플레이어에 대한 검색어가 많아서 이와 관련된 글을 하나 써 보자 한다. 주제는 개인적으로 사용해 본 Mac OS X 용 동영상 플레이어 및 소감. (내용이 길어질 것 같기에 스크린샷은 생략 ~_~)
-
소프트웨어를 만들 때 메모리 관리라는 건 언어에 따라 중요성의 차이가 다르긴 하다. 하지만 왠만해서는 신경써서 작업해야 하는 것이 메모리 관리이다. 얼마나 적거나 많은 메모리를 사용하는지, 또는 어느 시점에서 메모리가 해제되면 효율적인지 등등 신경써야...



0 comments:
댓글 쓰기