2009-07-19 18 views

Respuesta

39

Esto es absolutamente posible, pero tomará algún trabajo de su parte. Lo primero que se necesita es la creación de cada ventana/pestaña que desee en su configuración:

Settings

tengo 4 pestañas que abro automagicamente cada vez que abro la terminal. DB Shell, Editor, Server y Shell. Todos están dentro del proyecto Sasquatch (no preguntes), por lo tanto, el nombramiento. Cada uno de ellos debe tener entonces un comando único asociado con ellos:

startup cmd

En este caso, estoy ejecutando vim. Si tiene un directorio específico en el que desea comenzar, puede usar algo como vim ~/projects/main/. Realmente, lo que sea que quieras ingresar allí es el comando que el shell ejecutará cuando se abra.Ahora debe abrir todas sus ventanas/pestañas:

  1. Cierre todo.
  2. Abra una nueva ventana para cada uno de sus perfiles.
    • Ir al menú Shell =>New Tab/New Window => Seleccione el perfil que ha creado anteriormente.
    • Repita para cada ventana o pestaña que desee.
  3. Una vez que tenga todas sus ventanas y/o pestañas abiertas, guárdelas como un grupo de ventanas.
    • Ve al menú Window =>Save Window As Group....
    • Dale un nombre a tu grupo de ventanas (esto es útil más adelante).
    • Si desea que este grupo se abra cada vez que abra Terminal, marque la casilla en la parte inferior de esta pantalla y luego presione guardar.
  4. Cierre de todas sus ventanas/pestañas (¡hora de probarlo!).
  5. Abra su nuevo grupo de ventanas.
    • Ir al menú Window =>Open Window Group => Seleccione el grupo que acaba de realizar.

Esto debería aparecer todas las ventanas que acababa de, en la misma posición. Cada uno de los comandos que configura en Settings debe iniciarse en sus respectivas pestañas.

+0

Fantástico. Lo único que agregaría es un atajo de teclado para el grupo de ventanas. http://i.stack.imgur.com/mPVDN.png Preferencias del sistema> Teclado> Accesos directos> Accesos directos de aplicaciones. Haga clic en + para agregar un atajo. Simplemente coloque el nombre del grupo de ventana en MenuTitle, y luego ingrese el atajo en el siguiente cuadro. – mrgnw

+0

¡El grupo de ventanas también funciona en el automatizador! 10 segundos guardados :) – haudoing

+0

