-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathInstall-Vim.ps1
More file actions
54 lines (40 loc) · 1.14 KB
/
Install-Vim.ps1
File metadata and controls
54 lines (40 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
function Install-Vim {
$urls = & {
New-Object Uri('ftp://ftp.vim.org/pub/vim/pc/vim74rt.zip')
New-Object Uri('ftp://ftp.vim.org/pub/vim/pc/gvim74.zip')
New-Object Uri('ftp://ftp.vim.org/pub/vim/pc/vim74w32.zip')
}
$output = Join-Path $PSScriptRoot '..\vim'
if(Test-Path $output) {
$choices = [System.Management.Automation.Host.ChoiceDescription[]] @("&Yes", "&No")
$choice = $host.UI.PromptForChoice('Overwrite Confirmation', 'Vim directory already exists. Want to overwrite it?', $choices, 1)
if($choice -ne 0) {
return;
}
}
else {
mkdir $output | out-null
}
foreach($url in $urls) {
$zip = Join-Path $output $url.Segments[-1]
if(-not(Test-Path($zip))) {
Download-File $url -OutFile $zip
}
}
try {
pushd $output
foreach($url in $urls) {
$zip = Join-Path $output $url.Segments[-1]
unzip -o $zip
if($?) {
rm $zip
}
}
mv vim\vim74\* .
rm vim\vim74
rm vim
}
finally {
popd
}
}