터미널 명령을 사용하여 Sublime Text로 .c 파일 열기

터미널 명령을 사용하여 Sublime Text로 .c 파일 열기

제가 사용하는 IDE는숭고한 말삼.

Sublime Text 터미널을 통해 파일을 열려면 다음을 입력해야 합니다.

subl <file>.c

.c모든 파일이 Sublime Text에서 자동으로 열리 도록 .bashrc를 편집하고 싶습니다 . 어떻게 해야 하나요?

예:

> test.c

test.c이제 Sublime Text로 열어보세요.

답변1

정상적인 상황에서는 작동하지 않습니다. 내가 생각할 수 있는 유일한 방법은 각 명령을 파일에 기록한 다음(예: script수정된 PS1을 사용하여 모든 명령에서 bash를 다시 작성) 이 로그 파일을 각 새 줄에서 구문 분석하여(예: PS1 추가 수정) 다음으로 끝나는 정규식을 얻는 것입니다. .c 숭고한 시작.

시간을 들일 가치가 있는 것 같지는 않습니다. 탭 완성 기능과 결합하면 일부 alias s="subl "콘텐츠가 .bashrc여러분을 더 행복하게 만들어 줄 수도 있고 더 쉬워질 수도 있습니다.

답변2

당신의 목표는(가능한)입력을 줄이려면 별칭을 정의하거나 숭고한 간단한 쉘 스크립트를 정의할 수 있습니다.

alias s='subl'
#or
alias sb='subl'

ssb또는 " " 또는 " " (PATH에 저장됨 ~/bin/) 이라는 이름의 셸 스크립트를 사용하는 것을 상상할 수도 있습니다 .

#!/bin/bash
subl $*

어느 결과든 명령줄이 단축됩니다.

> s myfile.c

원하는 것보다 길다(2자).

> myfile.c

아니면 아주 멋지게 shbang( #!) 행을 모든 파일의 첫 번째 행으로 삽입하여 .c파일을 실행 가능하게 만들고 위의 편집 스크립트를 호출할 수도 있습니다. 이는 컴파일하기 전에 먼저 shbang 라인을 사전 처리하기 위해 makefile을 다시 작성하는 것을 의미합니다.

' '로 저장하세요 myfile.cs.

#!~/bin/subl myfile.cs
#include <stdio.h>
int main() { printf("hello, world\n"); }

이것이 어떻게 작동하는지 보여주기 위해 다음 파일 " stuff.cs" 을 저장하십시오.

#!/usr/bin/vi stuff.sh
//this is a file
//that you can edit with sublime
int main() { printf("hello, world\n"); }

그런 다음 실행해 보세요.

./fubar.cs

후자의 솔루션은 원하는 작업을 정확하게 수행하지만 더 많은 입력 및 전처리 오버헤드가 필요합니다.

답변3

아마도 이렇게 해서는 안 되지만 사람들이 command_not_found_handle해당 기능을 서비스에 통합할 수 있으며 이로 인해 다른 기능이 손상되거나 command_not_found_handle원하는 다른 기능과 결합해야 할 수도 있습니다.

-bash-4.2$ touch foo.c
-bash-4.2$ function command_not_found_handle() { [[ -f "$1" ]] && subl "$1"; }
-bash-4.2$ foo.c
...
-bash-4.2$ bar.c
-bash-4.2$ 

(이것이 나쁜 생각인 이유 중 하나는 명령줄을 변경한다는 것입니다.문법도착했습니다 command [args..].command-or-plainfilethatisrunsomehow [args..] )

답변4

변형으로 다음과 같이 readline 바인딩을 사용할 수 있습니다.

bind '"\e\C-m":"\C-asubl \C-m"'

그런 다음 Alt+ Enter또는 Ctrl++ Alt조합을 사용 하면 MSublime 편집기에서 모든 파일이 열립니다. 즉, Sublime에서 파일을 열려면 파일 이름( test.c예:)을 입력하고 Alt+를 누릅니다 Enter. 필요에 따라 키 조합을 변경할 수 있습니다.

단점 - bash 자동 완성은 줄의 첫 번째 단어에 있는 파일 이름에서는 작동하지 않습니다.

관련 정보