Lisp 개발에 Vim 사용


87

나는 한동안 Lisp를 켜고 끄면서 사용해 왔지만 Lisp에서 "진짜"작업을하는 것에 대해 더 진지해지기 시작했습니다. 저는 Vim의 열렬한 팬이며 Lisp 개발을위한 편집자로 Vim을 사용하여 어떻게 가장 생산적으로 작업 할 수 있는지 궁금합니다. 플러그인, 작업 흐름 제안 등은 모두 환영합니다.

이미 Vim을 사용하고 있으며 편집자로서 정말 즐기고 있으므로 "이맥스 사용"이라고 말하지 마십시오.


어떤 Lisp, Common Lisp?
pupeno

이 경우에는 예, Common Lisp입니다. 나는 Scheme에서도 장난을 치고 있지만, 그것은 캐주얼 탐색 프로그래밍에 더 적합합니다.
Drew Olson

답변:


51

Limp는 Vim을위한 완전한 기능을 갖춘 Common Lisp IDE를 목표로합니다. 기본값은 SBCL이지만 /usr/local/limp/latest/bin/lisp.sh 파일에서 선호하는 lisp에 대한 "sbcl"을 대체하여 대부분의 다른 구현을 지원하도록 변경할 수 있습니다.

요즘 Lisp에 대해 논의 할 때 일반적 으로 GNU Clisp, SBCL, CMUCL, AllegroCL 등의 구현이있는 ANSI X3J13 ( HyperSpecPractical Common Lisp 참조)에 의해 표준화 된 언어 인 Common Lisp로 간주됩니다. 기타.

Limp로 돌아갑니다. 더 가볍거나 다른 작업을 시도하는 다른 솔루션이 있지만 대괄호 일치, 강조 표시, 문서 조회 등 가능한 한 턴키 솔루션으로 만드는 환경을 제공하는 것이 좋습니다. .

에서 맥 빠진 저장소 당신은 SlimVim 프로젝트, 즉 ECL (포함 가능한 커먼 리스프) 인터페이스의 이전 작품의 일부는 이후 릴리스 (7.1)와 합병 찾을 수 있습니다; Simon은 7.2에 대한 패치를 아직 병합 할 수 있도록 만들었습니다. ECL 인터페이스는 if_ecl.txt에 문서화되어 있습니다 .

단기적인 작업은 7.2로 병합하고 vim_dev에 패치를 제출하여 공식 Vim 트리에 병합하는 것입니다.

이는 장기적인 계획으로 이어집니다. Vim에서 Lisp를 직접 사용하면 SWANK 프런트 엔드 (Lisp에서 실행되는 SLIME의 일부, slime.el이 실행되는 부분) 작업을 편리하게 시작할 수 있습니다. 편집기-프런트 엔드).

그리고 그 사이 어딘가에서 모든 Limp는 ECL 인터페이스를 사용하여 Common Lisp로 다시 작성되어 Limp를 유지 관리하기 쉽고 (VimScript는 제가 가장 좋아하는 것이 아닙니다) 사용자가 사용자 정의하기가 더 쉽습니다.

공식 맥 빠진 사이트는 때때로 내려 간다, 그러나 뾰족한 밖으로 같이 Vim.org에서 다운로드 항상 작업 및 지원 단체한다 림프 (STABLE)림프 사용자는 Google 그룹스에 호스팅됩니다. 질문에 대한 답변이 필요하거나 개발에 참여하고 싶은 경우 주저하지 말고 참여하십시오. 대부분의 토론은 limp-devel 목록에서 이루어집니다. IRC를 사용하는 경우 irc.freenode.net에서 'tic'으로 #limp에 있습니다.

행운을 빕니다!


3
이 작품의 상태는 어떻습니까? 여전히 작업에 관심이 있습니까?
Erik Garrison

4
혼란 스럽습니다. "답변"은 Limp 사용과 같은 몇 가지 옵션의 제안처럼 보이지만이를 수행하는 방법을 전혀 설명하지 않습니다. 질문은 SBCL / 무엇이든 Vim을 어떻게 사용합니까? 이것은 실제로 질문에 대한 답변이 아니므로 모든 찬성 투표에 약간 혼란 스럽습니다. 이 환경을 실제로 설정하고 시작하는 방법에 대해 조금 자세히 설명해 주시겠습니까?
jpswain

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

다른 사람들이 언급했듯이 위의 대부분의 링크 (및 vim.org의 절름발이 페이지)는 오랫동안 끊어졌습니다. 그러나 github.com/mikaelj/limp
George Hawkins

28

slimv 에게 휴식을 줄 수 있습니다 .


+1 Slimv로 시작하여 그것에 대한 지식이 거의 없지만 emacs의 slime에 대한 실제 대안으로 상자에서 완벽하게 작동하는 것 같습니다. 또한 최근 릴리스 (v0.9.2 2011 년 11 월 7 일)가 있지만 limp는 2008 년 이후 업데이트가 없습니다.
jmsu

2
한동안 slimv를 사용했습니다. 훌륭합니다. 공간에서 비교할 수있는 것은 없습니다.
tempire

