2013-07-12 2 views
0

저장 프로 시저에 많은 작업을하고있어서 정력을 좋게 나열 할 수 있도록 약간 썼습니다.함수로 vim을 시작하고 싶습니다

vim이 시작할 때 이것을 어떻게 실행할 수 있습니까? vimrc에이 기능을 넣을 수 있습니다. 그러나 나는 정말로 이것을 달성 할 수없는 이유를 정말로 알고 싶다.

/usr/bin/vimx -c "so:'/home/brett/.vim/autoload/testfu'" | call' Myproc1()' 

나는 여기 밤새 아무 소용이 없었어요. 여기에는 기능이 있어야합니다. 난 그냥 내 시도가

vim -c" so:/home/brett/.vim/autoload/testfu"+"call Myproc()" 

나는이를 neaten 수있는 방법이 있나요 전화를 여기에

function! Myproc1() 
    exec "silent !sudo rm storedproc.sql" 
    exec "silent !sudo touch storedproc.sql" 
    exec "silent !sudo chmod ao+wr storedproc.sql" 
    exec "e storedproc.sql" 
r !mysql -uroot -ppass sas -e 'SELECT name FROM mysql.proc;' 
    normal! gg /name<CR>n|dd 
    %normal! I mysql -uroot -ppass sas -e 'SHOW CREATE PROCEDURE 
    normal! ggdd0 
    %normal A\G' 
    normal! G 
    let lastline = line(".") 
    exec "1,".lastline."!sh" 
    exec "normal! gg03ddIDELIMITER $$\r" 
    exec "g/1. row/.,+2d|norm! ODELIMITER $$" 
    exec '%s/^\s\+//|%s/\r//' 
    exec "g/Create/norm! 010dw ICREATE " 
    exec "g/character_set_client/.,+2d|norm! IEND $$\rDELIMITER ;\r\r" 
    normal! gg0jddGddkkp 
    normal gg=G 
    exec "w!" 
    redraw 
endfunction 

을 배우는 중이에요 ...이 사람을 도움이되기를 바랍니다?

+0

오류 메시지없이. 나는 많이 할 수 없다. 따옴표가 일치하지 않는 것 같습니다. 첫 번째 경우 파이프가 vim 대신 셸로 이동하는 것처럼 보입니다. – FDinoff

답변

-1

괜찮아 내가 대답이 누군가 나에게이 전화 대신 중 하나를 작업을 얻었다

vim +"call so /home/brett/.vim/autoload/testfu" +"call Myproc()" 

에게 도움이되기를 바랍니다 발견; taa daah!

0

원래 시도가 닫 혔습니다. 불필요한 따옴표와 잘못 배치 된 콜론이 있습니다. 다음과 같이 작동해야합니다.

vim -c "source /home/brett/.vim/autoload/testfu | call Myproc1()" 
+0

내가 질문을 할 수있는 방법은이 명령을 bash 명령 알라이스로 만드는 것입니다 .. 여기에 무엇을하려고합니다. [-e/usr/bin/vimx]; 다음 별명 vimp = '은/usr/빈은/vimx 에코 + MYPROC() "/home/brett/.vim/autoload/testfu"+"call 있도록'통화 ''; 인터넷 인스턴트 – Brett

+0

가깝'source'은 VIM 명령이고 . 당신은 그것을 호출 할 필요가 없습니다. 'alias vimp = "vim -c'source /home/brett/.vim/autoload/testfu | –

+0

[-e/usr/bin/vimx] 인 경우 예기치 않은 파일 끝이 내 정확한 문자열 이고, 별칭 vimp = '/ usr/bin/vimx'인 경우, 계속해서 Myproc1() – Brett

관련 문제