2013-08-21 176 views
17

Tôi đang cố mở các tệp trên các emac bên ngoài thiết bị đầu cuối. Tôi thích một môi trường gui/ide khi tôi viết mã thay vì thực hiện nó thông qua một thiết bị đầu cuối. Ban đầu tôi nghĩ rằng gõ emacs filename.py sẽ mở tập tin đó thông qua Emacs.app, tuy nhiên nó chỉ cho phép tôi chỉnh sửa tập tin thông qua thiết bị đầu cuối. Khi điều này không hiệu quả, tôi đã xem xét chỉnh sửa các tệp .profile và .emacs trong thư mục chính của tôi nhưng điều này không có ích.Làm thế nào để mở emacs gui/ide từ thiết bị đầu cuối mac?

Có lẽ điều này trực quan hơn những gì tôi đã đọc nhưng dường như tôi không thể hiểu được. Bất kỳ trợ giúp được đánh giá cao.

Trả lời

32

Giả sử bạn đã cài đặt từ Emacs Homebrew như thế này:

brew install emacs --with-cocoa 

Chỉ cần gõ lệnh sau để mở Emacs.app từ thiết bị đầu cuối:

open -a Emacs filename.py 

Nếu bạn muốn tất cả các tệp được mở trong cùng một khung, thay vì khung mới, hãy đặt số này vàocủa bạntệp:

(setq ns-pop-up-frames nil) 
+2

Cập nhật về vấn đề này. Tôi đã không sử dụng homebrew để cài đặt emacs, tôi nắm lấy nó từ [link] [www.emacsforosx.com]. Tuy nhiên, tôi chỉ thử 'open-a Emacs filename.py' và nó đã hoạt động. Nó mở cửa sổ Emacs ide và filename.py trong một cửa sổ Emacs riêng biệt. Hãy gọi tôi là cầu kỳ, tôi phải làm gì nếu tôi muốn lệnh "emacs filename.py' làm điều tương tự?" Điều này có thể là những gì @shosti đã nhận được lúc nhận được với các emacsclient. Cảm ơn @katspaugh, @qaphla và @shosti! –

+0

@AustinA, xem http://superuser.com/a/431601 về cách mở trong cùng một cửa sổ. – katspaugh

+0

Vì tôi đã sống với đề nghị của Katspaugh, tôi đang đánh dấu câu trả lời này. –

3

Để thực hiện những gì bạn muốn, bạn cần phải tìm vị trí của tệp nhị phân thực có trong Emacs.app và sử dụng nó làm lệnh thay vì emacs. Nhiều khả năng, đó là lúc

/path/to/Emacs.app/Contents/MacOS/Emacs 

nào, nếu bạn có Emacs.app trong thư mục Applications, như sẽ là điển hình, sẽ là

/Applications/Emacs.app/Contents/MacOS/Emacs 

Để thiết lập nó với một lệnh ngắn hơn để sử dụng, bạn có thể thử thêm vào .profile của bạn (tôi không biết những gì bao bạn sử dụng) dòng sau, hoặc bất cứ điều gì tương đương nó có cho shell của bạn (điều này làm việc cho bash và zsh, ít nhất):

alias emacsgui='/Applications/Emacs.app/Contents/MacOS/Emacs' 
5

Cách tốt nhất để mở tệp trong Emacs từ thiết bị đầu cuối là lệnh emacsclient, sẽ mở tệp trong ứng dụng Emacs hiện tại của bạn (ngăn thời gian khởi động). Nếu bạn đang sử dụng OSX và bạn đã cài đặt Emacs thông qua Homebrew, mã nhị phân emacsclient sẽ được thiết lập. (Trong cấu hình Emacs của bạn, bạn phải bao gồm (server-start) ở đâu đó.)

Nếu bạn thực sự muốn quay lên một ứng dụng GUI mới thay thế, bạn có thể thiết lập kịch bản shell của riêng bạn và đặt nó vào PATH ở đâu đó trước khi có sẵn emacs nhị phân. Có vẻ như bạn đang sử dụng Homebrew, trong đó thiết lập nhị phân emacs như Shell Script sau:

#!/bin/bash 
/usr/local/Cellar/emacs/24.3/Emacs.app/Contents/MacOS/Emacs -nw "[email protected]" 

Các -nw là những gì ngăn cản Emacs từ mở trong chế độ GUI. Bạn có thể làm cho kịch bản emacs vỏ của riêng bạn và bỏ qua -nw:

#!/bin/bash 
/usr/local/Cellar/emacs/24.3/Emacs.app/Contents/MacOS/Emacs "[email protected]" 
+1

Tôi thứ hai 'emacsclient' giới thiệu. Bí danh nó với 'e' và hạnh phúc từ bao giờ. – katspaugh

0

@ qaphla, tôi tin rằng bạn sẽ cần một 'exec' trong tuyên bố bí danh đó, tức là-

alias emacsgui='exec '/Applications/Emacs.app/Contents/MacOS/Emacs' ' 
2

Người ta phải liên kết emacs đến/Applications nếu chưa được thực hiện,

brew linkapps emacs 

để liên kết các emacs để emacs liên kết tượng trưng được cài đặt trong Cellar. Khi symlinked, bạn có thể mở emacs bởi

open -a emacs 

như đã chỉ ra bởi @katspaugh