Buka banyak tab di iTerm2 dengan direktori tertentu

8

Saya ingin tahu apakah ini mungkin.

Saya ingin mengatur beberapa skrip atau perintah yang akan membuka 5 tab dan setiap tab yang akan terbuka akan memiliki direktori sendiri yang ditentukan

Semua ada di jendela yang sama

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

Ini ada di iTerm2 di Mac OS X.

Saya tahu saya bisa melakukan sesuatu seperti CMD + T dan kemudian buka masing-masing menggunakan cd ~/folderA1 dan seterusnya, tetapi jika ada perintah yang bisa saya atur atau skrip yang setelah dieksekusi mereka akan melakukannya sekaligus saya ingin tahu apakah ada cara untuk melakukannya.

Ali
sumber

Jawaban:

8

Memperbarui: ITem baru mengharuskan Anda untuk mengubah sintaks, jadi ini akan terlihat seperti:

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

Lihat juga jawaban ini di sini .


Untuk versi iTerm yang lebih lama:

Mengambil naskahnya dari jawaban saya di sini , Anda dapat melakukan sesuatu seperti ini:

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
}

Untuk menjelaskan apa yang terjadi:

  • Kami membuat fungsi shell bernama launch, jadi Anda bisa meletakkan ini di ~/.bash_profile atau di mana pun Anda ingin menjalankannya pada saat startup.

  • Kami mengulangi hasil ekspansi Bash brace ~/folderA{1..5}, yang memberi Anda ~/folderA1 melalui ~/folderA5.

  • Kami memanggil pustaka AppleScript iTerm2 melalui osascript untuk membuat tab baru, aktifkan, buka sesi default, dan cd ke direktori yang ditentukan.

slhck
sumber