Funzione di uscita generica per iTerm2

3

Recentemente ho iniziato a utilizzare iTerm2 al posto dell'applicazione macOS Terminal e ne sono davvero felice. Sono molto abituato a usare il comando exit per chiudere l'istanza che al momento ha lo stato attivo. Per esempio intendo uno dei seguenti: Tab, Window o Split Panel.

Come posso scrivere una funzione exit che chiude l'istanza attualmente in esecuzione? La seguente soluzione alternativa funziona per Windows ma non per le schede né per i pannelli divisi:

function exit {
    osascript -e 'tell application "iTerm2" to close first window'
}

La soluzione dovrebbe funzionare con zsh o bash .

    
posta datell 18.06.2018 - 13:58
fonte

3 risposte

0

La sezione Script del La documentazione di iTerm2 mi ha aiutato a risolvere il mio problema.

In .zshrc ho definito la seguente funzione:

function exit {
    osascript ~/.zsh/.function_exit.as
}

Con ~/.zsh/.function_exit.as as

tell application "iTerm2"
    tell current window to close current session
end tell

Inoltre, ho impostato la seguente opzione nelle impostazioni di iTerm2:

Usandotuttelecosedicuisoprainsiemeottengoilseguentecomportamento:

Poiché ciò non dipende dall'uso di Shell, tutto dovrebbe funzionare perfettamente usando bash (e il corrispondente file-punto).

    
risposta data 18.06.2018 - 21:37
fonte
2

In Terminale, l'impostazione predefinita per la gestione delle sessioni chiuse è di lasciare la finestra aperta.

In Preferenze > Profili:

IniTerm2,l'impostazionepredefinitaèchiuderelafinestra

Se disabiliti quell'opzione in iTerm2, dovrebbe darti il comportamento che stai cercando.

    
risposta data 18.06.2018 - 18:12
fonte
0

nel tuo profilo. puoi aggiungere

alias killiTerm2 = 'killall iTerm2'

dal terminale, chiameresti semplicemente killiTerm2 e ucciderebbe ogni istanza in esecuzione di iTerm2

    
risposta data 18.06.2018 - 14:52
fonte

Leggi altre domande sui tag