2008-09-18 6 views
83

저는 Lisp를 계속 켜고 껐습니다. 그러나 Lisp에서 "진짜"작업을 좀 더 진지하게하기 시작했습니다. 나는 거대한 Vim 팬이고 Lisp 개발을 위해 내 편집자로 Vim을 사용하면서 어떻게 가장 생산적 일 수 있는지 궁금해하고 있었다. 플러그인, 작업 흐름 제안 등을 환영합니다.Lisp 개발을 위해 Vim 사용하기

이미 Vim을 사용하고 있기 때문에 "emacs 사용"이라고 말하지 마세요. 편집자로서 정말 즐겁습니다.

+0

어떤 Lisp, Common Lisp입니까? – Pablo

+0

이 경우, 예, Common Lisp. 나는 Scheme에서도 약간 놀랐지 만, 그것은 캐주얼 한 탐색 프로그래밍에 더 가깝다. –

답변

50

Limp은 Vim을위한 완전한 기능의 Common Lisp IDE를 목표로합니다.기본값은 SBCL이지만, 가장 일반적인 구현을 지원하도록 변경 될 수 있습니다. /usr/local/limp/latest/bin/lisp.sh 파일에서 "sbcl"을 좋아하는 lisp로 바꿀 수 있습니다.

요즘 Lisp을 논의 할 때 GNU Clisp, SBCL, CMUCL, AllegroCL 및 많은 다른 것들과 함께 구현 된 ANSI X3J13 (우수 교과서는 the HyperSpecPractical Common Lisp 참조)에 의해 표준화 된 언어 인 Common Lisp로 간주됩니다.

위로 돌아 가기. 더 가벼운 다른 솔루션이 있거나 다른 일을 시도하지만 브라켓 일치, 강조 표시, 문서 조회, 즉 가능한 한 많은 턴키 솔루션 만들기와 같은 환경을 제공한다고 믿습니다. .

the Limp repository에는 SlimVim 프로젝트의 이전 작업 중 일부 (즉, ECL (Embeddable Common Lisp) 인터페이스, 이후 릴리스 (7.1)과 병합 됨)가 있습니다. Simon은 병합 할 수있는 7.2 버전의 패치도 만들었습니다. ECL 인터페이스는 if_ecl.txt에 설명되어 있습니다.

단기 작업은 7.2와 병합하여 vim_dev에 패치를 제출하여 공식 Vim 트리에 병합되도록하는 것입니다.

우리가 장기 계획을 세우는 데는 Lisp을 Vim에 직접 설치하면 SWANK 프론트 엔드 (Lisp에서 실행되는 SLIME 부분, slime.el이 부분이 됨) 작업을 시작하는 것이 편리합니다. 편집기에서 실행되는 - 프론트 엔드).

그리고 그 중간에 ECL 인터페이스를 사용하여 모든 LIMP가 Common Lisp으로 다시 작성되어 Limp을 쉽게 유지 보수 할 수 있으며 (VimScript는 내가 좋아하는 것이 아니며) 사용자가 쉽게 사용자 지정할 수 있습니다.

official Limp site 수시로 내려 간다, 그러나 지적대로 download at Vim.org는 항상 일을해야하고, limp-devellimp-user이 Google 그룹스로 호스팅되는 지원 그룹. 질문에 대한 대답이 필요하다고 느끼거나 개발에 참여하고 싶다면 참여를 망설이지 마십시오. 대부분의 논의는 절름발이 목록에서 이루어집니다. IRC를 사용하고 있다면 irc.freenode.net의 #tim에 'lim '을 사용하고 있습니다.

행운을 빈다.

+3

이 작품의 현재 상황은 무엇입니까? 아직도 그 일에 관심이 있습니까? –

+3

혼란스러워. "대답"은 림프 사용과 같은 몇 가지 옵션의 제안처럼 보이지만이를 수행하는 방법을 모두 설명하지는 않습니다. 나는 질문을 생각했다. 어떻게 Vim을 SBCL /와 함께 사용 하는가? 이것은 정말로 질문에 답하지 않습니다. 그래서 나는 모든 상향 회선에 약간 혼란 스럽습니다. 이 환경을 실제로 설정하고 시작하는 방법에 대해 자세히 설명해 주시겠습니까? – jpswain

+0

Limp이 더 이상 유지 관리되지 않는 것 같습니다 : 사이트가 다운되었고 2008 년 마지막 변경 사항이었습니다. – kynan

3

은 완벽하지는 않지만 어느 정도 익숙 할 수 있습니다. 나는 당신이 Slime이나 DrScheme 같은 반복 개발을 사용한다면 Lisp이 빛을 발한다. 다른 모든 편집자들은 틀린 것 같다.

5

: 설정 혀짤배기

빔 당신이 리스프 기준으로 코드를 들여 도움이되는 모드가 있습니다.

또한 lispwords를 수정하여 vim이 내 코드를 들여 쓰는 방식을 변경합니다.

: SETL lw- =

+1

