Vim 또는 Emacs는 .Net 또는 Java와 같은 언어에 실용적입니까? [닫은]


18

따라서 저는 주로 Java, Python 및 기타 몇 가지 작업을 수행하는 .Net 개발자입니다. 기본이 무너지면 많은 사람들이 Vim과 Emacs가 효율성을 크게 향상시킨 것에 대해 칭찬하는 것을 들었습니다. 충분한 연습을 통해 얼마나 많은 기능이 매우 유용 할 수 있는지 확실히 알 수 있으며 학습 곡선이 노력의 가치가 있다고 생각합니다. 그러나 ... 일반 개발자가 Visual Studio, Netbeans, Eclipse 또는 기타 플랫폼에있는 것처럼 Vim 또는 Emacs에서 효율적으로 작동하려면 매크로 및 단축키의 일종의 마법사 여야합니다. Vim을 사용하는 법을 배우기 시작했으며 그 기능 중 일부가 훌륭하다고 생각합니다 (예 : 열 편집). 무거운 IDE에서 제공하는 많은 도구를 대체 할 수없는 것 같습니다. 편집자.

  • Linq-to-SQL에 대한 dbml 파일 생성
  • 자동화 된 테스트
  • UI 디자인
  • 프로젝트 및 솔루션 생성 / 구성

나는 Vim과 Emacs가 VS가 할 수있는 것과 똑같이 많은 것을 할 수 있다는 것을 알고 있습니다 (지성, 리팩토링 등과 같은) 그것은 내가 제공 한 예제의 일부 또는 전부를 수행 할 수는 있지만 실제로 말하는 것은 현실적입니다 이 플랫폼에서 일하는 누군가가 실제로 Vim 또는 Emacs의 혜택을받을 것이라고 생각하십니까?


2
우리 가게의 이클립스에서 일하지만 Vim을 그의 편집 편집기로 사용하고 Eclipse를 컴파일 및 코드 관리 유형 작업으로 사용하는 사람이 있습니다.
Michael K

답변:


14

VS에는 여러 가지 개념이 혼합되어 있습니다 .VS는 많은 다른 기능을 결합하기 때문에 놀라운 일이 아닙니다. 이 사이트에서 인용 한 한 인용문은 Emacs가 좋은 IDE가 아니며 Unix 가 좋은 IDE임을 암시합니다 . Linux / Unix 세계에서는 모든 것을 수행하는 단일 도구가 아니라 함께 잘 작동하는 여러 특수 도구를 사용한다는 아이디어입니다.

이제는 주로 C #으로 프로그래밍하고 VS를 사용하여이를 수행합니다. 나는 또한 Emacs를 정말 좋아하고 기본적으로 다른 모든 것에 사용합니다. 이제 말했듯이, Emacs에서 할 수있는 것과 Emacs에서하는 것이 더 나은 것은 별개입니다. 그러나 대부분의 경우 일대일 매핑이 아니며 텍스트 편집기 및 / 또는 기타 도구를 사용하여 동일한 목표를 달성하는 다른 방법이 있습니다.

나는 원래 당신의 각 요점을 다룰 것이지만, 그 대답은 항상 어떤 형태로 "예, 가능합니다"로 요약되었습니다. 일반적으로 1) UI 디자이너와 같은 외부 도구를 사용하여 코드를 생성하고 가져옵니다. 2) 반복 작업을 자동화하기 위해 편집기 내부에서 자동화 지원 (예 : Emacs의 Elisp 코드); 또는 3) 시각적 도구 대신 텍스트 기반 도구를 사용하도록 조정합니다 (MSBuild를 사용하고 VS 설정에 의존하는 대신 자신의 프로젝트 파일 작성).

Emacs 세계에는 모든 기능을 갖춘 도구가 없으며, 많은 도구가 있으며 필요에 따라 더 많은 도구를 키울 수 있습니다. 나는 아직 그 모든 것을 할만 큼 충분히 알지 못하므로 VS를 사용하고 그것이 제공하는 도구에 만족합니다. VS는 정말 강력하고 훌륭한 IDE입니다. 이제 Java를하고 있다면 Eclipse 또는 IntelliJ를 잘 모르기 때문에 어떤 도구를 사용 해야하는지 토론해야합니다. 다른 언어의 경우 Emacs는 다른 텍스트 편집기 또는 해당 언어에서 사용할 수있는 반 완료 IDE보다 훨씬 많은 기능을 제공하기 때문에 거의 이길 수 있습니다. (Smalltalk를 제외하고는 고유 한 경우입니다.)


6

그러나이 플랫폼에서 일하는 누군가가 실제로 Vim 또는 Emacs의 혜택을받을 것이라고 말하는 것이 현실적입니까?

