Forum: PC-Programmierung Batch script von vimrc mit Parametern aufrufen


von Marc (Gast)


Lesenswert?

Einen schönen guten Morgen :)

Ich habe ein Problem bei vim, bzw. bei einer Funktionserstellung in der 
_vimrc.

ich habe eine Batch-file, welche make aufruft und vorher noch parameter 
setzt.
Das aufrufen dieser Batchfile anfürsich funktioniert auch (und der code 
wird auch gebaut und ich bekomme den Log in VIM selber und nicht in 
einer externen Konsole)

Mein Problem ist, dass die Batchfile mit Parametern aufgerufen werden 
muss (kann).

ich habe es immer versucht mit
1
set makeprg=build\ a:1
aber der batch file wird dann a:1 selber übergeben. (Also nicht der 
Parameter, sondern "a:1")
Ein weg wäre es für jede Möglichkeit ein if zu machen und je nach 
Kombination dann set makeprg setzen. Das ergibt aber viele Kombinationen 
(bis zu 3 Parameter können übergeben werden).

in vim rufe ich dann die Funktion wie folgt auf
1
:call DoBuildBatchFile("MM")

Ist es nicht möglich, den Wert des Parameters direkt zu übergeben?
1
function! DoBuildBatchFile(...)
2
    "save the current working directory so we can come back
3
    let l:starting_directory = getcwd()
4
5
    " build.bat
6
    cd Z:\WORK\Projekt
7
    echo a:1
8
    if("MM" == a:1)
9
        set makeprg=build\ MCM
10
    endif
11
    "let &makeprg='build.bat a:1'
12
    "set makeprg=build\ a:1
13
14
    " Make sure the output doesnt interfere with anything
15
    silent make
16
    " Open the output buffer
17
    copen
18
    echo 'Build Complete'
19
20
    "reset directory
21
    execute "cd " . l:starting_directory
22
endfunction

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.