[vim] Lisp 개발에 Vim 사용

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

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



답변

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에 있습니다.

행운을 빕니다!


답변

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


답변

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

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


답변

Limp 플러그인을 확인하십시오.

http://www.vim.org/scripts/script.php?script_id=2219


답변

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 도 좋아 합니다.


답변

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

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


답변

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

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