2016-04-19 1 views
-1

Недавно я установил Vim для Windows, и я пытаюсь перенести мой vimrc из Linux.Перевод vimrc на Windows

Баш скрипт в vimrc мне нужно, чтобы сделать работу следующим образом:

set nocompatible 
source $VIM 
behave mswin 

let iCanHazVundle=1 
let vundle_readme=expand('$VIM/bundle/vundle/README.md') 
if !filereadable(vundle_readme) 
    echo "Installing Vundle..." 
    echo "" 
    silent !mkdir $VIM/bundle 
    silent !git clone https://github.com/gmarik/vundle $VIM/bundle/vundle 
    let iCanHazVundle=0 
endif 

" required for vundle 
filetype off 

set rtp+=$VIM/bundle/vundle/ 
call vundle#rc() 

" let Vundle manage Vundle 
" required! 
Bundle 'Rip-Rip/clang_complete 

Обратите внимание, что это в основном просто проверяет, были ли установлены или не мои Vundle пакеты (на основе существования readme) и устанавливает их, если нет. Я включил первый вызов Bundle, чтобы дать вам представление о том, как он выполняется. Единственное отличие в приведенном ниже коде и моем оригинальном скрипте Linux заключается в том, что я заменил все записи файловой системой Linux: ~/.vim с $VIM. Когда я запускаю: echo $ VIM в терминале Windows Vim, он дает мне правильный путь. Скрипт запускается, однако он всегда не может вызвать vundle # rc() и впоследствии не работает напрямую для всех вызовов Bundle. Обратите внимание, что у меня установлен msysGit.

EDIT Функция mkdir фактически работала, и моя переменная окружения была введена неверно в консоль. Кроме того, msysGit необходимо обновить (неудачу по неизвестным причинам сейчас я столкнулся с проблемой:.!

Error detected while processing C:\Program Files (x86)\Vim\_vimrc: 
line 58: 
E117: Unknown function: vundle#rc 
line 62: 
E492: Not an editor command: Bundle 'Rip-Rip/clang_complete' 

Все предложения высоко оценили

+0

Где вы управляете Vim? В консоли Windows или в любом эмуляторе терминала есть Git bash? Можете ли вы сделать: :: mkdir foo' и/или ':! Git status' непосредственно в Vim? – romainl

+0

Я сделал некоторый прогресс после обновления msysGit, но теперь у меня есть другая проблема при запуске vim с каталогом git, успешно прошедшим проверку: ошибка обнаружена при обработке C: \ Program Files (x86) \ Vim \ _vimrc: 'строка 58: E117 : Неизвестная функция: vundle # rc строка 62: E492: Не команда редактора: Bundle 'Rip-Rip/clang_complete' ' – Rice

ответ

1

кажется, что основная проблема у вас есть с линией ,

silent !mkdir $VIM/bundle 

Использование побег ! оболочки, это шины для вызова внешней команды mkdir. Однако, эта команда не существует на Windows, (если вы не установили Cygwin или аналогичные и инструменты GNU в вашем пути) и использование silent означает, что сообщение об ошибке не напечатано таким образом.

Чтобы создать каталог в любой операционной системе, вы можете использовать собственную встроенную функцию V. Следующая команда с помощью конкатенации (с помощью оператора .), чтобы построить путь к каталогу должна работать:

call mkdir($VIM . "/bundle") 

Если каталог создан правильно, следующая внешняя git команда должна работать до тех пор, пока у вас есть установленные и доступные git в Windows PATH.

+0

mkdir с escape-бандом'! Mkdir' фактически работает в Windows. Проблема для меня заключалась в том, что мои переменные среды не были введены правильно. – Rice

+0

@Rice Так оно и есть. Все эти годы я думал, что 'md' является (только) командой Windows для создания каталогов. Спасибо за отзывы и обновления. –

 Смежные вопросы

  • Нет связанных вопросов^_^