Utilizo zsh e intenté con esta respuesta para crear un grupo de ventanas con cuatro pestañas cada una con una pwd diferente. Entonces, mis comandos de inicio fueron todos los comandos 'cd'. Sin embargo, esos comandos de inicio anulan la configuración para [abrir una nueva pestaña en el mismo directorio] (http://superuser.com/a/313172/59284) y hacen que Command-T vuelva a ejecutar el comando de inicio para la nueva pestaña. – ma11hew28

0

para abrir las pestañas que desee y ajustar cada uno para arriba como desee, es decir, en la ficha 1, cd /etc, Tab 2 cd /bin y así sucesivamente. Ahora ve a Ventana> Guardar Windows como Grupo. Haga clic en la casilla 'Usar grupo de ventanas cuando se inicie Terminal' y ¡listo!

+0

Aunque no creo que se puede establecer en realidad pestañas para ejecutar un comando específico (es decir, la cola, como en el ejemplo). es posible? – rledley

+0

Creo que este podría ser el caso solo en 10.7 - en 10.6 CWD no se recuerdan. – halfer

1

Sospecho que puede controlar los comandos que se ejecutarán también. Uno de los programas que uso crea una ventana de terminal de una sola pestaña y organiza ejecutar un script de configuración de perfil antes de continuar con el símbolo del sistema; lo mismo debería ser factible para un terminal de múltiples pestañas. El archivo es un archivo XML de propiedades de MacOS X.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
    <key>CommandString</key> 
    <string>. /Applications/IBM/informix/demo/server/profile_settings</string> 
    <key>FontAntialias</key> 
    <false/> 
    <key>RunCommandAsShell</key> 
    <false/> 
    <key>ShowShellCommandInTitle</key> 
    <true/> 
    <key>TerminalType</key> 
    <string>xterm</string> 
    <key>WindowTitle</key> 
    <string>IDS Command Window</string> 
    <key>name</key> 
    <string>IDS Command Window</string> 
    <key>type</key> 
    <string>Window Settings</string> 
</dict> 
</plist> 

Puede hacer clic en él y se pone en marcha la ventana de terminal, la configuración del perfil se fijan, y entonces usted tiene una línea de comandos para escribir en. Presumiblemente, cambiar el comando 'dot' en el comando 'tail' de la pregunta funcionaría; es posible que la clave 'RunCommandAsShell' establecida en '<true\>' reemplace el shell normal con el comando, que tal vez sea más apropiado para la pregunta.

5

Sugiero el uso si iTerm en lugar de Terminal. Si solo porque es más configurable. Puede guiarlo, pero lo más importante para usted es que puede crear una carpeta de marcador (uno para cada pestaña) y luego "abrir en pestañas", que le dará el comportamiento que busca.

+0

Gracias hombre! ¡Eso es todo! – xpepermint

+2

+1. Parece que esto ha sido reemplazado por iTerm2, un proyecto separado. Voy a dar esto una oportunidad! – halfer

6

Puede hacer lo que desee desde Terminal.

Si en las preferencias de Terminal (pestaña Configuración) crea un nuevo perfil (o copia uno con Configuración duplicada), puede configurar cada perfil para ejecutar un comando al inicio (el subgrupo "Shell" dentro del perfil).

Luego configure sus pestañas utilizando el menú Consola> Nueva pestaña para crear las nuevas pestañas de cada uno de los perfiles específicos que creó para los tres ejecutables diferentes.

A continuación, haga el grupo de ventana Guardar para guardar el grupo de pestañas (y guardará sus perfiles también).

12

A partir de Mac OS X Lion 10.7, Terminal hace que esto sea mucho más fácil de hacer, sin crear nuevos perfiles para cada comando.

  1. De manera predeterminada, la Terminal recordará y restaurará el directorio de trabajo actual de cada terminal en un Grupo de ventanas. (Si el directorio de trabajo ha sido comunicado a la Terminal utilizando una secuencia de escape. El shell predeterminado, bash, hará esto en cada símbolo del sistema. Para otras shells, deberá adaptar el código en/etc/bashrc).

  2. Si crea un terminal con Shell> Nuevo comando, el terminal ejecutará automáticamente ese comando cuando se abra un grupo de ventanas. El terminal ejecutará automáticamente un conjunto limitado de comandos "seguros" †, y al guardar un grupo de ventanas, hay una opción para ejecutar todos los comandos en el grupo.

El terminal también lo hace automáticamente para todas las ventanas al reiniciar el terminal con el currículum habilitado. Por lo tanto, es posible que ni siquiera tenga que crear un grupo de ventanas, según sus circunstancias.

para su caso de ejemplo:

  1. Uso Shell> Nuevo comando para ejecutar "tail-f /www/file.txt".
  2. Crea una nueva pestaña y "cd/etc".
  3. Crea una nueva pestaña y "cd/bin".
  4. Guárdalos con Ventana> Guardar Windows como grupo. Asegúrese de marcar la casilla de verificación "Restaurar todos los comandos".

Cada vez que abra ese Grupo de ventanas, recreará esas ventanas y ejecutará los comandos. Si necesita ejecutar un comando y, especifique el directorio inicial, en el cuadro de diálogo Nuevo comando marque la casilla de verificación "Ejecutar comando dentro de un shell" y haga el comando "cd;".

También tenga en cuenta que puede indicarle a la Terminal que abra su Grupo de ventanas al inicio con Terminal> Preferencias> Inicio> Al iniciar, ábralo> Grupo de ventanas. Incluso hay una casilla de verificación para configurar esto al guardar un nuevo Grupo de ventanas.

† Los comandos "seguros" incluyen todo lo que figura en/etc/shells, más: pantalla, tmux, emacs, vi/vim, nano, pico y superior. Puede personalizar la lista con "defaults write com.apple.Terminal RestorableCommands". Establézcalo en una matriz de cadenas que contengan nombres de comando o rutas completas. Algunos comandos tienen parámetros que son "inseguros" para ejecutarse automáticamente sin intervención del usuario, por lo que estos comandos solo se consideran "seguros" si no tienen ningún argumento. Para hacer que un comando sea seguro para ejecutar con argumentos, agregue un asterisco, por ejemplo, "arriba *" está en el valor predeterminado para esta preferencia.

+0

Uso zsh. ¿Cómo hago para que Terminal recuerde y restaure el directorio de trabajo actual para cada pestaña en un Grupo de ventanas? – ma11hew28

+0

@mattdipasquale: Intente buscar su pregunta en StackOverflow y, si no encuentra una pregunta y respuesta que coincida con su pregunta, publique una pregunta. Por ejemplo, si busco "Directorio de trabajo de restauración de la terminal zsh", encuentro http://stackoverflow.com/a/7544224/754997 (mi respuesta) en la que enlace otro Q & A donde proporciono el código para zsh http: // superuser.com/a/328148/81175 que también menciona que este código ahora es parte del paquete Oh My Zsh. Entonces, si estás usando OMZ, obtendrás esto automáticamente. –

0

http://www.iterm2.com/#/section/features/split_panes

"Dividir una pestaña hacia arriba en varios paneles, cada uno de los cuales muestra una sesión diferente. Usted puede cortar verticalmente y horizontalmente y crear cualquier número de paneles en cualquier arreglo imaginable ".

0

Cómo crear arreglos de ventana iTerm2 personalizada

Cree un atajo de teclado personalizado para desovar automáticamente un conjunto de ventanas y divisiones con los procesos en ejecución.

Con un acceso directo cmd + shift + w transformar dividir su organización de las ventanas en 3 paneles

https://www.youtube.com/watch?v=Rg8AT-nds1Q

Cuestiones relacionadas