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

Windowsのgvimでリモートファイルをnetrwで開く

$
0
0

背景

windowsのgvimでリモートファイルをnetrwで開こうとしたらエラーが出た。

前提

リモートサーバにパスなしのカギでsshできること

原因

gvim scp://server/filename

とすればリモートのファイルを開くことができるはずだが、できない。
netrwから呼ばれるscpコマンドが

scp -q "server:filename" "/C/Users/user/AppData/Local/Temp/****.tmp"

となっているが、Windows10標準で搭載されているSCPコマンドではこのPathを解釈できていないっぽい。これはmsysでビルドされたSCP用の仕様らしい。
https://github.com/vim-jp/issues/issues/635

解決策

\vim81\autoload\netrw.vim
をバックアップとってから書き換える

2099行あたりを下記のようにコメントアウト

    " 'C' in 'C:\path\to\file' is handled as hostname on windows.
    " This is workaround to avoid mis-handle windows local-path:
    "if g:netrw_scp_cmd =~ '^scp' && (has("win32") || has("win95") || has("win64") || has("win16"))
    "  let tmpfile_get = substitute(tr(tmpfile, '\', '/'), '^\(\a\):[/\\]\(.*\)$', '/\1/\2', '')
    "else
    let tmpfile_get = tmpfile
    "endif

お願い

netrw.vimを書き換える以外の方法をご存じの方がいればコメントをお願いいたします。


Viewing all articles
Browse latest Browse all 5608

Trending Articles



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