एक विशिष्ट निर्देशिका के साथ iTerm2 में कई टैब खोलें


9

मैं जानना चाहूंगा कि क्या यह संभव है।

मैं कुछ स्क्रिप्ट या कमांड सेट करना चाहता हूं जो 5 टैब खोलेंगे और जो प्रत्येक टैब खुल जाएगा, उनकी अपनी निर्देशिका निर्दिष्ट होगी

सभी एक ही खिड़की में

tab 1: open ~/folderA1
tab 2: open ~/folderA2
tab 3: open ~/folderA3
tab 4: open ~/folderA4
tab 5: open ~/folderA5

यह मैक ओएस एक्स में iTerm2 पर है।

मुझे पता है कि मैं सीएमडी + टी की तरह कुछ कर सकता हूं और फिर उनमें से प्रत्येक का उपयोग करके cd ~/folderA1और इतने पर खोल सकता हूं , लेकिन अगर कोई आदेश है कि मैं सेट कर सकता हूं या एक स्क्रिप्ट है जिसे निष्पादित करने के बाद वे ऐसा करेंगे जो मुझे जानना पसंद है अगर ऐसा करने का कोई तरीका है।

जवाबों:


8

अपडेट: नए iTerm को आपको सिंटैक्स को बदलने की आवश्यकता है, इसलिए यह इस तरह दिखाई देगा:

tell application "iTerm"
    tell current window
        create tab with default profile
    end tell
    tell current tab of current window
        set _new_session to last item of sessions
    end tell
    tell _new_session
        select
        write text "cd \"$dir\""
    end tell
end tell

इस उत्तर को भी यहाँ देखें ।


पुराने iTerm संस्करणों के लिए:

मेरे उत्तर की पटकथा यहाँ लेते हुए , आप कुछ इस तरह कर सकते हैं:

launch () {
for dir in ~/folderA{1..5}; do
/usr/bin/osascript <<-EOF
tell application "iTerm"
    make new terminal
    tell the current terminal
        activate current session
        launch session "Default Session"
        tell the last session
            write text "cd \"$dir\""
        end tell
    end tell
end tell
EOF
done
}

यह बताने के लिए कि क्या चल रहा है:

  • हम नाम का एक शेल फंक्शन बनाते हैं launch, इसलिए आप इसे अपने ~/.bash_profileया जहां भी चाहें इसे स्टार्टअप पर निष्पादित कर सकते हैं।

  • हम बैश ब्रेस विस्तार के परिणाम पर पाश ~/folderA{1..5}है, जो आपको देता है ~/folderA1के माध्यम से ~/folderA5

  • हम osascriptएक नया टैब बनाने, उसे सक्रिय करने, डिफ़ॉल्ट सत्र लॉन्च cdकरने और निर्दिष्ट निर्देशिका के माध्यम से iTerm2 AppleScript लाइब्रेरी को कॉल करते हैं ।


1

itermocil इसे संभाल सकता है।

नामक एक फाइल में निम्नलिखित के साथ ~/.itermocil/foo.yml, कमांड itermocil fooनिर्दिष्ट फ़ोल्डरों में 5 टैब खोलेगी। (हालांकि यह वास्तव में सरल लेआउट है - इटर्मोसिल इससे बहुत कुछ कर सकता है।)

windows:
  - name: 1
    root: ~/folderA1
    layout: even-horizontal
    panes:
      - focus: true
  - name: 2
    root: ~/folderA2
    layout: even-horizontal
    panes:
      - focus: true
  - name: 3
    root: ~/folderA3
    layout: even-horizontal
    panes:
      - focus: true
  - name: 4
    root: ~/folderA4
    layout: even-horizontal
    panes:
      - focus: true
  - name: 5
    root: ~/folderA5
    layout: even-horizontal
    panes:
      - focus: true
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.