들여 쓰기가 쉽습니다. 좋은 IDE를 제공하는 것이 훨씬 더 중요합니다. 사실 VIM은 Emacs/SLIME뿐만 아니라 그 일을하지 않습니다 (들여 쓰기). –

1

(~/.vim/ftplugin/lisp.vim에) 나는 당신이 이맥스를 사용하는 당신에게하지 말라고 알고있는 경우.

이맥스를 사용하십시오.

진지하게, 이맥스에 대한 SLIME 설정은 표준 개발 플랫폼과 매우 합당합니다.

+4

사람들은 여전히 ​​투표를 통해 2011 년 4 월 현재 투표를하고 있습니다. 나는 Vim을 좋아하고 매일 사용하지만, Lisp로 작성된 환경에서 Lisp 프로그래밍과 같은 것은 없습니다. "내 편집장이 내 Lisp 서버에서 일어난 일에 반응하게 만들 수 있었으면 좋겠다. 오, 기다려!" 좋은 느낌입니다. 다시 : * * Vim을 좋아하지만, Emacs는 * Lisp * 작업을위한 훨씬 더 훌륭한 편집기입니다. –

+0

후속 조치 : 6 년 후인 여러분,이 10 년이 넘은 대답에 대해 투표를하고 계십니까? OK, 우리는 그것을 얻는다, 우리는 그것을 얻는다! 나는 아직도 그것을 바꾸지 않고있다. –

8

EMIME 용 SLIME은 LISP 프로그래밍을위한 훌륭한 도구입니다. 가장 중요한 부분은 편집기에서 직접 작성한 코드를 실제 LISP 세션으로 보내는 것입니다. 여기 팁을 사용하여 빔에서 비슷한 동작을 얻을 수 있습니다 : 나는 중 하나 SBCL 또는 Clojure 세션에 보낼 수 있도록

http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/

나는 내 자신의 스크립트를 조정. 그것은 당신을 훨씬 더 생산적으로 만들어 REPL을 이용합니다.

": set lisp"는 Vim의 lisp 들여 쓰기 모드를 시작합니다. 그러나 Clojure와 같은 일부 방언에서는 작동하지 않습니다. Clojure의 경우 VimClojure을 사용하십시오.

어떤 사람들은 LIMP도 좋아합니다.

20

다음은 현재 상황을 요약 한 Xach의 멋진 다이어그램입니다.

diagram explaining that there are nearly no VIM users that are also Lisp programmers and can also hack it to make it a good Lisp IDE... lousy alt text :)

+56

그건 바보 같아. Vim을 사용자 정의하기 위해 C가 필요하지 않습니다. Vim은 자체 언어로 스크립팅이 가능하며 대부분의 빌드는 Ruby 및 Python 스크립팅도 지원합니다. –

+6

그래서 Common Lisp 용 VIM을 사용하려는 VIM 사용자는 모든 VIM 사용자의 핵심입니다. 어쩌면 내가 여기 뭔가를 놓치고있어 ... –

+42

벤 다이어그램 작동 방법을 놓치 셨습니다. –

2

는 빔의 리스프의 점액 같은 통합을 필요로하고 시도를해야 할 것 같다,하지만 정말 유용 할 필요 아무도 정말 멀리 사라지고 없었다. ECL의 통합은 끝났지 만, 업스트림에 대해서는 커밋되지 않았다고 생각합니다.

Cliki's page about Vim의 모든 관련 링크를 찾아야합니다.

5
  • 빔 부가 기능 : 레인보우 괄호, 리스프 구문
  • SBCL 추가 기능 : 여러 터미널 창에 Ion3 (또는 다른 기와 WM) : rlwrap, SB-aclrepl
  • 워크 플로우. 편집 리스프가 리스프 창 빔

  • 스위치에 문제의 자위대 시스템을 다시로드 라인을 기억하는
  • 를 사용하여 C-R (물론 키보드를 사용하여)

    • 때문에 변경 사항이 활성화됩니다.
    • 작은 스 니펫/변경 사항을 적용하려면 X 창 복사/붙여 넣기를 사용하십시오.
    • DESCRIBE, TRACE 및 APROPOS를 많이 사용하십시오.
    • 반복.
26

당신은 slimv 휴식을 줄 수 있습니다.

+0

+1에서 찾을 수 있습니다. slimv로 시작해서 거의 지식이 없지만 완벽하게 잘 작동하는 것 같습니다. 이맥스에 대한 실질적인 대안으로 상자. 또한 최신 릴리스 (v0.9.2 07-Nov-2011)가 있지만 limp에는 2008 년 이후 업데이트가 없습니다. – jmsu

+2

잠시 동안 slimv를 사용했습니다. 훌륭합니다. 우주에서 비교할만한 것은 없습니다. – tempire

2

우리는 9 년 후인 지금 Vim 8과 Neovim을 가지고 있습니다. 둘 다 플러그인과 비동기 적으로 상호 작용할 수있는 기능을 제공합니다.

vlime은 새로운 비동기 인터페이스를 사용하여 Common Lisp에 SLIME과 비슷한 개발 환경을 제공하는 우수한 기능이 풍부한 플러그인입니다.

관련 문제