[완료] VIM 사용법에 관한 질문...

hyunya77의 이미지

안녕하세요. 항상 많은 도움을 받고 있습니다.
어색한 불편함을 꾹 참고 VIM에 적응해 보고자 오늘 하루를 투자중입니다.
우선 기본적인 동작들을 한번 훑어보고나서, 아래와같이 몇가지 궁금한 점이 생겼습니다.

1. 아래와 같이 특정한 문자열을 AAAAA로 대치하고자 합니다.

#define ABCDE // -> AAAAA로 대치하고자 함

우선 ABCDE에 커서를 올려두고 "viwy" 커맨들를 순차적으로 눌러
"ABCDE" 워드블럭을 레지스터에 복사해두었습니다.
이를 "AAAAA"로 치환하기 위해 다음과 같이 커맨드라인을 이용해
치환시키고 싶습니다. 그런데 문제는 '복사한 내용을 커맨드 라인에다 갖다 붙이는 방법'을 모르겠습니다.

:%s/{복사한내용}/AAAAA

2. VIM으로 코드를 작성중에 다음과 같은 기능이 가능한지 궁금합니다.
아래의 코드와 같이 파일 작성중에 구조체나 파일의 정의부를 좀 확인해 보고싶을때
좋은 방법은 뭐가 있을까요? 소스인사이트와 같이 바로 점프해가는 정도는 바라지
않지만 grep해서 특정한 tab에 리스트가 나오고 여기서 내용을 골라 점프하는 정도의
기능은 없을까요?

typedef struct
{
//....
} mystrct ;

func1()
{
//....
}
function()
{
struct mystrct ABC; // mystrct의 정의부를 확인해보고싶다

funct1(); // fuct1()의 정의부를 보고싶다.
}

VIM을 처음 공부(?)중이라 부족한 점이 많습니다.
조언을 좀 부탁드립니다.

justafeeling의 이미지

1.번은 저도 궁금합니다.
휠 마우스 쓰신다면 휠 클릭(가운데 버튼)하면 붙여넣기 되는 것으로 쓰고 있습니다.

2.번은 ctag 등을 활용하면 되지 않을까 싶지만, 저는 보통 창을 여러개 띄우고 쓰는 편이라서요 ^^ 이것또한 다음분께 넘깁니다.
표준함수 (man 페이지에 등록된 것은) Shift + k 로 맨페이지 불러오는 것만 활용하고 있습니다.

klenui의 이미지

1번은..
<C-r>0 이런 식으로 하시면 될테고.. 0번이 레지스터 이름..

2번은 ctag같은 걸 쓰시면 되겠지요...

근데.. viwy 말고 그냥 yw하면 안되나요..? 다른 이유가 있으신지 문득 궁금해서요..

galien의 이미지

2번..
여기 문서가 가장 간단하게 정리되어있네요.

요약: ctags + vim7 + taglist 등을 활용하면 편합니다.

hyunya77의 이미지

viwy 말고 그냥 yw해도 되는거든요. 낼 회사가서 해봐야겠습니다.
이건 특별한 이유는 없고 문서보면서 그렇게 했을때 되길래 그냥 썼었습니다 ^^;
모두들 답변 감사드립니다.

태훈의 이미지

1. 해당 문자열에 커서를 위치한 다음에 < C-rw > 를 누르셔도 됩니다.

------------------------------------------
http://onestep.tistory.com

Just do it!

kasi의 이미지

1번은 Shift + Insert 키를 누르시면 됩니다

justafeeling의 이미지

덕분에 유용한 정보 습득하고 갑니다.
고맙습니다 ^-^

hyunya77의 이미지

ctags와 taglist 플러그인을 설치하고 조금 사용해보았습니다.
정말 훌륭하네요!! 윈도우환경에서 주로 source insight로 작업했는데
익숙해지면 그에 버금가는 막강한 환경이 될 수 있을듯 합니다.
유용한 정보 정말 감사드립니다~!! ^^

댓글 달기

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