C #으로 코딩 된 시스템 (100 %는 아님)에서 작업합니다. Visual Studio에서 시스템을 구축 할 수 없습니다. 너무 복잡합니다. 따라서 나는 sln 파일이 없으며 (일부 사람들은 제품을 만들지 않았지만 불가능한 작업으로 판명되었지만 유지 관리를 시도했지만) 지능적이고 코드 브라우징, 클래스 다이어그램 등. 나를 위해 작동하는 도구는 vim + ctags입니다. 완벽하지는 않지만 (ctags는 혼동되기 쉽습니다), 코드 브라우징을 지원하지 않는 열악한 코드 편집기를 사용하는 것보다 낫습니다.

이제는 대부분의 .NET 또는 Java 개발자가 나와 같은 위치에 있지 않으며 IDE가 좋은 코드 편집기 또는 기본 추가 기능을 향상시키는 추가 기능이 있으면 IDE를 사용하는 것이 좋습니다. Visual Studio의 경우 코딩 환경을보다 즐겁게 만들 수있는 VsVim과 같은 애드온이 있습니다. Eclipse AFAIK와 동일합니다.


3

VIM 또는 Emacs를 더 이상 독점적으로 사용하는 사람이 많지 않은 것 같습니다. 그러나 나는 아직 많은 것들을 위해 완전히 날아간 IDE에 텍스트 편집기를 사용하지 않는 개발자 (그중 하나 또는 다른 것 중 하나)를 찾지 못했습니다.

Java, C # 또는 C ++ 코드를 작성하는 것보다 훨씬 많은 작업이 필요합니다. ANT 스크립트, makefile, XML 파일, 여러 종류의 구성 파일이 있습니다. 그리고 많은 소규모 업무의 경우 해당 IDE의 시작 시간이 너무 길 수 있습니다. 이클립스는 VS를 시작하는 데 몇 분이 걸릴 수 있습니다. 단일 소스에서 무언가를 빠르게 변경하거나 알려진 파일에서 무언가를 확인하기에는 너무 길다. VIM에 파일을로드하는 데 몇 초 밖에 걸리지 않습니다.


1
메모장 ++도 마찬가지입니다.
라파엘

한 번도 사용하지는 않았지만 실제로 다른 사람들이 그것을 사용하는 것을 보았습니다 (나는 VIM flunky :)).
jwenting

2

IDE와 vim (개인적으로 선호하는 편집기)을 사용하는 것은 상호 배타적 인 개념이 아닙니다. .NET 개발을 할 때 일반적으로 IDE에서 작업중 인 현재 파일을 vim으로 열고 커서를 같은 곳에 두는 핫 키 콤보를 설정합니다. 이 방법으로 매크로 사용, 수직 편집, 다시 들여 쓰기, diffing 등과 같이 vim이 훌륭한 일을하고 싶다면 키 콤보를 누르고 내가 좋아하는 편집기가 있습니다. 내 변경 사항을 저장하고 파일을 저장 한 다음 종료 한 다음 다시 IDE로 돌아갑니다 (VS에서 IDE 외부에서 편집 할 때 파일이 자동으로 다시로드되도록 설정할 수 있습니다). 이 방법으로 나는 두 세계의 장점을 모두 얻습니다.

스크립팅 언어를 사용하여 복잡한 방식으로 텍스트 파일을 조작했습니다. 일단 vim의 매크로 (및 다른 기능들)를 사용하는 힘을 발견 한 후에는 스크립팅 언어로 할 수있는 것보다 훨씬 빠르고 효율적으로 이러한 종류의 편집 / 조작을 할 수 있다는 것을 발견했습니다.

vim을 사용하여 복잡한 작업을 수행하기 위해 하나의 셸 스크립트를 생성하고 내가 만든 셸 스크립트를 실행 한 다음 버리는 것이 매우 일반적입니다.

내 2 센트 :)


예, VS 용 플러그인을 사용하여 emacs로 뛰어 들거나 emacs를 "코드 편집기 창"으로 사용하거나 emacs 키 바인딩을 사용하여 놀았습니다. 그중 누구도 좋아하지 않았습니다. 이맥을 팝업으로 열고 동일한 커서 지점으로 이동하는 매크로는 꽤 멋진 아이디어처럼 들립니다. 나는 그것을 시도해야 할 수도 있습니다. 무거운 텍스트 조작을해야 할 때 주로 둘 사이에 복사하여 붙여 넣습니다.
CodexArcanum 2019

0

OpenIDEContinous Tests 프로젝트를 살펴보십시오 . 첫 번째는 VIM 및 Emacs를 포함한 모든 편집기에 .NET 프로젝트 지원을 추가하는 데 중점을 둡니다. 다른 하나는 루비의 AutoTest / pythons Sniffer / Autonose와 유사한 연속 테스트 러너입니다. VS 플러그인 또는 독립형으로 실행할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.