web-dev-qa-db-ja.com

ディレクトリでviを実行してもファイルがリストされない

これは、Ubuntu 13.10に潜む新しいバグ(機能?)のようです。ディレクトリでviを実行すると、矢印キーで移動できるファイルがリストされません。空の画面に「不正なファイル名」というメッセージが表示されるだけです。

編集するファイルがわからない場合は最初にディレクトリをlsしなければならず、コマンド引数でディレクトリの後にファイル名全体を入力する必要があるため、これは面倒です。

これは、viのtmpなどにアクセスしたときに発生します。書き込み権限があるホームディレクトリでも発生します。

6
Parag

説明している動作は、 バグ(netrw によって引き起こされます。これは、ファイルブラウジングを処理するプラグインです。

プラグインの最新バージョンに更新すると、この動作が修正されます。

これを行うには、 netrwの最新バージョン をダウンロードし、vimで開いてソースします。そうすると、プラグインが~/.vimディレクトリに抽出され、システムのバグのあるバージョンの前にロードされます。

ファイルをダウンロードします。

wget http://www.drchip.org/astronaut/vim/vbafiles/netrw.vba.gz

vimで開きます:

vim netrw.vba.gz

Vimで、それをソースします。

:so %

その後、vimを閉じます。その後、ディレクトリを再度閲覧してください。

更新:1つのボックスで、これは最後のウィンドウを閉じることができないというエラーを示しました 。プラグインに影響はありませんでしたが、その後正常に機能しました。

2回目の更新netrwのこのバージョンは、 clipboard機能。

vim --versionを実行すると、バージョンに含まれているかどうかを確認できます。出力にはおそらく-clipboardが含まれます。これは、機能が有効になっていないことを意味します。

クリップボードサポート付きでコンパイルされたバージョンを取得するには、vimの任意のバージョンをGUIでインストールします。これにより、通常のvimclipboardサポート付きのバージョンに置き換えられます。テストケースとしてvim-gtkを使用しました。

5
drc

Drcの手順に従ってみましたが、奇妙なエラーが発生しました(おそらくクリップボードのサポートがないため)。

以下は、ubuntu 13.10 Dockerイメージで、クリップボードをサポートしないVimの標準バージョンのみで機能しました。

vim /etc   # blank screen

wget http://www.vim.org/scripts/download_script.php?src_id=21427 -O netrw.vba.gz

# install the vimball
# may throw error E444, but this can seemingly can be ignored
vim netrw.vba.gz +"so %" +q  

vim /etc  # works fine

Drcとは異なる方法で行った唯一のことは、少し古いリリースのnetrwプラグイン、つまり2014-02-04にvim.orgにアップロードしたものを使用することでした。

2
Dergachev