== 다운로드 ==
https://raw.githubusercontent.com/simfa/checksymbol/master/checksymbol.vim
== 설치방법 ==
플러그인 파일을 홈의 .vim/plugin/ 디렉토리에 복사하시면 됩니다.
== 단축키 ==
Enter : 1. CONFIG_ 심볼값 출력 (.config 파일 필요), 2. 상수값 출력, 3. 함수/심볼 정의 추적 (:tag)
\ : c style의 간단한 연산기능 (0x1234 & ((1 << 12) -1) ^ 0b110)
gb : 파일의 커밋 추적 (git-blame)
gl : git 히스토리 로그 (git-log)
== GIT 창 단축키 ==
d : 파일의 변경사항만 출력
s : 모든 변경사항 출력
Enter : 커밋 선택
[ : 이전 커밋으로 이동
] : 다음 커밋으로 이동
q : GIT 창닫기
== GIT 전역변수 ==
g:git_window = [vert, hori(default), none] (새 창의 방향 - 가로/세로)
g:git_resize = [vert, hori, both(default), none] (새 창의 최대화 방향)
g:git_scroll = [top, center(default), none] (스크롤시 커서 위치)
g:git_merges = [0, 1(default)] (merge 출력여부)
.config 설정화일은 아래와 같이 생성 가능합니다.
# x86_64 make x86_64_defconfig # arm (raspberry pi 2/3 32-bits) make ARCH=arm bcm2709_defconfig
조악하긴 하지만 일단 동작은 하는것 같습니다.
문제가 있으면 수정하겠습니다.
-----------------------------------------------------------------------
2013/7/19
- .config 파일 검색 개선 - fixed by K님
몇가지 제약이 있는데 우선 디렉토리 이름에 linux가 들어가야 합니다. ex) linux, linux-3.9, linux-study.... 아니면 KERNEL_PATH 환경변수로 디렉토리 경로를 직접 설정하시면 됩니다.
-----------------------------------------------------------------------
2013/7/22
- 메세지가 깜빡이는 문제 수정
- 숫자가 아닌데 출력되는 문제 수정
- 첫번째 일치하는 CONFIG_ 를 찾으면 더 찾지않고 종료
-----------------------------------------------------------------------
2013/7/28
- c style의 간단한 연산기능 추가붙여넣기 어려워서 위키에 파일로 올렸습니다. 링크는 위쪽에 있습니다. 테스트를 많이 못해서 오류가 있을수 있습니다.혹시 <C-j>가 문제있으시면 nmap 부분을 다른 키로 수정하시면 됩니다.
-----------------------------------------------------------------------
2013/11/05
- 연산기능 단축키 변경. <CTRL-j> 에서 \ 키로 변경
- 간단한 git 기능 지원 (blame, log, show)
-----------------------------------------------------------------------
2016/06/07
- 단축키 및 본문 수정
댓글 19
-
조성진
2013.07.18 18:57
-
K
2013.07.19 03:20
오오~ 멋진 기능입니다. ^^
안그래도 CONFIG_XXX 들이 정의되어 있는지 확인하는 방법을 찾는 중이었습니다. 감사합니다.
아.. 디렉토리 이름에 linux가 들어가 있지 않아도 .config를 찾도록 조금 수정해보았습니다. ^^
(그런데 이게 win32에서도 동작하는지는 잘 모르겠네요..)
fu! CheckSymbol(var1) echo let sym = a:var1 let config = findfile(".config", ".;") if sym =~ '^CONFIG_' let hit = 0 for line in readfile(config, '') if line =~ sym . '(=| is)' echo line let hit += 1 endif endfor if hit == 0 | echo "# " . sym . " not found" | endif else if sym =~? '^(0x|#|=)?[0-9a-f]+$' if sym =~ '^(=|#)' | let sym = sym[1:] | endif let s = sym let unit = ['B', 'K', 'M', 'G', 'T', 'P', 'E', 'Z'] let cnt = 0 while s >= 1024 && (s % 1024) == 0 let s = s / 1024 let cnt += 1 endwh if s == sym echo printf("D:%u H:0x%x B:%s", sym, sym, Num2Bin(sym)) else echo printf("D:%u (%u%s) H:0x%x B:%s", sym, s, unit[cnt], sym, Num2Bin(sym)) endif endif endif endfu
-
pororo
2013.07.19 06:23
두분 댓글 감사합니다.
말씀하신 부분과 2진수 부분을 약간 수정했습니다. -
pororo
2013.07.22 11:54
감사합니다.
분석에 조금이나마 도움이 되었으면 합니다.
-
아폴로
2013.07.22 11:45
캬... 2진수 보여주는 것도 정말 편하네요. 두 기능 모두 멋집니다!!^^ -
아폴로
2013.07.19 08:29
오~ 이런 기능 고맙습니다. 안그래도 궁금했는데 이걸로 보면 되겠네요~ :) -
길
2013.07.20 09:06
우와.. 머찌십니다~ 소스드라이빙에 바로 적용해야겠네요~^^
-
신동석
2013.07.22 16:07
그냥 긁어다가 붙여서 그런지 'no mapping found'라는 메시지만 나오네요..
경로나 이런 부분 수정해야 할게 있나요??
-
pororo
2013.07.23 10:25
해결되셨다니 다행입니다.
http://iamroot.org/wiki/lib/exe/fetch.php?media=%EC%8A%A4%ED%84%B0%EB%94%94:checksymbol.vim.gz
위키쪽에도 파일을 올려놓았습니다. -
신동석
2013.07.23 09:33
해당 라인을 수기로 입력하니 메시지는 사라지네요..
근데 막상 검색을 하려하니 다른 에러가 뜨네요..
추측컨데 복사하는 과정에서 이스케이프 케릭터들이 들어가는 모양입니다..
Virtual Box에 깔린 우분투에서 이상없는걸로 봐서는 맥이나 사파리 문제인 것 같습니다..
시간 날때 수기로 입력을 해야지요..^^;;
좋은 정보 감사합니다..
-
pororo
2013.07.22 19:04
No mapping found는 아래처럼 빈 매핑이 들어왔을때 생기는 문제 같습니다.
nmap <silent> <C-c>
마지막 라인이 정확하게 복사 됐나요? -
배경남
2013.07.22 20:18
감사합니다 :) 유용하게 잘 사용하겠습니다~~!! 감사합니다!
-
조성진
2013.11.05 10:08
blame 기능이 추가되었네요!!
오~ 감사합니다. 앞으로 더 빠르게 진행할 수 있겠네요
-
K
2014.05.22 13:28
간단한 git 기능 지원 (blame, log, show) 이라고 하셨는데, 제 vimrc에 적용하고 테스트해보니... 후덜덜 합니다.
최고의 vimrc로 인정합니다.
-
pororo
2014.05.22 16:52
감사합니다.
git 관련 단축키가 좀 불편해서 단축키를 수정했습니다.
-
pororo
2014.05.22 17:19
단축키를 수정해서 전체 단축키를 다시 올립니다.
글을 수정하니 계속 새로운 글이 생성되서 댓글로 답니다.
= 일반 단축키 =
<C-c> : CONFIG_ 설정값, 상수 값 확인
: 간단한 c style 연산
= GIT 단축키 =
<C-g> : 작성자 추적 (git blame)
gl : 전체 로그 출력 (git log)
= GIT 창 내부 =
d : 해당 파일의 변경사항만 출력
D : 해당 커밋의 전체 변경사항 출력
<Return> : 해당 로그, 커밋 선택
] : 다음 커밋으로 이동
[ : 이전 커밋으로 이동
q : 창 닫기<C-g> 와 gl은 visual block을 지원합니다. 블럭을 지정해 특정 라인에 대한 로그들만 볼 수 있습니다.
-
K
2014.05.26 11:02
제가 좋아하는 git 기능들을 제가 좋아하는 vi에 가득 모아두셨군요~ ^^
고맙습니다. 잘 쓰겠습니다.
-
이동표(구름과비)
2014.06.24 18:13
연산기능 써보니까 정말 멋지네요.
감사합니다. 잘 쓰겠습니다. ^^
-
이승철5
2019.07.13 07:22
와 .config 파일 태깅하는거 찾으려다 발견했는데 깃 블레임 기능 대박이네요...
잘쓰겠습니다.
.
좋은 자료 감사드립니다~
iamroot에는 능력자 분들이 많으시네요^^;
어서 따라가야 겠습니다 ㅎ