[완료] vim 스크립트로 헥사뷰어기능 추가하기

oosap의 이미지

vim 에서 :%!xxd 명령을 사용하면 헥사 파일을 읽을 수 있다는 걸 알게 되었습니다.
하여 단축키로 토글기능을 구현해서 사용하고 싶은데요, 제가 스크립트를 만들어본 경험이 미천하여 아래와 같이 만들어보았는데 동작하지 않습니다.

337 let hexViewer = 0
338 func! Hv()
339         if (hexViewer == 0)
340                 let hexViewer = 1
341                 exe "%!xxd"
342         else
343                 let hexViewer = 0
344                 exe "%!xxd -r"
345         endif
346 endfunc
347 nmap ,h :call Hv()<cr>

hexViewer 라는 변수의 사용방법이 잘못 된 것 같습니다.

1. 위 코드에서 수정해야 할 부분좀 알려주세요.. 혹은 더 좋은 코드를 주셔도 감사하겠습니다.
..................
자답합니다. 아래와 같이 하니까 잘 됩니다.

let b:hexViewer = 0 
func! Hv()
        if (b:hexViewer == 0)
                let b:hexViewer = 1 
                exe "%!xxd"
        else
                let b:hexViewer = 0 
                exe "%!xxd -r"
        endif
endfunc
nmap ,h :call Hv()<cr>

:help
/script
:help user_41
/variable

41.2    Variables
.................
There are more kinds of variables, see internal-variables.  The most often
used ones are:
 
        b:name          variable local to a buffer
        w:name          variable local to a window
        g:name          global variable (also in a function)
        v:name          variable predefined by Vim

파일 버퍼를 스코프로 하는 변수로 사용하니 잘 되었습니다.

더불어서 지금처럼 vim 에서 헥사 뷰잉하는 것은 좀 모자란 것 같구요, 우분투에서는 ghex 가 있길래 설치해본 정도입니다.
2. 리눅스에서 헥사 편집기 어떤 것이 좋은가요?

>>그냥 ghex 써야 할 듯합니다.

raymundo의 이미지

허억 이런 기능도 있군요. 감사합니다 ^^;

좋은 하루 되세요!

oosap의 이미지


http://kldp.org/node/24855

위에 좋은 답글들이 있었습니다.
검색부터 해볼 걸 그랬습니다.

그리고 보니까 제가 만든 스크립트는 좀 모자라다는 느낌이 점점 더 드는 군요..

Thanks for being one of those who care for people and mankind.
I'd like to be one of those as well.