web-dev-qa-db-ja.com

Windows上のUbuntuでBashから崇高なテキストを開く

Windows上のUbuntuでBashからSublime Text 2を開く方法がわかりません。最終的には、subl .を使用して、現在のディレクトリのコンテンツを開くことができるようにしたいと考えています。

私のマシンでは、Sublime Text 2がC:\Program Files\Sublime Text 2にインストールされています。 sublime_text.exeはこのディレクトリにあります。 Windows上のUbuntuのBashでは、Cから/mnt/c/までのすべてのファイルにアクセスできます。

エイリアスを設定してみました:alias subl="/mnt/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"。ただし、subl .を試すと、次のエラーが発生します。

バイナリファイルを実行できません:Exec形式エラー

これを適切に設定するにはどうすればよいですか?

14
Sara Tibbetts

UbuntuコマンドラインのBashからWindows実行可能ファイル(Sublime Textなど)を起動するのは 現在可能 -少なくとも、 Insider Preview (スローリング)バージョンのWindowsでは(OSビルド14986.1001)を使用しています。 Insider Previewにサインアップするのはかなり簡単で、切り替え以来問題はありませんでした(UbuntuまたはWindowsのBashのいずれかを使用して)。

また、コマンドラインからエイリアスを使用するように設定することもできます(以前と同じように)。私のものは次のとおりです(そしてうまくいきます):

alias subl='"/mnt/c/Program Files/Sublime Text 3/subl.exe"'

2番目の引用符に注意してください。これは、ファイルパスにスペースがあるために必要です。または、スペースをエスケープすることもできます(例で行ったように)。

20
Nick F

Nick Fの答えは正しいですが、重要な警告があります。

Sublime Textを使用してLinuxファイルを編集する場合は、再検討する必要があります。私が直接目にしたように、これを行うとデータが破損する可能性があります。

理由の詳細については、こちらをご覧ください: https://blogs.msdn.Microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and- tools /

これは古い投稿だと思いますが、Linuxファイルを編集するためにSublime Textを設定しようとしている他のユーザーへの警告として役立つことを願っています。

6
Sam D

エイリアスを作成すると、使用できなくなります

subl path_to_file

代わりに、sublアプリケーションを/ binフォルダーにリンクするだけです。

 Sudo ln -s /mnt/c/Program\ Files/Sublime\ Text\ 3/subl.exe /bin/subl

できた!!

/ binフォルダーがない場合はwhereis lsおよび/ binを出力ディレクトリに置き換えます

ps-/binは、実行可能ファイル(バイナリの短縮形)を含むUnixライクなOSの標準ディレクトリです。

1
Aakash Dantre

https://github.com/grigger/subl-wsl

これは、スタックオーバーフローの回答から始めて書いた、より完全なスクリプトです。これは、WindowsまたはLinuxパスを持つ両方のファイルを崇高に開きます。

つまり、subl ~/somethingC:\Users\<usr>\AppData\Local\Packages\...\LocalState\rootfsで崇高に開きますsubl /mnt/d/somethingD:\somethingで開きます

答えが出てからかなり時間が経っているのはわかっていますが、おそらく他の人たちがこれで助けてくれるでしょう。

0
grigger

2019年5月にWSLが実際に更新されたことを他のユーザーに強調したいだけです。私の読んだことに基づいて、9Pファイルサーバーを使用している限り、WindowsからLinuxファイルを編集しても問題ありません(例:\\wsl$\)。これは大きな改善です!

0
Jonathan

できます。

SublimeTextプラグインであるRemoteSublを使用して、ローカルのSublimeでリモートファイルを編集できます。

https://github.com/randy3k/RemoteSubl

このシナリオではそのまま使用できます。また、さまざまなファイルサブシステムが互いに干渉しないように注意します。

誰かが改善したい場合..ファイルがWindowsまたはLinuxレルムにあるかどうかを検出し、適切なエディターを別のテーマで起動します... Geez!それは素晴らしいでしょう。

0
elMestre