Shell 执行
在 Sublime Text 3 中使用 Bash、Zsh 等运行类似 git、rvm、rspec、ls 等的 shell 命令。
详细信息
安装量
- 总共 23K
- Win 9K
- Mac 7K
- Linux 7K
2023年8月6日 | 2023年8月5日 | 2023年8月4日 | 2023年8月3日 | 2023年8月2日 | 2023年8月1日 | 2023年7月31日 | 2023年7月30日 | 2023年7月29日 | 2023年7月28日 | 2023年7月27日 | 2023年7月26日 | 2023年7月25日 | 2023年7月24日 | 2023年7月23日 | 2023年7月22日 | 2023年7月21日 | 2023年7月20日 | 2023年7月19日 | 2023年7月18日 | 2023年7月17日 | 2023年7月16日 | 2023年7月15日 | 2023年7月14日 | 2023年7月13日 | 2023年7月12日 | 2023年7月11日 | 2023年7月10日 | 2023年7月9日 | 2023年7月8日 | 2023年7月7日 | 2023年7月6日 | 2023年7月5日 | 2023年7月4日 | 2023年7月3日 | 2023年7月2日 | 2023年7月1日 | 2023年6月30日 | 2023年6月29日 | 2023年6月28日 | 2023年6月27日 | 2023年6月26日 | 2023年6月25日 | 2023年6月24日 | 2023年6月23日 | 2023年6月22日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 1 | 0 | 2 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 2 | 0 | 0 | 1 | 2 | 1 | 1 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
Mac | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
Linux | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
README
Shell 执行
在 Sublime Text 3 中使用 Bash、Zsh 等运行类似 git、rvm、rspec、ls 等的 shell 命令。
命令面板
Shell 执行:打开 shell_exec_open
默认快捷键
- Linux:ctrl + shift + c
- Mac:shift + command + c
- Windows:ctrl + shift + c
设置
用户/首选项.sublime-settings
:
// You can use this file to load RVM, ~/.bashrc, custom shell functions...
// "shell_exec_load_sh_file": "your-sh-file-to-load-before-commands.sh",
// Shell executable: "/bin/bash", "/bin/sh", "/usr/bin/zsh"...
"shell_exec_executable": "/bin/bash",
// Shell executable option: --login # Run as login load your ~/.bashrc or other user settings.
"shell_exec_executable_option": "--login", // ["-l"] ["--login"]
// The output of the command can be shown on the Panel or in a New File: "panel", "file" or "none".
"shell_exec_output": "file",
// Set the Output File Syntax. Default is Ruby, because Ruby looks nice. =)
"shell_exec_output_syntax": "Ruby",
// Enable or Disable the word wrap at the Output File.
"shell_exec_output_word_wrap": true,
// Enable or Disable the Debug infos (for plugin developers).
"shell_exec_debug": false,
// Name of the Shell Exec command box.
"shell_exec_title": "Shell Exec",
// Defines where the command should be executed: false, "project_folder" or "file_folder".
// If "project_folder" is set, will execute: cd project_folder && your_commnad.
"shell_exec_context": "project_folder",
自定义快捷键
shell_exec_open
:打开 Shell 执行框以输入一些命令。
shell_exec_run
:运行预定义的命令。
用户/默认(Linux).sublime-keymap
:
{
// (ctrl+shift+c+o) key binding
"keys": ["ctrl+shift+c", "ctrl+shift+o"],
// "shell_exec_open": Open Shell Exec box to input some command.
// "shell_exec_run": Runs a predefined command.
"command": "shell_exec_open",
"args": {
// Title of the Shell Exec box.
"title": "Shell Exec",
// Predefined command.
"command": "git status",
// Format the command with variables.
"format": "git ${input}",
// You can use this file to load RVM, ~/.bashrc, custom shell functions...
// "load_sh_file": "your-sh-file-to-load-before-commands.sh",
// Shell executable: "/bin/bash", "/bin/sh", "/usr/bin/zsh"...
"executable": "/bin/bash",
// Shell executable option: --login # Run as login load your ~/.bashrc or other user settings.
"executable_option": "--login", // ["-l"] ["--login"]
// The output of the command can be shown on the Panel or in a New File: "panel", "file".
"output": "file",
// Set the Output File Syntax. Default is Ruby, because Ruby looks nice. =)
"output_syntax": "Ruby",
// Enable or Disable the word wrap at the Output File.
"output_word_wrap": true,
// Enable or Disable the Debug infos (for plugin developers).
"debug": false,
// Name of the Shell Exec command box.
"title": "Shell Exec",
// Defines where the command should be executed: false, "project_folder" or "file_folder".
// If "project_folder" is set, will execute: cd project_folder && your_commnad.
"context": "project_folder",
}
}
命令格式语法
// (ctrl+shift+c+f) key binding
"keys": ["ctrl+shift+c", "ctrl+shift+f"],
// "shell_exec_open": Open Shell Exec box to input some command.
// "shell_exec_run": Runs a predefined command.
"command": "shell_exec_exec",
"args": {
// Format the command with variables.
"format": "rspec '${file}:${row}'"
}
可用变量: * ${input}
:来自 Shell 执行框的输入。 * ${region}
:选择的文本。 * ${row}
:选中的文件中的行列号或光标位置。 * ${file_name}
:ShellExec.py * ${file}
:/home/user/.config/sublime-text-3/Packages/shell-exec/ShellExec.py * ${packages}
:/home/user/.config/sublime-text-3/Packages * ${file_base_name}
:ShellExec * ${platform}
:Linux * ${file_extension}
:py * ${file_path}
:/home/user/.config/sublime-text-3/Packages/shell-exec * ${folder}
:/home/user/.config/sublime-text-3/Packages/shell-exec
常见问题
RVM 命令、~/.bashrc、~/.bash_profile、~/.zshrc...
您可以使用登录模式加载 RVM 和配置文件。
// Shell executable: "/bin/bash", "/bin/sh", "/usr/bin/zsh"...
"shell_exec_executable": "/bin/bash",
// Shell executable option: --login # Run as login load your ~/.bashrc or other user settings.
"shell_exec_executable_option": "--login", // ["-l"] ["--login"]
或者... 您可以加载自定义的 sh 文件
"shell_exec_load_sh_file": "my-config-loader-file.sh"
my-config-loader-file.sh
:模拟交互式 shell 加载 ~/.bashrc
PS1=true # Simulate Interactive Shell
source ~/.bashrc
my-config-loader-file.sh
:加载 RVM 命令
export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
调试
只需启用调试以查看面板输出:用户/首选项.sublime-settings
// Enable or Disable the Debug infos (for plugin developers).
"shell_exec_debug": true,
一些酷炫演示
Git
{
"keys": ["ctrl+shift+g", "ctrl+shift+g"],
"command": "shell_exec_open",
"args": { "title": "Git Command:", "format": "git ${input}" }
},
{
"keys": ["ctrl+shift+g", "ctrl+shift+c"],
"command": "shell_exec_open",
"args": {
"title": "Git Checkout:",
"format": "git checkout ${input}",
"command": "'${file}'"
}
},
{
"keys": ["ctrl+shift+g", "ctrl+shift+s"],
"command": "shell_exec_run",
"args": { "command": "git status" }
},
{
"keys": ["ctrl+shift+g", "ctrl+shift+d", "ctrl+shift+a"],
"command": "shell_exec_run",
"args": { "command": "git diff", "output_syntax": "Diff" }
},
{
"keys": ["ctrl+shift+g", "ctrl+shift+d", "ctrl+shift+f"],
"command": "shell_exec_run",
"args": { "command": "git diff '${file}'", "output_syntax": "Diff" }
},
{
"keys": ["ctrl+shift+g", "ctrl+shift+b"],
"command": "shell_exec_run",
"args": { "command": "git blame '${file}'", "output_syntax": "Git Blame" }
}
RSpec
{
"keys": ["ctrl+shift+r", "ctrl+shift+r"],
"command": "shell_exec_open",
"args": {
"title": "RSpec Command:", "format": "rspec ${input} --require spec_helper"
}
},
{
"keys": ["ctrl+shift+r", "ctrl+shift+o"],
"command": "shell_exec_open",
"args": {
"title": "RSpec Command:",
"command": "'${file}:${row}'",
"format": "rspec ${input} --require spec_helper"
}
},
{
"keys": ["ctrl+shift+r", "ctrl+shift+a"],
"command": "shell_exec_run",
"args": { "command": "rspec spec --require spec_helper" }
},
{
"keys": ["ctrl+shift+r", "ctrl+shift+f"],
"command": "shell_exec_run",
"args": { "command": "rspec '${file}' --require spec_helper" }
},
{
"keys": ["ctrl+shift+r", "ctrl+shift+l"],
"command": "shell_exec_run",
"args": { "command": "rspec '${file}:${row}' --require spec_helper" }
},
{
"keys": ["ctrl+shift+r", "ctrl+shift+s"],
"command": "shell_exec_run",
"args": { "command": "rspec '${region}' --require spec_helper" }
}
Unix
{
"keys": ["ctrl+shift+u", "ctrl+shift+p"],
"command": "shell_exec_open",
"args": {
"title": "Find Process",
"format": "ps aux | grep ${input}"
}
}