[질문] vim 질문드립니다.

sephi의 이미지

vim 질문드립니다.

코딩하는데 더 편하게 할 방법 찾다보니,

vim에 다음과 같은 기능이 있지 않을까 해서 질문드립니다.

예를들어

:put @inputwd ?? 를 입력하면

입력 라인에

macro name="@inputwd" field="@inputwd"

식으로 입력이 가능하도록 function 등을 입력해서 사용할 수 있을까요?

답변해주시면 코딩 많이해야 하는 입장에서

꼭 필요할 듯 한 내용이라 답변 부탁드립니다.

좋은 하루 되세요.

sephi의 이미지

function AA(args)
echo "macro name=\"".args."\"file=\"".args."\"
endfunction

call AA("adsfasdf")

하면 되는데 문제는 입력창이 아닌 명령창에 나오네요..
입력창에 나오게 하는 방법좀 알려 주세요. ㅡ.ㅜ

neocoin의 이미지

당장 생각나는건 다음과 같네요.

function! s:test_input(...)
  execute ":normal! imacro name=\"" . a:1 . "\" field=\"" . a:2 . "\""
endfunction
command! -nargs=* -bar TestInput call s:test_input(<f-args>)

(저는 command 명령어는 익숙하지가 않습니다. 동작은 확인했습니다. 모호한 부분은 명령어로 :help xxx 해보시면 찾을 수 있습니다.)

이 구문을 적은 다음에 다음으로 확인해 보세요.

:w ~/a.vim
:so %
:TestInput key value

사용자 정의 command는 반드시 앞자리가 대문자로 시작해야 합니다. 참고하세요.

ps 경우에 따라 escape이 필요하시면, escape() 이 있으니 사용하시면 됩니다.

sephi의 이미지

아직 해결은 못했지만, 찾아서
몇번 해보면 할 수 있을 것 같습니다.
매번 감사드려요.
답변 해주시는 분이 님밖에 없군요. >.<

좋은 하루 되세요.

sephi의 이미지

이렇게 편할수가;;; ㄷㄷ