Как открыть командную строку из Sublime в windows7

i'V создал функцию в 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()

теперь я хочу открыть командную строку и cd в текущем пути к файлу в Sublime (sublime 3 beta). Функция такая же, как и OpenCMD().

и я искал вопрос в поток stackover: Sublime Text 2-Откройте приглашение CMD в текущем каталоге или каталоге проекта (Windows)

Я сделал как первый парень ответил (создать cmd, cmd.py и контекст.возвышенное-меню). Но он не может работать, операция cmd всегда отключена.

cmd_in_sublime3

есть ли способ его узнать? Заранее спасибо!

3 ответов


ответ про Sublime Text 2-Откройте приглашение CMD в текущем каталоге или каталоге проекта (Windows) почти правильно.

только один шаг (для меня) должен быть изменен, имя файла должно быть верхний. Использовать CMD вместо cmd.


мои шаги (Win7):

  • открыть папку %APPDATA%\Sublime Text 3\Packages или просто нажмите настройки ->Пакеты Браузера.. в sublime-текст-3 бета
  • создать папку с именем 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 будет работать в контексте меню (Правой Кнопкой Мыши). Например: Open_cmd_in_Sublime

причины, Если вы хотите открыть командная строка командой (например, "cmd") вы можете добавить следующий контекст в По Умолчанию (Windows).возвышенное-раскладку. :

{ "keys": ["c", "m", "d"], "command": "cmd"}

вы можете открыть его из настройки ->Привязки Клавиш-User


большое спасибо @Marslo! Но, я думаю, мы можем немного улучшить плагин... (i"m на бета-версии st3, окно 8)

import os
import sublime_plugin

class CmdCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        os.system("cd " + self.view.file_name() + " & start cmd")

для Windows я заменяю команду на:

command= "cmd /K cd "+current_directory