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

Bash on Ubuntu on WindowsからhtmlファイルをWindowsのブラウザで開く

$
0
0

素人の備忘録。
ガチの素人が試行錯誤しただけなので変なところだらけだと思います。

動機

VimでMarkdownのプレビューにPrevimを使っている。
普通なら、:PrevimOpenで編集中のMarkdownのプレビューがブラウザで開く。
Bash on Ubuntu on WindowsでもVimを使えるようにしたが、Previmがうまくいかない。

前提

wsl-terminalを使用しているので、cbwinが使える。
参考:
Bash on Ubuntu on Windows + オールインワンmintty
Bash on Ubuntu on Windowsからcmd / startを使う

wstartを使えば、UbuntuからWindowsのhtmlファイルをWindowsのブラウザで開くことはできる。

#cd /mnt/c/Users/user/Documents
# wstart test.html

ところが、Ubuntuの$HOME以下にあるhtmlファイルをWindowsのブラウザで開くことができない。

#cd ~/Documents
# wstart test.html

The system cannot find the file test.html

Previmはプレビュー用のhtmlファイルを作成し、g:previm_open_cmdで指定したコマンドで開いているらしい。
wstartを指定すればいいかと安易に考えていたが、上記のとおり開くことができない。

解決策

試行錯誤してみたところ、windowsのフルパスをwstartすれば、Windowsのブラウザで開けることがわかった。

# wstart C:/Users/user/AppData/Local/lxss/home/user/Documents/test.html

つまり、引数のファイルについてWindowsのフルパスを取得しwstartするシェルスクリプトを作り、それをg:previm_open_cmdに指定すればいいはず。
ということで~/mytoolsに以下のシェルスクリプトを作成。
参考:bash で ファイルの絶対パスを得る

~/mytool/starthtmlinwin.sh
#!/bin/bashwindir='C:/Users/user/AppData/Local/lxss'BoWpath=$(readlink -f $1)
wstart $windir$BoWpath

作成したシェルスクリプトに実行権限を与える。
参考:○○.shを./○○.shで実行できるようにする

# sudo chmod +x starthtmlinwin.sh 

~/mytoolsにパスを通す。

.zprofile
exportPATH=$PATH:$HOME/mytool

g:previm_open_cmdを設定(ついでにリアルタイムプレビューも設定)。

.vimrc
" htmlを開くコマンドを指定letg:previm_open_cmd="starthtmlinwin.sh"" リアルタイムプレビュー有効letg:previm_enable_realtime=1

無事:PrevimOpenでプレビューがWindowsのブラウザで開いた。
リアルタイムプレビューもうまく動いているようだ。

どうせ素人なのでWindowsの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>