2011-12-22 3 views
1

OSX에서 코드를 편집하기 위해 TextWrangler를 사용하고 싶습니다. 터미널을 사용하여 워크 플로우를 제어하는 ​​경향이 있습니다. 일반적으로 bash 별칭을 사용합니다.OSX "open"명령어로 새로운 파일을 만듭니다.

alias text='open -a /Applications/TextWrangler.app' 

그러나이 방법으로는 프롬프트에서 새 파일을 열 수 없습니다. 예를 들어 emacs newfile.py을 입력하면 일시적으로 새 파일이 만들어 지지만 파일을 실제로 저장할 때까지 만지지는 않습니다. 그래도 내 별칭으로 newfile.py이 없으면 오류가 발생하여 수동으로 파일을 터치 한 다음 열어야합니다.

이 문제를 해결하기 위해 open을 사용하는 숨겨진 방법에 대한 제안 사항이 있으십니까? 또는 타사 대신 open 명령을 사용합니까? 아니면 GUI 기반 편집기의 근본적인 한계입니까?

답변

1

별칭 이라기보다는 본격적인 쉘 스크립트를 원한다고 생각합니다. 당신의 PATH에 text 어딘가로 저장

if [ -e "$1" ]; then 
    open -a TextWrangler -- "$1" 
else 
    touch "$1" 
    open -a TextWrangler -- "$1" 
fi 

을하고 실행 가능하도록 chmod를 그리고 당신은 황금 위치 : 이러한 내용으로 파일을 만듭니다.

파일을 저장하지 않으면 파일이 존재하지 않도록하고 싶다면 까다 롭습니다. 다음과 같이해야한다고 생각합니다.

if [ -e "$1" ]; then 
    open -a TextWrangler -- "$1" 
else 
    touch "$1" 
    open -a TextWrangler -- "$1" 
    sleep 1 
    rm "$1" 
fi 

실제로 파일을 만든 다음 1 초 후에 삭제합니다. 앱은 여전히 ​​파일을 열어 저장하므로 저장하면 다시 만들어집니다. 단지 기능 대신에 (의 .profile 등으로 .bashrc) 당신의 starup 파일에 별칭을 만들 대해 어떻게

+0

제안 해 주셔서 감사합니다. 나는 이런 식으로 갈 수 있다고 생각했지만, 좀 더 일반적인 해결책을 찾고자했습니다. 다음과 같이 끝났습니다. if [ "$ 1"]; then \t [-e "$ 1"]; 다음 \t \t 공개 -a TextWrangler - "$ 1"다른 \t \t \t 터치 "$ 1" \t \t 개방 -a의 TextWrangler \t - "$ 1"1 \t \t RM은 "$ 1" \t \t \t 잠 fi else \t open -a TextWrangler fi' 파일 없이도 전화를 걸면 알 수 있습니다. 그런 식으로 사용하고 싶을 경우를 대비하여 게다가. – wdahab

0

TextWrangler의 빅 브라더 BBEdit을 얻으려면 bbedit과 bbdiff 명령 줄 도구가 제공됩니다.이 도구는 찾고자하는 동작과 다른 많은 유용한 기능을 제공합니다.

+0

네, 제 질문은 TextWrangler를 넘어서는 것입니다. 그것은 단지 예일뿐입니다. 이 질문은 모든 앱과 관련이 있습니다. – wdahab

1

. 랭글러는 dummyfile.txt라는 빈 파일로 나타납니다

newf dummyfile.txt 

및 텍스트 -

newf() { 
    echo "$1" | xargs touch; open -a "/Applications/TextWrangler.app" "$1" 
} 

일단 소스 시동 스크립트를 그냥 이것을 사용하기 위해 다음을 수행했다.

관련 문제