2009-11-04 3 views
0

캐럿이 어디에 있는지 알고 선택한 텍스트를 잡아주는 셸 스크립트를 만들어서 텍스트를 무언가로 감쌀 수 있습니까?선택한 텍스트를 가져 와서 변경하는 쉘 스크립트?

<${1:p}>$TM_SELECTED_TEXT</${1/\s.*//}> 

그것은 텍스트를 잡고 열기/닫기 HTML 태그에 래핑 예를 들어, 다음은 TextMate를 묶음에서 스크립트입니다. 변수가 있으므로 첫 번째를 입력 할 때 두 번째 태그가 미러링됩니다. Textexpander에서 사용할 수 있도록이 스크립트를 Textmate 외부에 만들고 싶습니다.
의미가 있습니까? :)

+0

나는 당신이 원하는 것을 분명히 할 필요가 있다고 생각한다. 나는 이해하지 못한다. 그리고 응답의 결여에서, 누구도 그렇지 않다. TM_SELECTED_TEXT는 환경 변수입니까? $ {1 : p}는 ('주어진 경우 인수 1을 의미하지만'단락이 주어지지 않으면 'p'를 의미하는 것으로 해석합니다.) 어디에서 왔습니까? 그리고 '$ {1/\ s. * //}'시퀀스는 무엇을 의미합니까? 그것은 '인수 1을 취하고 그것으로부터 0 또는 그 이상의 공백을 제거하는 것'과 같은 이상한 것일 수 있습니다. 그러나 시작 태그에도 왜 그렇게하지 않았습니까? –

+0

아, 저건 유감입니다. 그 발췌 문장은 선택된 텍스트를 가져 와서 열기/닫기 HTML 태그로 둘러 쌉니다.

'p'가 강조 표시되고 삽입시 겹쳐 쓸 수 있으며 끝 'p'태그가 반영됩니다. 따라서이 항목을 강조 표시하고 활성화하면

으로 끝나고 firts 'p'를 덮어 씌우면
THIS
또는 뭔가를 얻을 수 있습니다. 그것은 $ p {1 : p}로 p를 먼저 강조 표시하고 마지막으로 반영합니다. 이해가 되니? 변수는 환경이라고 생각합니다. 잘 모르겠습니다. – thatryan

답변

1

$TM_SELECTED_TEXT은 TextMate를 외부에서 스크립트를 실행에 제공하는 환경 변수 아니다 - 그것은 TextMate에 의해 을 설정하고 미리보기 시스템의 일부로서 실행되는 스크립트로 제공되는 변수이다. 쉘 번들 "스크립트 실행"명령에도 제공되지 않습니다.

다른 쉘 기능 (예 : sed)을 통해 원하는 작업을 수행 할 수 있으므로 쉘 스크립트로 기능을 복제 할 수 있습니다. 이는 사용 시나리오에 따라 다릅니다.

관련 문제