2017-11-14 11 views
5

나는 이맥스에서 SLIME의 repl로 paredit를 사용한다. 즉, repl에 입력하는 동안 언제든지 s- 표현식이 균형을 이룬다는 것을 의미합니다.불완전하지만 균형 잡힌 표현의 실행을 막는 방법 - repl에 paredit가있는 이맥스의 SLIME?

그러나, 그들은 완전하지 않을 수 있으며, 다음과 같이 내가 다른 라인에서 그 내부에 계속 입력 할 수 있습니다 :

CL-USER> (defun print-hello() 
      ) 

내가 Enter 키를 눌러 새 줄을 시작할 때, 그러나, SLIME repl은 내 불완전한 표현을 실행합니다. 다음과 같이 표현식을 완성 할 때까지 기다려 주시기 바랍니다.

CL-USER> (defun print-hello() 
      (format t "Hello, world")) 

어떻게해야합니까?

+4

대신'C-j'를 사용하십시오. – jkiiski

+0

그게 효과가 있어요. 감사! – ARV

+1

또한 여러 줄 표현에 슬라임 스크래치 버퍼를 사용하는 것이 실제보다 훨씬 편리합니다. –

답변

0

그런 상황에서 REPL에 긴 s- 표현식을 쓸 때 가장 좋은 방법은 slime scratch buffer을 사용하는 것이라고 생각합니다. 당신은 CJ

누르면 아무 문제가 나는 교활한 사용하고 있지만, 캡처는 다음과 같이 수, 버퍼 내부에 들어 가지를 편집하고 그 후

으로 실행할 수 있습니다

(defun print-hello() 
      (format t "Hello, world")) 
; => PRINT-HELLO 

또 다른 대안은 마지막 부모없이 일하는 것입니다 :-(

또는 @jkiisky의 의견에 제안 된 것처럼 표현식을 입력하고 ex의 중간에 추가하십시오. 귀하의 질문에 관련 Pression의 C-j

CL-USER> (defun 
) 
0

, lispy는 점액과의 통합을 제공합니다.

저는 일반적으로 REPL 버퍼에 아무 것도 입력하지 않습니다. 대신 소스 파일에서 모든 코드를 편집하고 e을 사용하여 현재 섹프를 평가합니다.

lispy도 호환성이 우려되는 경우 paredit의 수퍼 세트입니다.