1.安装插件terminal
2.菜单Sublime text -> Preferences -> Browse Packages
3.找到terminal -> Terminal.sh
4.替换粘贴
#!/bin/bash # Modified following this issue: https://github.com/wbond/sublime_terminal/issues/89 CD_CMD="cd "\\\"$(pwd)\\\"" && clear" if echo "$SHELL" | grep -E "/fish$" &> /dev/null; then CD_CMD="cd "\\\"$(pwd)\\\""; and clear" fi VERSION=$(sw_vers -productVersion) OPEN_IN_TAB=0 while [ "$1" != "" ]; do PARAM="$1" VALUE="$2" case "$PARAM" in --open-in-tab) OPEN_IN_TAB=1 ;; esac shift done if (( $(expr $VERSION '<' 10.7) )); then RUNNING=$(osascript<<END tell application "System Events" count(processes whose name is "iTerm") end tell END ) else RUNNING=1 fi if (( ! $RUNNING )); then osascript<<END tell application "iTerm" tell current window tell current session of (create tab with default profile) write text "$CD_CMD" end tell end tell activate end tell END else if (( $OPEN_IN_TAB )); then osascript &>/dev/null <<EOF tell application "iTerm" if (count of windows) = 0 then set theWindow to (create window with default profile) set theSession to current session of theWindow else set theWindow to current window tell current window set theTab to create tab with default profile set theSession to current session of theTab end tell end if tell theSession write text "$CD_CMD" end tell activate end tell EOF else osascript &>/dev/null <<EOF tell application "iTerm" tell (create window with default profile) tell the current session write text "$CD_CMD" end tell end tell activate end tell EOF fi fi
5.Sublime Text -> Preferences -> Package Settings -> Terminal -> Settings-User
{ "terminal": "Terminal.sh", "parameters": ["open_terminal_project_folder"] }
注:原sublime text 3 iTerm.sh文件代码如下:
#!/bin/bash CD_CMD="cd "\\\"$(pwd)\\\"" && clear" if echo "$SHELL" | grep -E "/fish$" &> /dev/null; then CD_CMD="cd "\\\"$(pwd)\\\""; and clear" fi VERSION=$(sw_vers -productVersion) OPEN_IN_TAB=0 while [ "$1" != "" ]; do PARAM="$1" VALUE="$2" case "$PARAM" in --open-in-tab) OPEN_IN_TAB=1 ;; esac shift done if (( $(expr $VERSION '<' 10.7) )); then RUNNING=$(osascript<<END tell application "System Events" count(processes whose name is "iTerm") end tell END ) else RUNNING=1 fi if (( ! $RUNNING )); then osascript<<END tell application "iTerm" tell current terminal launch session "Default Session" tell the last session write text "$CD_CMD" end tell end tell end tell END else if (( $OPEN_IN_TAB )); then osascript &>/dev/null <<EOF tell application "iTerm" if (count of terminals) = 0 then set term to (make new terminal) else set term to current terminal end if tell term launch session "Default Session" tell the last session write text "$CD_CMD" end tell end tell end tell EOF else osascript &>/dev/null <<EOF tell application "iTerm" set term to (make new terminal) tell term launch session "Default Session" tell the last session write text "$CD_CMD" end tell end tell end tell EOF fi fi