Sublimetext3 将工作目录设置为SubmiterePL中活动脚本的位置

Sublimetext3 将工作目录设置为SubmiterePL中活动脚本的位置,sublimetext3,sublimerepl,Sublimetext3,Sublimerepl,对于R和Python中的命令,我使用Sublime Text 3和SublimeREPL。无论何时启动SublimeREPL,它都会将当前工作目录设置为Sublime文本安装目录。这在Windows和Mac OSX上都会发生。通常,我需要从R或Python运行代码,这会打开一个文件,该文件与我正在运行的R或py文件位于同一文件夹中。在正常情况下(即不使用升华文本),这可以很好地工作,因为R或Python解释器知道要在脚本所在的同一目录中查找 但是,使用SubmiterePL时,命令会作为文本“传

对于R和Python中的命令,我使用Sublime Text 3和SublimeREPL。无论何时启动SublimeREPL,它都会将当前工作目录设置为Sublime文本安装目录。这在Windows和Mac OSX上都会发生。通常,我需要从R或Python运行代码,这会打开一个文件,该文件与我正在运行的
R
py
文件位于同一文件夹中。在正常情况下(即不使用升华文本),这可以很好地工作,因为R或Python解释器知道要在脚本所在的同一目录中查找

但是,使用SubmiterePL时,命令会作为文本“传输”到SubmiterePL,因此SubmiterePL不知道程序来自何处。因此,我需要在我的每个程序中明确指定我试图访问的文件的位置,这有点麻烦,尤其是当我的程序四处移动时(它们确实如此)

是否有某种方法可以使SublimeREPL在启动时将当前工作目录设置为与当前活动脚本文件相同的目录?这将是一个很好的解决方法,因为如果我改为使用位于不同目录中的文件,就必须重新启动REPL


我有同样的问题,找到了答案

对于Python和IPython,在您的
Packages/User
文件夹中,创建
subgramerepl/config/Python/Main.subgrame菜单
,其中指定
“cwd”:“$file\u path”

[
    {
        "id": "tools",
        "children":
        [{
            "caption": "SublimeREPL",
            "mnemonic": "r",
            "id": "SublimeREPL",
            "children":
            [
                {
                    "caption": "Python",
                    "id": "Python",

                    "children":[
                        {
                            "command": "repl_open",
                            "caption": "Python - Anaconda",
                            "id": "repl_python",
                            "mnemonic": "p",
                            "args": {
                                "type": "subprocess",
                                "encoding": "utf8",
                                "cmd": ["/path/to/Anaconda/python", "-i", "-u"],
                                "cwd": "$file_path",
                                "syntax": "Packages/Python/Python.tmLanguage",
                                "external_id": "python",
                                "extend_env": {"PYTHONIOENCODING": "utf-8"}
                            }
                        },
                        {
                            "command": "repl_open",
                            "caption": "IPython - Anaconda",
                            "id": "repl_python_ipython",
                            "mnemonic": "p",
                            "args": {
                                "type": "subprocess",
                                "encoding": "utf8",
                                "autocomplete_server": true,
                                "cmd": ["/path/to/Anaconda/python", "-u", "${packages}/SublimeREPL/config/Python/ipy_repl.py"],
                                "cwd": "$file_path",
                                "syntax": "Packages/Python/Python.tmLanguage",
                                "external_id": "python",
                                "extend_env": {
                                    "PYTHONIOENCODING": "utf-8",
                                    "SUBLIMEREPL_EDITOR": "$editor"
                                }
                            }
                        }
                    ]
                }
            ]
        }]
    }
]

我想,对于R来说也是一样。

我刚刚在ubuntu中安装了一个干净版本的SublimiteText3和SublimiteRepl,当我启动SublimiteRepl并编写
导入操作系统时;它正确地显示了我当前的文件目录。所以换句话说,我不能复制你的问题。请不要复制和粘贴其他答案,即使你链接到它们。如果一个答案解决了另一个问题,你应该将该问题标记为重复问题,或者至少在评论中保留相关答案的链接。对我有效的不是上面答案中建议的“cwd”:“$file_path”,而是“cwd”:“$folder”。您可以在此处找到我的问题的详细说明: