Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5608

WindowsのCygwin環境でVimにdeinを入れる時にハマった

$
0
0

最近WindowsでCygwinを使い始めて色々遊んでます。
Windowsのコマンドプロンプトより大分身軽で使いやすいです。

Vimも入れられたし、プラグイン入れるか……ってところでハマるとは思ってませんでした。

先に結論

rsyncとgitがCygwin側に入ってませんでした。
しかも、Windows側にgitが入ってたせいで、ディレクトリがずれててずっと気づかなかったです。

dein.vimを入れ終わるまで

どうやら最近はNeobundleよりdein.vimを使えって話だったので、dein.vimをインストールしてみることにしました。

環境

Windows10 64bit
Cygwin 64bit 2.6.0
Vim 8.0

.vimrc
setnumbersetautoindentsettabstop=4setshiftwidth=4setexpandtab"dein Scripts-----------------------------if!&compatiblesetnocompatibleendif

augroup MyAutoCmd
  autocmd!
augroup END

"直接ディレクトリぶちこむ書き方は良くないlets:cache_home ='/home/Kage/.vim'lets:dein_dir =s:cache_home . '/dein'lets:dein_repo_dir =s:dein_dir . '/repos/github.com/Shougo/dein.vim'if!isdirectory(s:dein_repo_dir)call system('git clone https://github.com/Shougo/dein.vim ' . shellescape(s:dein_repo_dir))endiflet&runtimepath=s:dein_repo_dir .",". &runtimepath" プラグイン読み込みif dein#load_state(s:dein_dir)call dein#begin(s:dein_dir)call dein#add('scrooloose/nerdtree')call dein#add('Shougo/unite.vim')call dein#end()call dein#save_state()endifif has('vim_starting')&& dein#check_install()call dein#install()endif" }}}"End dein Scripts-------------------------

ディレクトリが直接指定になってるので、このままコピペすると地獄を見ます。

わくわくしながらVim起動

[dein] Not installed plugins: ['nerdtree', 'unite.vim']
[dein] Update started: (2016/12/06 05:26:13)
dein |nerdtree | git clone --recursive https://github.com/scrooloose/nerdtree.git "/home/Kage/.vim/dein/repos/github.com/scrooloose/nerdtree"
dein [========== ] nerdtree
dein |unite.vim | git clone --recursive https://github.com/Shougo/unite.vim.git "/home/Kage/.vim/dein/repos/github.com/Shougo/unite.vim"
dein [====================] unite.vim
fatal: destination path 'NERDTree' already exists and is not an empty directory.

は?

rsyncとgitコマンドが入ってないといけなかった

Requirements

  • Vim 7.4 or above or NeoVim.
  • "rsync" command in $PATH (UNIX)
  • "xcopy" command in $PATH (Windows)
  • "git" command in $PATH (if you want to install github or vim.org plugins)

rsyncコマンドが入ってませんでした。
最初に公式ページなぜ見なかったし。

apt-get install rsync

してから、もう一度vimを立ち上げます。

[dein] Not installed plugins: ['nerdtree', 'unite.vim']
[dein] Update started: (2016/12/06 05:26:13)
dein |nerdtree | git clone --recursive https://github.com/scrooloose/nerdtree.git "/home/Kage/.vim/dein/repos/github.com/scrooloose/nerdtree"
dein [========== ] nerdtree
dein |unite.vim | git clone --recursive https://github.com/Shougo/unite.vim.git "/home/Kage/.vim/dein/repos/github.com/Shougo/unite.vim"
dein [====================] unite.vim
fatal: destination path 'NERDTree' already exists and is not an empty directory.

えっ……どういうことだ……。

結論:gitコマンドがCygwin側に入ってなかった

何時間もトラブルシューティングしてましたが、
gitコマンドが正しく実行されてるにも関わらず/home/Kage/.vim/dein/repos/github.com/フォルダ内にリポジトリが出来ませんでした。

試しに

git clone --recursive https://github.com/scrooloose/nerdtree.git 

とCygwin上で手打ちしても、既にフォルダがあると文句を言われる。
散々トラブルシューティングした結果、どうやらWindows側のgitコマンドを呼び出していたらしく、Cドライブ直下に2つ目の.vimフォルダが出来てました。やらかしマン。

apt-get install git

Cygwin側にgitコマンドを入れたらちゃんと~/.vim/dein/repos/github.com/ディレクトリの方にリポジトリできました。ちゃんちゃん。

教訓

Windowsはクソ、MacかLinuxのメイン機が欲しい。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>