2009-07-06 7 views
2

이전에 Vim을 사용하여 Java를 개발하는 것에 관한 질문을했지만 JDK가 잘 작동한다는 것을 깨달았으며 Ant는 나 같은 초보자에게 너무 복잡했습니다. 상황이 좀 더 분명 해졌고 지금은 다시 질문이 있습니다.Vim 내에서 javac.exe 호출하기

'filename.java'와 같은 파일을 작업 할 때 'JDK (Java Development Kit)'의 'javac.exe'를 사용할 수 있어야합니다 ('filename.java' 내가 할 수있는 전형적인 프로젝트). 빔에 쉘 빔

외부 쉘에 액세스 할 수

C : 일반적으로,이 외부 빔, 나는

할 수있는 수행 할 작업 \ 프로그램 파일 ... \ javac의의 C : 홈 디렉토리의-파일 이름 \. java \ filename.java

javac 디렉토리에 액세스하고 전체 'filename.java'디렉토리를 작성해야하기 때문에 꽤 길다.

Vim에게 javac을 호출하고 내가 작업중인 파일에 직접 사용하도록 요청하는 메시지가 있습니까? 누구든지 도울 수 있다면 기뻐할 것입니다. 내 _vimrc 파일에 몇 가지를 작성하려고했지만 성공하지 못했습니다. 그건 그렇고, 나는 윈도우 비스타 사용자입니다.

답변

1

javac에 대한 전체 경로가 필요 없도록하려면 시스템 경로 환경 변수에 디렉토리를 추가하기 만하면됩니다. .java 파일을 포함하는 디렉토리를 PATH 변수에 추가 할 수도 있습니다. 그러면 전체 경로를 사용할 필요가 없습니다.

1

빌드 관리자에 Ant를 사용하는 경우 vim에서 : make 명령을 실행하면 Ant를 사용하도록 vim을 설정할 수 있습니다. 여기

자세한 내용 : 당신은 %를 사용하여 현재 버퍼에 열려있는 파일에 대해 작업을 수행 할 수 있습니다 http://everything101.sourceforge.net/docs/papers/java_and_vim.html

7

. 당신이 당신의 현재 버퍼에 javac.exe 실행하고자한다면, 당신은 입력 할 수

:!javac % 

이는 손가락에 쉽게, 당신과 같이 당신의 .vimrc에 매핑을 만들 수 있습니다하려면 :

map <LocalLeader>jc :!javac %<CR> 

버퍼에 \ jc (또는 로컬 리더가 무엇이든)를 입력하고 나서 간단하게 해당 파일에 대해 javac를 실행했습니다.

+0

나는 당신이 내게 원하는 것을 알고있다. 그리고 그것은 내가 원하는 것이지만, \ jc (\ 내 로컬 리더이다) 쉘이 튀어 나오고 javac이 외부로 인식되지 않는다고 말한다. 또는 내부 명령 (실제적으로 말하자면, 쉘은 현재의 문제점 인 javac.exe를 찾지 못했습니다). –

+0

javac가 경로 (또는이 경로가 창이면 시스템 경로)에 없기 때문입니다. 당신은 그 문제를 바로 잡아야하고 명령은 잘 작동 할 것이다. 시스템 경로에 추가하기위한 Google 주변. 희망이 도움이됩니다! –

2

G'day,

왜 무언가가 현재 편집중인 파일에 대한 javac의를 호출하는 기능 키를 매핑 할 수 있습니까? 아마도 다음과 같을 것입니다 :

map <silent> <F9> :w<CR>:!C:\Program Files...\javac %<CR> 

그러면 현재 편집중인 파일에서 javac가 호출됩니다.

HTH

환호, 드류 올슨에

3

덕분에, 나는 내 대답을 발견했다. 하지만 시스템 경로 문제가 아니었기 때문에 매핑에 javac의 경로를 올바르게 입력해야했습니다. 내가 내 _vimrc에 추가 한 것은이 줄을이었다

맵 JC! "C : \ 프로그램 파일 \ 경로를 선도하는 - - javac.exe에 \ javac.exe"

경로는 "사이에 작성된 % s가 Vim에 의해 올바르게 읽혀집니다.나는 그것이 master-괴짜를 위해 정확하게 쓰여졌는지 모르지만, 그것은 나를 위해 일하기 때문에 나는 상관하지 않는다. 그리고 나는 거의 아무것도 알지 못한다. = D

P. : 멍청한 놈들이 모든 것을 알고 있다고 생각하는 괴짜를 위해 사용자 친화적으로 노력하십시오. 표시가없는 웹 사이트를 터는 것은 사용자에게 친숙하지 않습니다. 그것은 단지 팁 일 뿐이며, 범죄는 아닙니다. 나는 아직도 도움을 주셔서 감사합니다.

관련 문제