Home  >  Article  >  Development Tools  >  Solve the problem that sublime cannot open iTerm2 on Mac

Solve the problem that sublime cannot open iTerm2 on Mac

藏色散人
藏色散人forward
2021-11-18 15:26:043108browse

下面由sublime教程栏目给大家介绍如何解决Mac下sublime打不开iTerm2的问题,希望对需要的朋友有所帮助!

修复Mac下subllime中无法打开iTerm2问题

貌似升级了iTerm2到v3以后就出来这个问题了。在sublime中使用快捷键无法打开iTerm2。但是去除用户设定以后,可以在系统默认的terminal中打开。

具体解决如下:

iTerm 版本:

Solve the problem that sublime cannot open iTerm2 on Mac

打开

Solve the problem that sublime cannot open iTerm2 on Mac

找到terminal>iTerm.sh

编辑iTerm,把如下内容替换进去。

#!/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 &#39;<&#39; 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

记得这里的用户设置为(Sublime Text -> Preferences -> Package Settings -> Terminal -> Settings-User)

{
  "terminal": "iTerm.sh",
  "parameters": ["open_terminal_project_folder"]
}

这样,我们又可以愉快的在sublime里启动iTerm2了!

The above is the detailed content of Solve the problem that sublime cannot open iTerm2 on Mac. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:crossingmay. If there is any infringement, please contact admin@php.cn delete