vim tip 에 대하여.....

bugger의 이미지

안녕하세요...

VIM과 Ctags이용하여 C 소스분석을 하다가 이런 tip이 있어으면 좋겠다
라고 생각이 들어서 질문올립니다.

커서가 옴직일때 마다 그 커서가 어느 함수안에 있는지 밑에 하단에 나오면
좋은 거라고 생각이 들더군요..

그렇다고.. tip을 만들만한 능력이 안되네여..

혹시 님들은 쓰시고 있으시나요?

그럼 좋은 하루 보내세요

vigor96의 이미지

:tags 를 치면 현재 tag 위치가 나옵니다.

key mapping 을 통해

간단한 키로 확인하시게 하면 좋을 듯 싶네요.

[{ , ]}

이 키를 이용해서 함수 정의로 갈 수 있을 듯 합니다.

간 다음에는 CTRL+O/CTRL+I 로 돌아 오시면 됩니다.

eminency의 이미지

ctx라는 vim 플러그인이 있습니다.
함수 뿐만 아니라 for, while, if등 어느 블록의 스코프 안에 커서가 있는지까지 보여주는 플러그인입니다.

다음 url에서 참고하시기 바랍니다.
아마 다운받아서 pligins 디렉토리에 넣어주기만 하면 될겁니다.

http://www.bluweb.com/us/chouser/proj/ctx/

노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5

cinsk의 이미지

emacs를 쓰세요. :-)

(which-function-mode)

끝!

bugger의 이미지

F2 키에 매핑시켜는데..

map <F2> mk[[?^[A-Za-z_].*(<CR>V"ky`k:echo "<C-R>k"<CR>

좋은 하루되세여..

girneter의 이미지

ctx 홈피에 가보니 관심은 가는데
어떻게 설치하고
어떻게 사용하는지에 대한 설명이 없네요.

사용법을 좀 설명해 주심 안 될까요?

개념없는 초딩들은 좋은 말로 할때 DC나 웃대가서 놀아라. 응?

indizarm의 이미지

보통 보니까 /usr/share/vim/vim61/plugin
정도의 폴더에 집어 넣으면 될듯한데요. root로요.

그런데 일반 user로는 바꿀 수 없습니까?
자기가 쓰는 vi만 말이죠. '.vimrc'나 '.viminfo'
파일을 수정해서 될 것같지 않던데요...

What a Cool Days!!!

ktd2004의 이미지

말씀하신 ctx를 한번 사용해 볼려구.
~/.vimrc 에 다음과 같이 넣었습니다.
source ctx.vim
그런데 perl 명령에서 에러가 나더군요. 현재 판에서는 지원하지 않는다구요.
(vim version은 6.2.128입니다.)

그래서 다시 컴파일을 하려구.
./configure --enable-perlinterp 옵션을 주고 컴파일 했습니다.

그리고 :version해보면

-perl이라고 나오네요..

configure message를 따라가 보니까.

">>> Perl with threads cannot be used <<<"

이 부분때문에 perl을 사용할 수가 없게 되어 있더군요.

환경은 Redhat9, perl 버전은 다음과 같습니다.

This is perl, v5.8.0 built for i386-linux-thread-multi

결론은 thread를 지원하는 perl을 사용하는 시스템에서는 vim에서 perl 기능을 사용할수 없다.

이 결론이 맞는 건가요? ㅜㅜ;

indizarm의 이미지

윗분이 말씀하신 것처럼 .vimrc 를 고쳐서 저장했더니
vi가 갑자기 다음과 같은 에러를 토해내면서 죽는군요.

Quote:
빔: SEGV 시그널을 잡았습니다
Attempt to free temp prematurely: SV 0x82d0368 during global destruction.
Attempt to free temp prematurely: SV 0x82d0374 during global destruction.
Attempt to free temp prematurely: SV 0x82626ec during global destruction.
Attempt to free temp prematurely: SV 0x826b9a8 during global destruction.
Attempt to free temp prematurely: SV 0x826ba2c during global destruction.
Attempt to free temp prematurely: SV 0x826ba38 during global destruction.
Attempt to free temp prematurely: SV 0x8254fc4 during global destruction.
Attempt to free temp prematurely: SV 0x826b8e8 during global destruction.
Attempt to free temp prematurely: SV 0x826ba44 during global destruction.
Scalars leaked: 9

빔: 끌났습니다.
세그멘테이션 오류

그냥 있는대로 써야겠습니다. 귀찮아서... -_-;;

What a Cool Days!!!

서지원의 이미지

indizarm wrote:
보통 보니까 /usr/share/vim/vim61/plugin
정도의 폴더에 집어 넣으면 될듯한데요. root로요.

그런데 일반 user로는 바꿀 수 없습니까?
자기가 쓰는 vi만 말이죠. '.vimrc'나 '.viminfo'
파일을 수정해서 될 것같지 않던데요...

~/.vim/ 디렉토리 안에 plugin 이라는 디렉토리를 만들어서 plugin을 카피해 넣으면 됩니다

indizarm의 이미지

아, 윈도에서 터미널로 vi 실행했더니 에러를 토하고 죽는군요.

.vimrc 파일에
source ctx... 하는 것과

.vim/plugin 폴더를 만들어서 ctx...vim파일을 집어 넣는 것이
모두 잘 되는 듯 하군요.

그냥 뻗는 이유는 아마도 리눅스가 아니라 윈도에서 터미널로
사용해서 그런 것이 아닌가 하는 생각이 드는군요.

그냥 쓰려고 합니다. 워낙 부지런해서 말이죠.

What a Cool Days!!!

doyou89의 이미지

이전 버전은 모르겠고, 7.x 버전에서 다음과 같이 설정하면, 현재 커서에 있는 단어를 tags 에서 찾아서 preview 창에 보여줍니다.

au! CursorHold *.[ch] nested exe "silent! ptag " . expand("")

Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.

댓글 달기

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