분류1

임베디드시스템

제목

.vimrc configuration for programming

REF: http://www.wowlinux.com VIM 6.0 이상 버젼에서 적용됩니다. VIM 에서 펑션키( F1 ~ F12 )를 적당히 뜯어고쳤습니다. 아래에서 설명하는 각 문장들을 .vimrc 에 써 넣으면, 다음번 VIM 을 실행시킬때부터 적용됩니다. < 일반적인 기능 > 1. 명령: map <F1> K -> 이 문장은 펑션키 F1 을 shift+k 로 맵핑시켜줍니다. 코딩하다가 ANSI/POSIX 표준함수의 이름위에 커서를두고 F1 을 누르면 그 함수의 man 페이 지를 보여줍니다. 마치 VisualStudio 의 MSDN 과 비슷한 기능이죠. 2. 명령: map <F2> :w!<CR> -> 이 문장은 펑션키 F2 를 :w!+ENTER 로 맵핑시켜줍니다. 잘 아시겠지만, 현재 편집중인 파일을 저장하는 기능입니다. < 소스코드 이쁘게 보기 > 3. 명령: map <F3> v]}zf -> 이 문장은 펑션키 F3 을 v]}zf 로 맵핑시켜줍니다. 코딩을 하다보면 함수 를 정의하는 부분이나 if() 문같은곳에 아래처럼 생긴 코드를 볼 수 있습니 다. 1: int function( void ) 2: { ... 중간 200라인 생략 ... 201: } 이때 커서를 { 위치에 갖다두고 F3 을 누르면 { ~ } 를 통채로 Fold 해서, 한줄로 표시해줍니다. 이렇게 폴드된 문장은 아래와 같이 생겼습니다. 1: int function( void ) 201: ---- 201 Line folded ---------- 4. 명령: map <F4> zo -> 이 문장은 펑션키 F4 를 zo 에 맵핑시켜줍니다. 위에서 F3 키로 Fold 된 라 인에 커서를 두고 F4 를 누르면, 폴드된 내용을 복구시켜줍니다. < 파일 브라우징 > 5. 명령: map <F5> :25vs ./<CR>:set nunumber<CR>^Ww 6. 명령: map <F6> ^Ww 7. 명령: map <F7> O -> 이 문장은 아래에 어떤분이 올려주신 팁을 수정해서 만든겁니다. F5 키를 누르면 화면을 양분해서 프레임을 나눠주고, 왼쪽 프레임에 현 디렉토리의 파 일 목록을 보여줍니다. 커서를 좌우프레임으로 왔다갔다 할때에는 F6 을 누릅 니다. 왼쪽에 브라우징된 파일 목록에서 어떤 파일을 열고싶을때에는 열고싶 은 파일에 커서를 두고 F7 을 누르면 됩니다. F5 와 F6 의 맵핑내용중 ^Ww 라 는것은, 차례대로 이렇게 누릅니다. Ctrl+v, Ctrl+w, w 이렇게 세번을 차례대 로 누르면 써집니다. F7 의 맵핑내용은 shift+o ( O )입니다. 열려진 양쪽 프 레임중 하나를 닫고싶을때에는 닫고싶은 프레임에 커서를 두고 :q! 하시면 닫 아집니다. < 소스코드 코딩/분석에 도움되는 기능 > 8. 명령: map <F8> [i -> 이 문장은 펑션키 F8 을 [i 에 맵핑시켜줍니다. 어떤 함수의 이름에 커서 를 두고 F8 을 누르면, 화면 하단에 그 함수의 prototype 을 보여줍니다. 약간 은 미흡하게 어긋날때도 있습니다만..^^; 9. 명령: map <F9> gd 10. 명령: map <F10> -> 어떤 함수 안에서 지역변수를 추적해주는 기능입니다. 가령 어떤 함수의 중 간에서 var1 이라는 변수가 사용되었는데, 이게 어떤 변수였는지 잘 기억이 안 난다면 변수의 이름에 커서를 두고 F9 를 누릅니다. 그러면 var1 변수가 선언 된 문장으로 찾아가줍니다. 그리고 var1 변수의 이름을 모두 반전시켜서, var1 이 사용된 곳을 표시해줍니다. 이렇게 보다가 다시 원래의 위치로 되돌아 가고 싶을때 F10 을 누르면 됩니다. F10 의 맵핑내용은 ; 키의 오른쪽 옆에 있는 키를 두번 누른것입니다. 11. 명령: map <F11> ^] 12. 명령: map <F12> ^T -> 위의 F9, F10 기능은 오직 지역변수만을 추적할 수 있는 기능인데, F11 과 F12 는 전역변수/구조체/정의상수/함수정의를 추적해줍니다. 어떤 사용자정의 함수 func() 이 있다고 가정할때, 함수의 이름에 커서를 두고 F11 을 누르면 그 파일이 선언된 문장으로 추적해 찾아가줍니다. 이렇게 추적된 상태에서 또 어떤 구조체의 내용을 보고싶으면 구조체 테그이름에 커서를 두고 F11 을 누르 면 됩니다. 이런식으로 함수나 전역변수나 구조체나 #define 으로 정의된 상수 를 계속 추적해 들어갈 수 있습니다. 추적에 들어간 상태에서 이전위치로 되돌 아오려면 F12 를 누르면 됩니다. 즉, 원래위치부터 시작해서 F11 을 이용해 10 번을 추적해 들어갔다면, 다시 원래위치로 오기위해 F12 를 10번 눌러야 합니 다. 맵핑 내용중 ^] 는 Ctrl+v, Ctrl+] 를 차례로 눌러 입력합니다. 마찬가지 로 ^T 는 Ctrl+v, Ctrl+t 를 차례로 눌러 입력합니다. F11, F12 의 추적기능 을 이용하기 위해서는 현 디렉토리에 tag 파일이 존재해야만 합니다. tag 파일 은 어떤 함수가 어느 파일의 몇번째줄에 있다, 어느 구조체가 어느 파일의 몇 번째 줄에있다 하는 정보를 담고있는 파일입니다. tag 파일을 만드는 방법은 아주 간단합니다. 소스코드가 있는 디렉토리에서 ctags * -R 하셔도 되고, VIM 에서 :!ctags * -R 하셔도 됩니다.

