在 Windows Ubuntu 从 Bash 打开 Sublime Text
Opening Sublime Text from Bash on Ubuntu on Windows
我似乎无法弄清楚如何从 Bash 在 Ubuntu 在 Windows 打开 Sublime Text 2。最终我希望能够使用 subl .
打开我所在目录的内容。
在我的机器上,Sublime Text 2 安装在 C:\Program Files\Sublime Text 2
。 sublime_text.exe
位于此目录中。在 Windows 的 Ubuntu 上的 Bash 中,我可以通过 /mnt/c/
访问位于 C
上的任何文件。
我尝试设置一个别名:alias subl="/mnt/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"
。但是,在尝试 subl .
时出现以下错误:
cannot execute binary file: Exec format error
如何正确设置?
now possible 从 Ubuntu 命令行上的 Bash 启动 Windows 可执行文件(如 Sublime Text)。
您还应该能够设置别名以从命令行使用它(就像您尝试做的那样)。我的如下(并且工作正常):
alias subl='"/mnt/c/Program Files/Sublime Text 3/subl.exe"'
注意第二组引号:这是必需的,因为文件路径中有空格。或者,您可以转义空格(就像您在示例中所做的那样)。
Nick F 的回答是正确的,但有一个重要的警告。
如果您打算使用 Sublime Text 编辑 Linux 文件,那么您应该重新考虑。
这样做会导致数据损坏,正如我亲身发现的那样。
有关原因的更多详细信息,请参阅此处:https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
我知道这是一个旧的 post,但我希望这将作为对其他试图设置 Sublime Text 来编辑 Linux 文件的用户的警告。
可以做到。
您可以使用本地 Sublime 使用 RemoteSubl(一个 SublimeText 插件)编辑远程文件:
https://github.com/randy3k/RemoteSubl
在这种情况下开箱即用,并且还注意不同的文件子系统不会相互混淆。
如果有人想改进.. 检测文件是否在 windows 或 linux 领域的条件,并启动适当的编辑器...使用不同的主题...哎呀!那太好了。
创建别名将不允许您使用
subl path_to_file
相反,您可以 link 将 subl 应用程序添加到您的 /bin 文件夹
sudo ln -s /mnt/c/Program\ Files/Sublime\ Text\ 3/subl.exe /bin/subl
完成!!
如果没有 /bin 文件夹,请执行 whereis ls
并将 /bin 替换为输出目录
ps- /bin 是类 Unix OS 中的标准目录,其中包含可执行文件(二进制文件的缩写形式)
https://github.com/grigger/subl-wsl
这是我刚从一些 Whosebug 答案开始编写的更完整的脚本,它将在 sublime 中打开两个具有 Windows 或 Linux 路径的文件。
即subl ~/something
将在 C:\Users\<usr>\AppData\Local\Packages\...\LocalState\rootfs
中打开 sublime
subl /mnt/d/something
将打开 D:\something
我知道答案已经过了很长一段时间,但也许将来其他人会因此得到帮助。
只是想向其他用户强调,WSL 在 2019 年 5 月确实有更新,根据我的阅读,现在可以编辑来自 windows 的 Linux 个文件,只要您使用 9P 文件服务器(例如 \wsl$\
)。这是一个巨大的进步!
这个通过添加到 .zshrc 中为我工作
使用 Windows 10 Pro
的 WSL 中的 Debian
alias subl="/mnt/c/Program\ Files/Sublime\ Text\ 3/sublime_text.exe"
我似乎无法弄清楚如何从 Bash 在 Ubuntu 在 Windows 打开 Sublime Text 2。最终我希望能够使用 subl .
打开我所在目录的内容。
在我的机器上,Sublime Text 2 安装在 C:\Program Files\Sublime Text 2
。 sublime_text.exe
位于此目录中。在 Windows 的 Ubuntu 上的 Bash 中,我可以通过 /mnt/c/
访问位于 C
上的任何文件。
我尝试设置一个别名:alias subl="/mnt/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe"
。但是,在尝试 subl .
时出现以下错误:
cannot execute binary file: Exec format error
如何正确设置?
now possible 从 Ubuntu 命令行上的 Bash 启动 Windows 可执行文件(如 Sublime Text)。
您还应该能够设置别名以从命令行使用它(就像您尝试做的那样)。我的如下(并且工作正常):
alias subl='"/mnt/c/Program Files/Sublime Text 3/subl.exe"'
注意第二组引号:这是必需的,因为文件路径中有空格。或者,您可以转义空格(就像您在示例中所做的那样)。
Nick F 的回答是正确的,但有一个重要的警告。
如果您打算使用 Sublime Text 编辑 Linux 文件,那么您应该重新考虑。 这样做会导致数据损坏,正如我亲身发现的那样。
有关原因的更多详细信息,请参阅此处:https://blogs.msdn.microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
我知道这是一个旧的 post,但我希望这将作为对其他试图设置 Sublime Text 来编辑 Linux 文件的用户的警告。
可以做到。
您可以使用本地 Sublime 使用 RemoteSubl(一个 SublimeText 插件)编辑远程文件:
https://github.com/randy3k/RemoteSubl
在这种情况下开箱即用,并且还注意不同的文件子系统不会相互混淆。
如果有人想改进.. 检测文件是否在 windows 或 linux 领域的条件,并启动适当的编辑器...使用不同的主题...哎呀!那太好了。
创建别名将不允许您使用
subl path_to_file
相反,您可以 link 将 subl 应用程序添加到您的 /bin 文件夹
sudo ln -s /mnt/c/Program\ Files/Sublime\ Text\ 3/subl.exe /bin/subl
完成!!
如果没有 /bin 文件夹,请执行 whereis ls
并将 /bin 替换为输出目录
ps- /bin 是类 Unix OS 中的标准目录,其中包含可执行文件(二进制文件的缩写形式)
https://github.com/grigger/subl-wsl
这是我刚从一些 Whosebug 答案开始编写的更完整的脚本,它将在 sublime 中打开两个具有 Windows 或 Linux 路径的文件。
即subl ~/something
将在 C:\Users\<usr>\AppData\Local\Packages\...\LocalState\rootfs
中打开 sublime
subl /mnt/d/something
将打开 D:\something
我知道答案已经过了很长一段时间,但也许将来其他人会因此得到帮助。
只是想向其他用户强调,WSL 在 2019 年 5 月确实有更新,根据我的阅读,现在可以编辑来自 windows 的 Linux 个文件,只要您使用 9P 文件服务器(例如 \wsl$\
)。这是一个巨大的进步!
这个通过添加到 .zshrc 中为我工作 使用 Windows 10 Pro
的 WSL 中的 Debianalias subl="/mnt/c/Program\ Files/Sublime\ Text\ 3/sublime_text.exe"