즐길거리/책2011. 7. 20. 23:05


  이미 gVim을 써온 나에겐 조금 쉬운 책이었지만 후반부에 매크로 부분이나 HTML변환기 부분은 처음 보는 내용이었다. 이미 3년째 gVim을 써온 탓에 대부분의 명령어들이 손에 익었지만 역시 vi의 세계는 매우 깊고 넓어 아직도 모르는 기능들이 있다. 초반부에 설명하는 단축키는 정말 필수적이고 자주 사용하므로 초보자들도 책에 나온 명령을 반복적으로 사용하면 금방 손에 익을 것이다. gVim을 쓰면서 느꼈던건 알고있는 명령어를 반복해서 사용하는게 정말 중요하다는 사실이다. 최대한 단축키를 사용하려고 노력하면 금방 손에 익기 때문에 초보자들은 이 책 한권으로도 충분하다고 생각한다.

'즐길거리 > ' 카테고리의 다른 글

10년후미래  (1) 2011.11.05
유쾌한 회계상식 - 기본편  (0) 2011.09.22
마녀의 한 다스  (0) 2011.07.17
MySQL 성능최적화  (1) 2011.07.14
토비의 스프링 3  (2) 2011.07.14
Posted by 준피
vim2011. 6. 14. 20:00
테이블에 데이터를 넣으려고 csv 파일을 만지다 보면 한글 또는 영어와 같은 문자열 값을 큰따옴표로 감싸야 하는 작업을 반복하게 된다. 레코드의 양이 많으면 상당히 노가다를 하게 되는데 이를 정규식으로 해결할 수 있다.

핵심이 되는 정규표현식 : ([^0-9,][^,]*)

gvim에서 다음과 같이 정규식을 사용하면 테이블의 모든 문자열 필드의 값을 큰따옴표 안에 넣을 수 있다.

:%s/\([^0-9,][^,]*\)/"\1"/g

1,coin,10,스피커,음질좋음   =>  1,"coin",10,"스피커","음질좋음"



다음과 같은 예제에서 실패했음을 발견했다.

7부능선 => 7"부능선"

필드의 값이 숫자로 시작하는 경우를 고려하면 다음처럼 변경해야 한다.

:%s/\([0-9]\{0,\}[^0-9,][^,]*\)/"\1"/g 
 
1,coin,10,7부능선,능선이다   =>  1,"coin",10,"7부능선","능선이다"
  

{0,} 는 * 과 같은 의미이므로 다음과 같이 간결하게 변경할 수 있다.

:%s/\([0-9]\{0,\}[^0-9,][^,]*\)/"\1"/g  => :%s/\([0-9]*[^0-9,][^,]*\)/"\1"/g  

'vim' 카테고리의 다른 글

정규표현식 이용해서 문자열 순서 바꾸기  (0) 2012.11.14
[gVim] 찾은 내용 하이라이트  (0) 2011.06.08
[gVim] 유용한 단축키  (0) 2011.04.19
Posted by 준피
vim2011. 6. 8. 20:40
gVim 에서 문자열 검색을 하는 경우 결과를 전부 하이라이트로 표시해주는 옵션이다. 정규식으로 검색해도 표시된다.

: set hlsearch
 
Posted by 준피
vim2011. 4. 19. 21:07
" + [a-z] + y : 내부 버퍼 a부터 z 중에 지정한 버퍼에 복사한다.

" + * + y : 클립보드의 버퍼에 복사한다. 다른 데스크탑 어플리케이션에서 공유할 수 있다.

y + i + ) : 소괄호 내부의 전체 텍스트를 복사한다.
ex> abc(here)efg 소괄호 안에서 위의 키를 입력하면 here가 임시 버퍼에 등록된다.
Posted by 준피