我在 VIM 中创建了一个名为 OpenCMD() 的函数,它用于在 VIM 中打开命令行或终端(并在当前文件路径中 cd)
func! OpenCMD()
if has('win32')
let com = '!cmd /c start cd '. expand('%:p:h')
else
let com = '!/usr/bin/gnome-terminal --working-directory=' . expand('%:p:h')
endif
silent execute com
endfunc
nmap cmd :call OpenCMD()
现在,我想在 Sublime(sublime 3 beta)的当前文件路径中打开命令行和 cd。功能同OpenCMD()
。
然后我在stackover flow中搜索了一个问题:Sublime Text 2 - Open CMD prompt at current or project directory (Windows)
我按照第一个人的回答做了(创建 cmd、cmd.py 和 Context.sublime-menu)。但它不能工作,cmd 操作总是被禁用。
有什么办法可以得到吗?提前致谢!
最佳答案
关于Sublime Text 2 - Open CMD prompt at current or project directory (Windows)的答案几乎是正确的。
只有一个步骤(对我而言)必须更改,即文件名应大写。使用 CMD
而不是 cmd
。
我的步骤(Win7):
- 打开文件夹
%APPDATA%\Sublime Text 3\Packages
或者直接点击 Preferences -> Browser Packages.. in sublime-text-3 Beta - 创建一个名为
CMD
(大写)的文件夹。 CMD的路径应该是%APPDATA%\Sublime Text 3\Packages\CMD
。 - 打开文件夹CMD,创建一个文件,命名为
cmd.py
(小写),粘贴上下文如下:<
import os, sublime_plugin
class CmdCommand(sublime_plugin.TextCommand):
def run(self, edit):
file_name=self.view.file_name()
path=file_name.split("\\")
current_driver=path[0]
path.pop()
current_directory="\\".join(path)
command= "cd "+current_directory+" & "+current_driver+" & start cmd"
os.system(command)
- (再次)创建一个文件,命名为
Context.sublime-menu
。添加上下文如下:
[
{ "command": "cmd" }
]
- Cmd 功能将在上下文菜单(右键单击)中运行。例如:
当然,如果你想通过命令打开命令行(例如通过'cmd'),你可以将以下上下文添加到Default (Windows).sublime-keymap 文件。 :
{ "keys": ["c", "m", "d"], "command": "cmd"}
您可以从Preferences -> Key Bindings - User打开它
关于windows - 如何在 Windows 7 中从 Sublime 打开命令行提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18606682/