| 2008-04-11, 10:34 AM | #1 |
|
Member
![]() Registered: Sep 2006
My Mac: macbook
Posts: 86
오프라인
|
file을 Terminal.app 내에서 특정 application으로 열 수 있을까요?
안녕하세요?
emacs 으로 문서작성을 많이 하고 있습니다만, 갑자기 궁금한게 생겼습니다. Aquamacs도 좋기는 하지만 아무래도 터미널에서 emacs로 여는 것이 더 편하게 느껴지기 때문에 드리는 질문입니다. Finder에서 특정 파일 (예를 들어서 *.tex 파일) 을 더블 클릭하면 Aquamacs가 열리는 것이 아니라 터미널이 열리고 그 터미널 내부에서 emacs -nw 가 실행이 되면서 그 특정 파일이 열리게 할 수는 없는지요? Aquamacs가 느리기도 하거니와 저에게는 전혀 예쁘게 보이지 않아서 이런 질문을 올립니다. |
|
| 2008-04-11, 07:17 PM | #2 |
|
Elite Member
![]() ![]() ![]() ![]() Registered: Jun 2005
My Mac: 맥북+아이팟
Posts: 1,323
오프라인
|
1. 스크립트 편집기를 열어서 아래 내용을 넣으세요:
Code:
on open theFile tell application "Terminal" do script "emacs -nw " & quoted form of (POSIX path of theFile) activate end tell end open 3. 아무 텍 파일이나 정보 입수를 해서 모든 .tex 확장자를 위에 저장한 프로그램으로 열도록 지정하세요. 4. 끝. ![]() gluebyte 님께서 2008-04-11 07:20 PM 에 수정하셨습니다.. |
|
| 2008-04-18, 03:46 PM | #3 |
|
Member
![]() Registered: Sep 2006
My Mac: macbook
Posts: 86
오프라인
|
또 다른 질문이 두가지 생겼습니다.
gluebyte 님이 조언해 주신대로 스크립트 에디터를 열고 코드를 작성하고 /Application/emacs_terminal.app 로 저장을 했습니다. *.tex 파일을 정보입수 한 이후에 연결 응용프로그램을 emacs_terminal.app로 하면 파일이 잘 열립니다. 하지만 문제는 파일정보창에서 연결프로그램을 전부 변경하는 "Change All'을 누르게 되면 다시 Aquamacs Emacs 로 연결프로그램이 변경되고 맙니다. 그리고 저는 터미널에서 emacs 를 계속 열어놓고 사는 편인데요, 이미 터미널에서 emacs가 열려 있다면 열려 있는 터미널의 emacs에서 새로운 버퍼로 열리게 할 수는 없는지요? 애플포럼 회원님의 답변이 저에게는 큼 힘이 될 것 같습니다. |
|
| 2008-04-19, 09:40 AM | #4 |
|
Elite Member
![]() ![]() ![]() ![]() Registered: Jun 2005
My Mac: 맥북+아이팟
Posts: 1,323
오프라인
|
Rubicode - RCDefaultApp 그래도 안 된다면, RCDefaultApp의 UTIs에서 "org.tug.tex"를 emacs_terminal.app으로 연결해 보시고요. ![]() |
|
| 2008-04-19, 02:51 PM | #5 |
|
Member
![]() Registered: Sep 2006
My Mac: macbook
Posts: 86
오프라인
|
RCDefaultApp로 gluebyte님이 조언해 주신 방식 두가지 모두 해결이 되지 않습니다. 현재 Aquamacs 는 지운 상태이나 *.tex 파일이 자동적으로 LaTeXit.app 에 할당이 되어 있는데, RCDefaultApp로도 emacs_terminal.app 로 지정이 되지 않는군요.
어떻게 해결을 해야 할지 막막합니다. arecibo 님께서 2008-04-19 02:58 PM 에 수정하셨습니다.. |
|
| 2008-04-20, 09:59 AM | #6 |
|
Elite Member
![]() ![]() ![]() ![]() Registered: Jun 2005
My Mac: 맥북+아이팟
Posts: 1,323
오프라인
|
둘 다 해결이 가능해 보입니다.
![]() 우선, 아래에 있는 새로운 스크립트를 애플리케이션 번들로 저장하세요: Code:
on open theFile
set CxCfCaCk to string id {24, 6, 1, 11}
tell application "Terminal"
try
if name of front window contains "emacs" then
do script (CxCfCaCk & POSIX path of theFile) in front window
else
error
end if
on error
do script "emacs -nw " & quoted form of (POSIX path of theFile)
end try
activate
end tell
end open
Code:
<key>CFBundleIconFile</key> <string>droplet</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> Code:
<key>CFBundleIconFile</key> <string>droplet</string> <key>CFBundleIdentifier</key> <string>com.arecibo.emacs_terminal</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> 끝. 터미널이 실행중이 아니거나 맨 위 창이 emacs를 실행하고 있지 않을 경우엔 emacs를 새로 열어주고, 맨 위 창이 emacs를 실행중이라면 C-x C-f C-a C-k에 파일명을 보내서 열게 됩니다. ![]() |
|
| 2008-04-20, 12:50 PM | #7 |
|
Senior Member
![]() ![]() Registered: Jun 2006
My Mac: iMac Core 2 Duo 24"
Posts: 435
오프라인
|
전 터미널에서도 아쿠아맥스로 띄울려고 발버둥을 치는데... 따라서 아쿠아맥스에서 터미널을 띄운다고나... |
|
| 2008-04-20, 02:47 PM | #8 |
|
Member
![]() Registered: Sep 2006
My Mac: macbook
Posts: 86
오프라인
|
gluebyte님 조언 덕분에 해결했습니다. apple script를 배워볼까 하는데 시간이 날지 모르겠군요. 아마 차일피일 미루다가 평생 배우지 못할 것 같습니다. ^^ |
|