在WSL上从Bash打开Sublime Text

时间:2019-09-26 16:51:11

标签: bash window sublimetext3 windows-subsystem-for-linux

我已经完成

  

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

但是,现在执行subl test.txt会在C:/System32/test.txt中打开Sublime文本,该文本不存在,因此无法保存。我也不想将某些内容保存到System32。如何更改它以便打开我的实际文件?

此外,如果我执行subl〜/ test.txt,则它会尝试打开 constructor(props) { super(props); this.state = { weather: [], cityName: [], value: [], } }//my state const { value } = this.state //state //hete to maping <ul> { value.map((item) => ( <p>{item.label}</p> )) } </ul>

3 个答案:

答案 0 :(得分:1)

第一个答案是好的,但是如果您的linux fs链接到Windows文件夹(即/home/me/something -> /mnt/c/something-subl ~/something/file将失败),则第一个答案是无效的,如果尝试访问Windows,它也不会起作用直接fs(即subl /mnt/d/file)。

这是我从上面的答案开始写的一个更完整的脚本,该脚本将在Windows或Linux路径上以崇高的方式打开文件。

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

我知道答案已经有一段时间了,但是将来其他人可能会对此有所帮助。

答案 1 :(得分:0)

您可以编写一个在正确位置打开subl并将其放入Linux PATH(例如,在/bin中)的脚本。

该脚本在正确的位置打开subl.exe。对于WSL1,脚本可能如下所示:

#!/bin/bash
/mnt/c/Program\ Files/Sublime\ Text\ 3/subl.exe "C:/Users/<Username>/AppData/Local/Packages/<WSL Distro name>/LocalState/rootfs/$*"

答案 2 :(得分:-1)

WSL就像Windows的Linux虚拟机。 因此,您必须在WSL上为Linux安装Sublime Text。

请参阅here