2009-07-19 42 views

Trả lời

39

Điều này là hoàn toàn có thể, nhưng sẽ mất một số công việc từ phía bạn. Điều đầu tiên bạn cần là để thiết lập mỗi cửa sổ/tab mà bạn muốn trong Cài đặt của bạn:

Settings

Tôi có 4 tab mà tôi mở Automagically mỗi khi tôi mở Terminal. DB Shell, Editor, ServerShell. Đây là tất cả trong dự án Sasquatch (không hỏi), do đó đặt tên. Mỗi rồi nên có một lệnh duy nhất liên kết với họ:

startup cmd

Trong trường hợp này, tôi đang thực hiện vim. Nếu bạn có một thư mục cụ thể mà bạn muốn bắt đầu, bạn có thể sử dụng một cái gì đó như vim ~/projects/main/. Thực sự bất cứ điều gì bạn muốn đi trong đó là lệnh shell sẽ thực hiện khi nó mở ra.Bây giờ bạn cần phải mở tất cả cửa sổ/tab của mình:

  1. Đóng mọi thứ.
  2. Mở cửa sổ mới cho mỗi tiểu sử của bạn.
    • Chuyển đến menu Shell =>New Tab/New Window => Chọn cấu hình bạn đã tạo ở trên.
    • Lặp lại cho mỗi cửa sổ hoặc tab bạn muốn.
  3. Khi bạn đã mở tất cả các cửa sổ và/hoặc tab, hãy lưu chúng dưới dạng Nhóm cửa sổ.
    • Chuyển đến menu Window =>Save Window As Group....
    • Đặt tên cho Nhóm cửa sổ của bạn (điều này hữu ích sau).
    • Nếu bạn muốn nhóm này mở mỗi khi bạn mở Thiết bị đầu cuối, hãy chọn hộp ở cuối màn hình này, sau đó nhấn lưu.
  4. Đóng tất cả Windows/Tab của bạn (thời gian để kiểm tra!).
  5. Mở Nhóm cửa sổ mới của bạn.
    • Chuyển đến menu Window =>Open Window Group => Chọn nhóm bạn vừa tạo.

Điều này sẽ bật lên tất cả các cửa sổ bạn vừa có, ở cùng vị trí. Mỗi lệnh bạn thiết lập trong Settings sẽ được khởi chạy trong các tab tương ứng.

+0

Tuyệt vời. Điều duy nhất tôi muốn thêm là lối tắt bàn phím cho nhóm cửa sổ. http://i.stack.imgur.com/mPVDN.png Tùy chọn hệ thống> Bàn phím> Phím tắt> Phím tắt ứng dụng. Nhấp + để thêm phím tắt. Chỉ cần đặt tên nhóm cửa sổ trong MenuTitle rồi nhập lối tắt vào hộp tiếp theo. – mrgnw

+0

Nhóm cửa sổ cũng hoạt động trong trình tự động! Đã lưu 10 giây :) – haudoing

+0

