vim의 정규식 기호와 very magic 모드

vim의 문자열 검색, 치환 기능은 패턴 매칭에 의한 것이며, 이 패턴 매칭은 정규식에 기반을 두고 있다. 그런데 정규식 문법을 조금 알고 있는 상태에서 vim의 정규식을 사용하면 깊은 빡침을 느끼거나 심한 멀미를 겪을 수 있다. 예를 하나 들어보자. (this)isnot{this}nor[this] 이런 문자열이 있다고 할 때, 괄호들을 포함한 this를 검색, 즉 (this), {this}, [this]를 검색하려면 다음의 패턴을 사용한다.

[vim] 몇 가지 팁 추가

vim 관련한 몇 가지 내용 정리 1. 선택된 텍스트로 검색하기 visual mode에서 선택 영역을 만들어서 이 단어를 검색하는 기능이 따로 없어서 은근 불편하더라. 매번 / 명령으로 검색하는 것도 귀찮고, 심지어 검색해야 하는 단어가 길기라도 하면…. 명령 프롬프트에 복사(yank)한 문자열을 붙여넣는 방법은 Ctrl – R 0 이라고한다. 따라서 다음과 같은 단축키를 만들면 된다. vmap <C-G> y/<C-R>0<CR> 2. HTML 테이블 쉽게 만들기 반복되는 작업은 매크로를 사용해서 쉽게 단축할 수 있는 vi의 특성을 잘 살리면 HTML 테이블을 손쉽게 만드는 것쯤은 사실 간단하다. 대충

vim의 autocmd 이벤트들

vim은 특정 이벤트가 발생할 때 자동으로 명령을 수행할 수 있는데, 이를 au[tocmd]로 지정할 수 있다. 자동 명령 세팅 방법은 다음에 다루기로 하고, 오늘은 이들 이벤트에 대해서 좀 정리 버퍼 읽기/시작하기 BufNewFile 새 파일을 만들어서 편집하기 시작함 BufReadPre 파일을 읽기 전, 새 버퍼를 편집하기 시작함 BufRead 파일을 읽고 새 버퍼를 편집함 BufReadPost 위와 같이 파일을 읽고 새 버퍼를 편집함 (차이가?) BufReadCmd 새 버퍼를 시작하는 명령을 받았을 때 파일 읽기 FileReadPre :read 명령으로 새 파일을 읽기 직전 FileReadPost :read 명령으로 새 파일을

vi에서의 복사/붙이기

오랜만에 vi 글. 우분투를 쓸 때 vi는 정말 요긴한 도구이기는 하나 매우 긴 줄을 웹페이지에서 복사해서 붙이는 방법을 모르면 대략 난감한 상황이 오고, 아주 긴 내용을 붙여넣어야 할 때는 대략 정신이 멍해지기도 한다. vi 안에서 복사하기 붙이기 vi안에서 글자를 복사하고 붙일 때는 문자열을 “레지스터”라는 곳에 복사하고, 이를 붙여넣는다. 그런데 이 레지스터는 우리가 흔히 생각하는 클립보드와 완전히 다른 공간이다. (vi 프로그램에서 사용하는 메모리 공간의 일부이다.) 레지스터에 문자열을 복사하는 동작을 vi에서는 “yank”라고 표현하고 명령 모드에서 y키를 사용한다. <횟수>y<대상>의 형태로 y w는 커서의

Vim 에서 파이썬 스크립트 바로 실행하기

…라고 제목을 쓰면 Vim을 파이썬 IDE로 탈바꿈 시키는 위대한 플러그인 들을 사용하는 방법을 말하는 것 같아서 약간 낚시 같지만, vi 쓰기 시작한지도 얼마안되는데 이런 플러그인 들은 찾기도, 설정하는 것도 어려워서 포기. 사실 파이썬 코드 작성하는데는 IDLE이 그리 부족하다고 생각하지도 않지만, 그래도 왠지 vi에 애착이 가기 시작하는데, 작성한 코드를 따로 실행하는 게 너무 번거롭다. 따라서 해결책은 현재 편집중인 스크립트를 저장하고 실행하는 명령을 다른 키에 맵핑해주면 된다는 것. :map <F2> :w<Enter>:!python %<Enter> 라고 실행해주고 일단 한 번 파일을 저장한 후, F2 키를