첨부파일 다운로드

등록자송영호

등록일2003-11-11

조회수4,210

  • 페이스북 공유
  • 트위터 공유
  • Google+ 공유
  • 인쇄하기
 
스팸방지코드 :
번호 제목 등록자 등록일 조회수
98 임베디드시 HBE-Allinone 연습문제 해답 관련

HB_MCU

2013.10.14 28,072
97 유비쿼터스 TinyOS 2.0 소스코드를 ZigbeXStudio에서 사용하고자 할 때

HB_USN

2010.08.25 27,004
96 임베디드시 [SMII-P320] Mplayer 포팅가이드

임베디드팀

2010.06.15 26,406
95 유비쿼터스 [ZigbeX II] 온습도값이 안나오는 경우 해결방법

정윤호

2010.06.10 26,041
94 임베디드시 P320 장비계열 ADB 설치문서

박한수

2010.04.07 14,835
93 임베디드시 [Android] Eclipse 실행 시 오류 해결 방법

S/W팀

2010.04.02 13,564
92 유비쿼터스 WinAVR로 만든 ZigbeX2 LED제어 예제

이철희

2010.03.09 13,617
91 임베디드시 Android 탑재 제품에서 사용가능한 USB 무선랜 및 USB GPS

S/W팀

2010.03.04 15,034
90 임베디드시 Windows Embedded CE 6.0 개발툴 다운로드 링크

HB_Embedded

2009.11.04 13,817
89 임베디드시 CDMA2관련 질문!!

이강은

2008.12.11 5,903