Vim에 중독되어 이제 텍스트 파일을 편집하는 사실상의 방법입니다.
주로 IDE가 아닌 텍스트 편집기이기 때문에 Java 앱을 개발할 때 더 쉽게 만들 수있는 사람이 있습니까?
내가 가진 몇 가지 질문 :
- vi를 떠나지 않고 maven 작업을 어떻게 호출합니까?
- 코드 완성을 할 수 있습니까?
- 구문은 어떻게 강조됩니까?
내가 알아야 할 다른 것 ( "하지 마십시오!"이외)이 있습니까?
Vim에 중독되어 이제 텍스트 파일을 편집하는 사실상의 방법입니다.
주로 IDE가 아닌 텍스트 편집기이기 때문에 Java 앱을 개발할 때 더 쉽게 만들 수있는 사람이 있습니까?
내가 가진 몇 가지 질문 :
내가 알아야 할 다른 것 ( "하지 마십시오!"이외)이 있습니까?
답변:
몇 가지 팁 :
재밌게 :-)
나는 수년간 Vim 사용자였습니다. 나는 때때로 Eclipse를 시작하기 시작했다 (vi 플러그인을 사용하면 여러 가지 문제가 있음). 주된 이유는 Java 빌드가 꽤 오랜 시간이 걸리고 maven과 같이 고도로 구성 요소 화 된 빌드 프레임 워크를 추가함에 따라 점점 느려지고 있습니다. 따라서 변경 사항을 확인하는 데 꽤 오랜 시간이 걸리므로 나중에 해결 해야하는 많은 컴파일 문제가 누적되고 커밋 메시지를 통해 필터링하는 데 시간이 걸립니다.
너무 많은 컴파일 문제가 발생하면 Eclipse를 시작합니다. 그것은 변화의 케이크 작업을 할 수 있습니다. 사용하기가 느리고 잔인하며 Vim만큼 편집기가 좋지 않습니다 (Vim을 거의 10 년 동안 사용해 왔기 때문에 두 번째 특성입니다). 정밀한 편집을 원합니다. 특정 버그를 수정하고 특정 비트의 논리 등을 리팩토링해야 할 필요가 있습니다 ... Vim 에서처럼 Eclipse에서 편집하는 것만 큼 효율적일 수는 없습니다.
또한 팁 :
:set path=**
:chdir your/project/root
이것은 ^wf
클래스 이름을 큰 프로젝트를 탐색하는 데 매우 유용한 기능으로 만듭니다 .
어쨌든, 많은 새로운 코드를 추가해야 할 때 Vim은 컴파일 문제와 유사한 것들을 쫓는 데 걸린 시간 때문에 단순히 속도를 늦추는 것 같습니다. 특정 소스를 찾아서 편집해야 할 때 Eclipse는 썰매 망치처럼 느껴집니다. 나는 여전히 Vim을위한 마법의 IDE를 기다리고있다. 내가 아는 세 가지 주요 시도가있었습니다. 많은 기능을 추가하지만 사용할 수없는 것처럼 보이는 순수한 viml IDE 유형 플러그인이 있습니다. eclim이 있는데, 나는 많은 문제를 겪었습니다. 그리고 실제로 Vim을 포함하는 Eclipse 용 플러그인이 있습니다. 마지막은 실제로 진지한 Java EE 작업에 가장 유망한 것으로 보이지만 Eclipse의 모든 기능을 내장 Vim과 완벽하게 통합하거나 실제로 통합하지는 않습니다.
키 입력으로 누락 된 가져 오기 추가, 입력 문제가있는 hilight 코드 등은 대형 Java 프로젝트에서 작업 할 때 IDE에서 귀중한 것으로 보입니다.
.java
을 찾을 수 있으면 새 분할 창에서 커서 아래에 있는 Java 파일 / 클래스 (파일 이름 확장자 는 필요하지 않음)가 열립니다. 그것이 :set path=**
도움이되는 이유 입니다.
:help ^wf
다른 vim 도움말과 마찬가지로
vi를 떠나지 않고 maven 작업을 어떻게 호출합니까?
Maven은 다른 쉘 명령과 다르지 않습니다.
:!mvn
에 :set makeprg=mvn
대한 즐겨 찾기 키 매핑이 이미있는 경우 가능합니다 :make
.
코드 완성을 할 수 있습니까?
예, eclim 은 vim의 편집 효율성과 Eclipse의 Java 언어 별 인식 사이의 다리입니다.
<C-n>
그리고 <C-p>
그다지 크지 만, 놀랍게도 도움이됩니다.
구문은 어떻게 강조됩니까?
정규식 기반의 리그 마거에 충분합니다.
코드 템플릿 ( snippetEmu-기본 스 니펫은 빠르지 만 사용자 정의 가능성은 밝음 ), 사용법 검색 및 선언 (eclim, grep, ctags), 게터 및 세터 생성 ( java_getset , 또는 eclim), 자동 수입 (eclim). 빠른 실험을 위해 자바 쉘 ( BeanShell , aka bsh
)이 필요할 수도 있습니다 .
Java Maven 프로젝트 개발을 위해이 Vim 플러그인 을 업로드 했습니다.
아직 강조 표시하지 않은 경우 강조 표시를 설정하십시오.
https://github.com/sentientmachine/erics_vim_syntax_and_color_highlighting
다음 요약이 매우 유용하다는 것을 알았습니다. http://www.techrepublic.com/article/configure-vi-for-java-application-development/5054618 . : make에 대한 설명은 개미가 아니라 개미를위한 것이지, 그렇지 않으면 좋은 요약입니다.
나는 이것이 꽤 몇 년 후인 것을 알고 있지만 여기에 흥미로운 플러그인이 있습니다. 나는 아직 YMMV를 시도하지 않았습니다.
https://github.com/mikelue/vim-maven-plugin
https://github.com/vim-scripts/maven-ide
편집 : 아 BTW, 나는 eclim을 껐다 켰지 만, vim을 좋아하는 이유는 가벼움입니다. 헤드리스 모드에서도 이클립스를 실행하는 것은 나에게 너무 정신적 인 리프팅입니다.
EDIT2 : 최근에 playframework를 사용하고 있으며 아마도 maven 빌드에서도 작동합니다.
컴파일을 위해 VIM의 make를 maven으로 실행하거나 제 경우에는 빌드 스크립트를 실행하여 파일에 구성 할 수 있습니다.
autocmd Filetype java setl makeprg=play_compile
autocmd Filetype java setl efm=%A\ %#[error]\ %f:%l:\ %m,%-Z\ %#[error]\ %p^,%-C%.%#
"play_compile"은 컴파일 스크립트 일뿐입니다. 그것은 SBT를 사용하므로 Maven은 여기서 잘 작동합니다. 직접 javac도 작동합니다. 이 방법으로 VIM의 퀵 픽스 버퍼 (: cnext, : clist : cprev 등)를 사용할 수 있습니다.
수업을 뛰어 넘기 위해 ctrl-p를 사용합니다. 합니다. 아름답습니다. 그걸 써. 파일을 뛰어 넘을 때 일식보다 빠릅니다.
방법을 뛰어 넘기 위해 나는 풍부한 c 태그와 함께 tagsearch를 사용합니다. ctrl-]를 사용하여 메소드 선언으로 이동하십시오. Ctrl-o를 사용하여 되돌아갑니다. 일식만큼 잘 작동하지는 않지만 충분히 잘 작동합니다.
코드 완성을 위해 supertab 을 사용 합니다. Javacomplete는 꽤 느리므로 전적으로 완료됩니다. 다시 말하지만, 일식만큼 정확하지는 않지만 빠르며 나에게 충분합니다.
vim을 사용하십시오. ^-^ (gVim, 정확해야 함)
모든 것을 가질 수 있습니다 (일부 플러그인 포함).
Btw, snippetsEmu 는 유용한 스 니펫 (TextMate와 같은)으로 코딩하기에 좋은 도구입니다. 사전 제작 된 패키지를 사용 (또는 수정)하거나 직접 만들 수 있습니다.