[완료] vim에 관한 몇 가지 질문

kbenjamin의 이미지

안녕하세요. vim을 좀 더 잘 사용하고 싶은데, 다음 방법들을 알게 된다면 많은 도움이 될 것 같습니다.

1. 검색 후 n을 눌러 다음 매치된 패턴을 찾아갈 때, 맨 마지막까지 가면 다시 처음으로 되돌려지는 것이 아니라 그 곳에서 더 이상 검색되지 않게 하는 방법.

2. 검색 후 매치되어 하이라이트된 문자열들만 다른 파일에 간편하게 저장하는 방법.
2-1. 검색 후 매치되어 하이라이트된 문자열들을 제외한 모든 문자열을 제거하는 방법. 또는 매치된 문자열이 하나도 없는 라인들을 제거하는 방법.

3. 대형 프로젝트의 코드를 읽을 때 함수를(다른 파일에 있는) 빨리 이동할 수 있는 방법. 또는 쓸만한 플러그인들 몇 가지만 가르쳐주세요.

4. 유니코드로 저장된 파일이든지 ANSI로 저장된 파일이든지, :set encode=utf-8 이딴 짓 안하고, 열면 바로 해당 인코딩으로 볼 수 있는 방법.

5. 비주얼 스튜디오 에디터를 vim으로 바꾸는 방법.(가능합니까? 기왕이면 오픈 소스라면 더 좋겠습니다.)

6. 기타 쓸만한 플러그인들 좀 가르쳐주세요.

미리 감사드립니다.

planetarium의 이미지

1. set nowrapscan

3. 일단 ctags, 추가적으로 cscope 를 사용합니다.
4. set fileencodings=ucs-bom,utf-8,cp949,cp932 " 읽어올 인코딩들
5. 제가 아는건 VisVim 이라는 유틸리티...

위의 set 옵션들은 실행시마다 입력하는 것이 아니라 vimrc 파일에 적어두면 됩니다.
/etc/vim/vimrc 혹은 $HOME/.vimrc

neocoin의 이미지

2. 의미를 모르겠습니다. 해당 라인을 다른 파일로 저장해야된다는건지? 혹은 해당 패턴을 저장하는건지. 2-1 답을 보면 방법을 찾으시겠네요.

2-1 사용 방법이 제 직관을 벗어나서 사용할때 마다 help 합니다. 저도 이런 기능을 사용할 때가 아주 가끔 있어서 알고는 있습니다.

:help global
:help vglobal

ex)

 The service is officially launching on the BlackBerry today after several weeks 
in private beta testing with a few hundred users. Specifically, the app with 
work on all 8000 and 9000 series devices (any BlackBerry with a trackball), and
 it will also work with the touchscreen BlackBerry Storm, but Foursquare notes
 tha a special version built for that device is in the works too.

패턴 'series' 없는 라인 삭제

:v/series/d

5. 예전에는 편집만 OLE 객체를 제공했는데 지금은 모르겠습니다. 물론 예전도 visual -> vim intellisense 지원은 안되었습니다.

6. 제가 사용하는 것들 참고 할만한 것.
http://neocoin.net/cs/Vim/Plugins%20and%20improvement

kbenjamin의 이미지

가르쳐주신 모든 방법들을 사용해봤는데, 아주 만족스럽습니다. (VisVim은 안해봤지만^^;)
neocoin님 페이지는 자주 들어가서 살펴 보도록 하겠습니다. 혹시 이제 업데이트 안하기로 하신겁니까? ㅠㅠ

감사합니다.

neocoin의 이미지

일단 저에게 더 필요한 플러그인이 없거든요.
혹시나 해서, 체크해보니 저 글 작성한 이후 (2009/12/29) 그 이후에 저는 추가해서 더 사용하고 있는
플러그인은 없네요. 저 글조차도 생각 좀 정리해야지 하고 한달뒤에 쓴거라서, 12월 초 이후에는 추가된게 없네요.
그래서 한번 보시고 다시 오실필요는 없을꺼에요.

그리고 최근 업데이트 되는 모든 글은 거의 다 그룹 한정으로 공개되어 있어서 RecentChanges 에 반영되지 않습니다.
MoinMoin 이 꽤 좋아져서 권한 지정과 그에 따른 RecentChanges 필터링이 이제는 잘됩니다.
(rss를 제거하고 싶은데, 어째 어느 버전부터인가 기본 설정에 뺄수가 없어서 패스.. )

요즘 쓰는 신변잡기들은 1,2년 후에야 공개 가능한 내용들입니다. ;;

좋은 플러그인 발견하시면 kldp에 소개 시켜주세요. :)
kldp에서는 거의 못찾고, 그냥 vim.org 돌아다니면서 레이팅 좋은거 설치해서 테스트 해보고 선택했어요.
저 페이지의 플러그인의 3,4배 정도 양을 테스트 해본거 같네요.

댓글 달기

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