Tôi sử dụng zsh và thử câu trả lời này để tạo nhóm cửa sổ có bốn tab với mỗi tab khác nhau. Vì vậy, các lệnh khởi động của tôi là tất cả các lệnh 'cd'. Tuy nhiên, các lệnh khởi động đó ghi đè cài đặt thành [mở tab mới trong cùng thư mục] (http://superuser.com/a/313172/59284) và khiến Command-T chạy lại lệnh khởi động cho tab mới. – ma11hew28

0

mở các tab bạn muốn và đặt mỗi người lên như bạn muốn, ví dụ: trong tab 1, cd /etc, tab 2 cd /bin và vân vân. Bây giờ vào Window> Save Windows as Group. Nhấp vào hộp kiểm 'Sử dụng nhóm cửa sổ khi Thiết bị đầu cuối khởi động' và quá trình này!

+0

Mặc dù tôi không nghĩ rằng bạn có thể thiết lập các tab để thực sự thực hiện một lệnh cụ thể (ví dụ đuôi, như trong ví dụ). Điều này có thể không? – rledley

+0

Tôi nghĩ rằng đây có thể là trường hợp duy nhất trên 10.7 - trên 10.6 TKT không được ghi nhớ. – halfer

1

Tôi nghi ngờ bạn cũng có thể kiểm soát các lệnh được thực thi. Một trong những chương trình tôi sử dụng tạo ra một cửa sổ đầu cuối một tab và sắp xếp để thực thi một kịch bản thiết lập hồ sơ trước khi tiếp tục với dấu nhắc lệnh - điều tương tự sẽ khả thi đối với một thiết bị đầu cuối nhiều tab. Tệp này là tệp XML thuộc tính 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> 

Bạn có thể nhấp vào đó và cửa sổ đầu cuối được khởi chạy, cài đặt hồ sơ được đặt và sau đó bạn có lời nhắc lệnh để nhập. Có lẽ, việc thay đổi lệnh 'dấu chấm' thành lệnh 'tail' của câu hỏi sẽ hoạt động; có thể là khóa 'RunCommandAsShell' được đặt thành '<true\>' sẽ thay thế trình bao bình thường bằng lệnh - điều này có lẽ phù hợp hơn cho câu hỏi.

5

Tôi đề xuất sử dụng nếu iTerm thay vì Thiết bị đầu cuối. Nếu chỉ vì nó có thể cấu hình nhiều hơn. Bạn có thể viết nó, nhưng quan trọng hơn với bạn là bạn có thể tạo một thư mục đánh dấu (một cho mỗi tab) và sau đó "mở trong các tab" mà sẽ cung cấp cho bạn những hành vi bạn tìm kiếm.

+0

Cảm ơn người đàn ông! Đây chính là nó! – xpepermint

+2

+1. Có vẻ như điều này đã được superermed bởi iTerm2, một dự án riêng biệt. Tôi sẽ cho đi! – halfer

6

Bạn có thể làm những gì bạn muốn từ trong Thiết bị đầu cuối.

Nếu trong Tùy chọn đầu cuối (tab Cài đặt), bạn tạo cấu hình mới (hoặc sao chép một bằng Cài đặt trùng lặp), bạn có thể đặt từng cấu hình để chạy lệnh khi khởi động (nhóm con "Shell" trong tiểu sử).

Sau đó, thiết lập các tab của bạn bằng cách sử dụng trình đơn Shell> Tab mới để tạo các tab mới từ mỗi tiểu sử cụ thể mà bạn đã tạo cho ba tệp thi hành khác nhau.

Sau đó, hãy lưu nhóm cửa sổ lưu để lưu nhóm tab (và nó cũng sẽ lưu hồ sơ của họ).

12

Do Mac OS X Lion 10.7, Thiết bị đầu cuối giúp việc này dễ dàng hơn nhiều mà không cần tạo cấu hình mới cho mỗi lệnh.

  1. Theo mặc định, Terminal sẽ ghi nhớ và khôi phục thư mục làm việc hiện tại cho từng thiết bị đầu cuối trong nhóm cửa sổ. (Nếu thư mục làm việc đã được truyền đến Terminal bằng cách sử dụng một chuỗi thoát. Shell mặc định, bash, sẽ làm điều này tại mọi dấu nhắc lệnh. Đối với các shell khác, bạn cần phải điều chỉnh mã trong/etc/bashrc.)

  2. Nếu bạn tạo thiết bị đầu cuối có Shell> Lệnh mới, Thiết bị đầu cuối sẽ tự động chạy lệnh đó khi Nhóm cửa sổ được mở. Thiết bị đầu cuối sẽ tự động chạy một bộ hạn chế các lệnh "an toàn" †, và khi lưu một Nhóm cửa sổ có một tùy chọn để chạy tất cả các lệnh trong nhóm.

Thiết bị đầu cuối cũng tự động thực hiện việc này cho tất cả các cửa sổ khi khởi động lại Thiết bị đầu cuối có bật Tiếp tục. Vì vậy, bạn thậm chí có thể không phải tạo một nhóm cửa sổ, tùy thuộc vào hoàn cảnh của bạn.

Đối với trường hợp ví dụ của bạn:

  1. Sử dụng Shell> New lệnh để chạy "tail -f /www/file.txt".
  2. Tạo tab mới và "cd/etc".
  3. Tạo tab mới và "cd/bin".
  4. Lưu chúng với Cửa sổ> Lưu Windows dưới dạng nhóm. Đảm bảo chọn hộp kiểm "Khôi phục tất cả lệnh".

Mỗi khi bạn mở Nhóm cửa sổ đó, nó sẽ tạo lại các cửa sổ đó và chạy các lệnh. Nếu bạn cần chạy lệnh chỉ định thư mục bắt đầu, trong hộp thoại Lệnh mới, hãy chọn hộp kiểm "Chạy lệnh bên trong trình bao" và thực hiện lệnh "cd;". Cũng cần lưu ý rằng bạn có thể yêu cầu Terminal mở Nhóm Cửa sổ khi khởi động với Thiết bị đầu cuối> Tùy chọn> Khởi động> Khi khởi động, mở> Nhóm cửa sổ. Thậm chí còn có một hộp kiểm để thiết lập điều này khi lưu một Window Group mới.

† Lệnh "an toàn" bao gồm mọi thứ được liệt kê trong/etc/shell, cộng với: màn hình, tmux, emacs, vi/vim, nano, pico và trên cùng. Bạn có thể tùy chỉnh danh sách với "mặc định viết com.apple.Terminal RestorableCommands". Đặt nó thành một chuỗi các chuỗi chứa tên lệnh hoặc đường dẫn đầy đủ. Một số lệnh có các tham số "không an toàn" để chạy tự động mà không có sự can thiệp của người dùng, do đó, theo mặc định các lệnh này chỉ được coi là "an toàn" nếu chúng không có bất kỳ đối số nào. Để làm cho lệnh an toàn để chạy với đối số, hãy thêm dấu sao, ví dụ: "trên cùng *" nằm trong giá trị mặc định cho tùy chọn này.

+0

Tôi sử dụng zsh. Làm cách nào để thiết bị đầu cuối ghi nhớ và khôi phục thư mục làm việc hiện tại cho mỗi tab trong Nhóm cửa sổ? – ma11hew28

+0

@mattdipasquale: Thử tra cứu câu hỏi của bạn trên StackOverflow và nếu bạn không tìm thấy Giải Đáp phù hợp với câu hỏi của mình, hãy đăng câu hỏi. Ví dụ: nếu tôi tìm kiếm “Thư mục làm việc khôi phục thiết bị đầu cuối zsh”, tôi tìm http://stackoverflow.com/a/7544224/754997 (câu trả lời của tôi) trong đó tôi liên kết đến một Giải Đáp khác, nơi tôi cung cấp mã cho zsh http: // superuser.com/a/328148/81175 cũng đề cập đến mã này hiện là một phần của gói Oh My Zsh. Vì vậy, nếu bạn đang sử dụng OMZ, bạn sẽ nhận được điều này tự động. –

1

Một cách khác để thực hiện việc này là sử dụng đá quý Elscripto ruby: https://github.com/Achillefs/elscripto. Nó cho phép yuo để dễ dàng xác định các tab thiết bị đầu cuối sử dụng một file YAML

0

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

"Chia một tab ra thành nhiều khung, mỗi một trong số đó cho thấy một phiên khác nhau. Bạn có thể cắt theo chiều dọc và theo chiều ngang và tạo ra bất kỳ số lượng panes trong bất kỳ sắp xếp có thể tưởng tượng. "

0

Làm thế nào để Tạo Custom iTerm2 Window sắp xếp

Tạo phím tắt tùy chỉnh để tự động sinh ra một tập hợp các cửa sổ và chia tách với tiến trình đang chạy.

Với cmd shortcut + shift + w chuyển đổi chia sắp xếp cửa sổ của bạn thành 3 tấm

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

Các vấn đề liên quan