NeoBundle 'tpope/vim-fugitive'
どうしたら使えるようになるでしょうか?
:Gstatus
などとやっても、「エディタのコマンドではありません: Gstatus」となってしまいます。
「https://github.com/tpope/vim-fugitive」のFAQに「Fugitive cares about the current file, not the current working directory. Edit a file from the repository.」とあるので、gitのコマンドラインで 「cd .git」 とやって、「.git」フォルダに移動してからやるのですが、同様も「エディタのコマンドではありません: Gstatus」とでます。
コメント(7件)
Fugitive cares about the current file, not the current working directory. Edit a file from the repository.
Fugitiveは作業ディレクトリにいるかどうかではなく、開かれているファイルを問題にします。そのリポジトリからファイルを編集して下さい。
<<
ということですが、gitリポジトリにあるファイルを開いた状態でコマンドを打っても同じでしょうか?
https://groups.google.com/forum/m/#!topic/vim_jp/YFpVzC_21z4
「.git」フォルダが存在するフォルダにあるファイル(例:index.php)などを編集している時に、「Gstatus」等、Fugitiveのコマンドが効きませんでした。それが「gitリポジトリにあるファイルを開いた状態でコマンドを打っても」ということですよね。
今日になって、コマンドプロンプトで「git init」→「git add」 等をした後なら、「Gstatus」のコマンドが効くことがわかりました。ですが、「-でaddとresetの切り替え」等ができません。
また、「Gwrite」をするとファイルが保存されるだけでaddされない、「Gcommit」は小さな黒いウインドウが一瞬出て消えるだけでcommitされない(コマンドの所には、「:Gcommit(改行が入る)fugiveve:(fugitive:は赤字)」、という状態です。
Windowsだとうまくいかないのかな、と思っています。
試してみてください。
:help neobundle.txt
これでneobundleのhelpが開きます。
そしてそのhelpの1845行目に当質問と同じQ&Aがあります。
つまり
NeoBundle 'tpope/vim-fugitive'
を
NeoBundle 'tpope/vim-fugitive', { 'augroup' : 'fugitive'}
と書く
もしくは
NeoBundle 'tpope/vim-fugitive'
これを書いた後に
if neobundle#tap('vim-fugitive')
call neobundle#config('vim-fugitive', {
\ 'augroup' : 'fugitive'
\})
call neobundle#untap()
endif
こちらを書く。
どちらかを試した後に
カレントディレクトリをgitリポジトリ以下に変更して
:GStatus
を試してみてください。
>>と書く
>>
>>もしくは
>>NeoBundle 'tpope/vim-fugitive'
>>これを書いた後に
>>if neobundle#tap('vim-fugitive')
>>call neobundle#config('vim-fugitive', {
>>\ 'augroup' : 'fugitive'
>>\})
>>call neobundle#untap()
>>endif
>>こちらを書く。
やってみたけれどダメででした。
その後、fugitive以外のプラグインなどを削除して見たら、GstatusやGwriteは問題ない状態になりました。他のプラグインと何らかの干渉があったようです。
しかしGcommitは前と同じ用に、は小さな黒いウインドウが一瞬出て消えるだけでcommitされない状態です。画面を録画して黒いウインドウの表示を見てみたのですが以下の通りでした。
C:\dindows\system32\cmd.exe /c (git --git-dir=^"D::/01/.git^" commit ^> C:\Users\ユーザー名\AppData\Local\Temp\VID19F3.tmp 2^> C:\Users\ユーザー名\AppData\Local\Temp\VIE19F4.tmp)
shell returned 128
> (コマンドの所には、「:Gcommit(改行が入る)fugitive:(fugitive:は赤字)」
issue #665にあるのと同じような話なんですかね...
https://github.com/tpope/vim-fugitive/issues/665
> https://github.com/tpope/vim-fugitive/issues/665
同じステータ表示です(でした)。
一応Gcommitなどもできるようになり、ある程度解決しました。
Gcommitが使えなかった原因は、「sh.exe」へのパスが通ってなかったからかなと思っています。
そして、Gcommitが使えるようになったのは、このプラグイン以外の問題に取り組んでいるときにcygwinを入れて、gitのではなくcygwinのsh.exeにパスを設定したおかげだと想像しています。
いつの間にか動くようになっていたので何が問題だったか明確ではないですし、GcommitだけではなくGstatusなど含めた全てのコマンドが使えなくなることが現在もちょくちょくあるので完全解決ではありませんが。
みなさまアドバイスありがとうございました。