15

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()です。

そして、スタックオーバー フローで質問を検索しました: Sublime Text 2 - 現在またはプロジェクト ディレクトリで CMD プロンプトを開く (Windows)

最初の男が答えたようにしました(cmd、cmd.py、およびContext.sublime-menuを作成します)。しかし、それは機能しません。cmd 操作は常に無効になっています。

cmd_in_sublime3

手に入れる方法はありますか?前もって感謝します!

4

5 に答える 5

32

Sublime Text 2 - 現在またはプロジェクト ディレクトリ (Windows) で CMD プロンプトを開くに関する回答はほぼ正しいです。

ファイル名を大文字にする必要があるのは、(私にとっては) 1 つのステップだけです。CMDの代わりに使用しcmdます。


私の手順 (Win7):

  • フォルダーを開くか、[ Preferences] -> [ Browser Packages..%APPDATA%\Sublime Text 3\Packages ] をクリックします 。sublime-text-3 Beta で
  • CMD( Uppercase )という名前のフォルダーを作成します。CMDのパスは である必要があります%APPDATA%\Sublime Text 3\Packages\CMD
  • フォルダーCMDcmd.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」) でコマンド ラインを開きたい場合は、次のコンテキストをDefault (Windows).sublime-keymapファイルに追加できます。:

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

Preferences -> Key Bindings - Userから開くことができます

于 2013-09-06T11:22:20.193 に答える
2

どうもありがとう@Marslo!しかし、プラグインを少し改善できると思います... (私は st3 ベータ版、window 8 を使用しています)

import os
import sublime_plugin

class CmdCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        os.system("cd " + self.view.file_name() + " & start cmd")
于 2016-04-06T06:33:11.010 に答える