18

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

Lisp 프로그래머이기도 한 VIM 사용자가 거의 없으며이를 해킹하여 좋은 Lisp IDE로 만들 수 있음을 설명하는 다이어그램 ... 엉뚱한 대체 텍스트 :)


61
어리석은 일입니다. Vim을 사용자 지정하는 데 C가 필요하지 않습니다. Vim은 자체 언어로 즉시 스크립팅 할 수 있으며 대부분의 빌드는 Ruby 및 Python 스크립팅도 지원합니다.
Sam Stokes

6
따라서 Common Lisp에 VIM을 사용하려는 VIM 사용자는 모든 VIM 사용자의 핵심입니다. ?? 어쩌면 여기에 뭔가 빠졌
나봐

@Luis : 사실, 파란색 점이 중앙에 있다는 사실 때문에 녹색 점이 교차하지 않는 것이 불가능합니다. 나는 다이어그램의 작성자가 기하학이 작동하는 방식을 놓치고 있다고 말할 수 있습니다.
intuited

9
녹색과 파란색이 교차해야합니다.
Luís Oliveira


7

EMACS 용 SLIME는 LISP 프로그래밍을위한 훌륭한 도구입니다. 가장 좋은 부분은 편집기에서 작성된 코드를 라이브 LISP 세션으로 직접 보내는 것입니다. 다음 팁을 사용하여 Vim에서 유사한 동작을 얻을 수 있습니다.

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

SBCL 또는 Clojure 세션으로 보낼 수 있도록 자체 스크립트를 조정했습니다 . 그것은 당신을 훨씬 더 생산적으로 만들고 REPL을 활용합니다.

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

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


7

9 년이 지난 지금 Vim 8과 Neovim은 플러그인과 비동기식으로 상호 작용할 수있는 기능을 제공합니다.

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


6
  • Vim 애드온 : Rainbow 괄호, Lisp 구문
  • SBCL 애드온 : rlwrap, sb-aclrepl
  • 워크 플로우 : 여러 터미널 창이있는 Ion3 (또는 다른 타 일식 WM).

    • Vim에서 Lisp 편집
    • Lisp 창으로 전환 (물론 키보드 사용)
    • Cr을 사용하여 해당 라인을 호출하여 해당 ASDF 시스템을 다시로드하면 변경 사항이 활성화됩니다.
    • 작은 조각 / 변경 사항에는 X Window 복사 / 붙여 넣기를 사용하십시오.
    • DESCRIBE, TRACE 및 APROPOS를 많이 사용하십시오.
    • 반복.

5

: lisp 설정

Vim에는 Lisp 표준에 따라 코드를 들여 쓰기하는 데 도움이되는 모드가 있습니다.

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

: setl lw- = if (~ / .vim / ftplugin / lisp.vim에서)


1
들여 쓰기는 쉽습니다. 좋은 IDE를 제공하는 것이 훨씬 더 중요합니다. 실제로 VIM은 Emacs / SLIME만큼 그렇게 (들여 쓰기)하지 않습니다.
Luís Oliveira

3

Vim 에뮬레이션으로 Emacs를 시도해 볼 수 있지만 완벽하지는 않지만 다소 익숙 할 수 있습니다. 반복 개발을 수행하는 Slime 또는 DrScheme과 같은 것을 사용하면 Lisp가 빛을 발한다고 생각합니다. 다른 모든 편집자는 틀린 느낌을받습니다.


2

나는 당신이 Emacs를 사용하라고 말하지 말라고 한 것을 알고 있습니다.

Emacs를 사용하십시오.

진지하게, Emacs 의 SLIME 설정 은 Lisp 표준 개발 플랫폼이며 그럴만 한 이유가 있습니다.


5
사람들이 2011 년 4 월 현재까지 투표를하고 있지만 여전히이 답변을지지합니다. 저는 Vim을 좋아하고 매일 사용합니다.하지만 Lisp로 작성된 환경에서 Lisp를 프로그래밍하는 것만 큼 좋은 것은 없습니다. "내 편집자가 Lisp 서버에서 일어나는 일에 반응하게 만들었 으면 좋겠어요. 오, 기다려! 할 수 있어요!" 좋은 느낌입니다. 다시 말하지만, 저는 Vim을 좋아합니다 .하지만 제 생각에는 Emacs가 Lisp 작업을위한 훨씬 더 나은 편집기라는 것 입니다.
Kirk Strauser 2011

후속 조치 : 6 년이 지난 지금도 거의 10 년이 지난이 답변에 투표하고 있습니까? 좋아요, 우리는 그것을 얻습니다, 우리는 그것을 얻습니다! 😀 아직 변경하지 않습니다.
Kirk Strauser

2

Vim에서 SLIME과 유사한 Lisp를 통합하려는 시도가 있었던 것 같지만 실제로 유용하게 사용되는 데 필요한 만큼은 없었습니다. 나는 ECL의 통합이 완료되었다고 생각하지만 업스트림에 커밋되지 않았습니다.

Vim에 대한 Cliki의 페이지 에서 모든 관련 링크를 찾을 수 있습니다.

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