J'ai récemment commencé à apprendre Lisp et que vous avez principalement une corbeille avec Clisp et Vim. Je voulais aussi essayer SBCL, car cela est souvent recommandé comme l'un des meilleurs compilateurs LISP gratuits. Il y a une chose, cependant, ce qui rend SBCL plus difficile à utiliser pour moi: je ne peux pas obtenir autocomplete dans la Remep, que j'ai dans Clisp. C'est-à-dire que lorsque je démarre SBCL et tapez ce qui suit (comme exemple), où Comme je suis assez nouveau sur Lisp, la fonctionnalité automatique de CISP est vraiment pratique, donc ce serait vraiment très pratique si quelqu'un pouvait également expliquer comment l'obtenir dans SBCL. P> P>
* (exiger code>. P>
4 Réponses :
Je ne connais pas un moyen d'obtenir un moyen de remplir automatiquement dans SBCL, mais je trouve que l'interface avec mon environnement LISP à partir de SLime est assez pratique et à ce stade, vous pouvez utiliser CC CI pour une achèvement automatique . P>
Je ne trouve rien dans le manuel SBCL à ce sujet, alors je suppose qu'il n'y a pas de support d'achèvement intégré. Je ne peux que deux secondes la recommandation d'utiliser SLIMe, elle a même plusieurs systèmes d'achèvement à choisir. Surtout l'achèvement fuzzy est génial. Et vous pouvez également compléter avec
Eh bien, un problème est que j'utilise Vim, pas Emacs. J'ai essayé d'échanger, mais il y a juste un peu trop de travail pour configurer Emacs avec ViperMode (ou similaire) et pour l'accorder à mon goût de le faire fonctionner pour moi. Ainsi, au moins pour le moment, SLime n'est pas une option. J'utilise un plugin inspiré par la boue pour Vim, mais ce n'est pas aussi puissant. Quoi qu'il en soit, c'est pourquoi je suis intéressé à la fin de la répartition standard de SBCL. Quoi qu'il en soit, merci pour la réponse. Cela me rend un peu plus inspiré de faire un nouvel essai chez Emacs.
Un moyen d'obtenir une solution automatique RÉPP dans SBCL consiste à utiliser linedit, à partir de http: // commune- lisp.net/project/lineDit/ . Une seconde consiste à utiliser RLWrap, un wrapper LIVELLINE, avec un fichier d'achèvement approprié. (Je pense qu'il est juste de dire qu'aucun d'entre eux n'est aussi couramment utilisé que Emacs, ce qui fournit bien sûr également un complément avec un certain nombre d'autres fonctionnalités utiles.) P>
Si vous souhaitez utiliser SBCL, EMACSS et SLIME, suivez ce Common moderne Lisp sur le tutoriel Linux . Le didacticiel met en place QuickLisp code> et surtout
(ql: Quickload "slime-slime-helper") code>, un éliscrit qui devient SLIMe à faire de manière automatique et plus. P>
En fait, c'est complètement possible. Oui, vous voulez travailler avec des LISP commun via Emacs et Slime (je préfère Sly). Mais c'est un autre coup de débutant mural.
Vous voulez juste jouer à partir de la réplique? Les instructions suivantes permettent une autocomplete dans SBCL avec RLWRAP. P>
https://www.cliki.net/cmuct%20hints P>
1) Installez rlwrap p>
2) Créer un alias de coque, par exemple, mettre du texte comme p> dans votre ~ / .bstrucc (ou ~ / .profile ou peu importe).
(Ou vous pouvez continuer à appeler SBCL rlwrapped via "rlwrap sbcl") p> 3) Edi Weitz a créé un fichier de liste d'achèvement qui est désormais sorti de son site Web. Je suis donc en train de relier à Internet Archive. Enregistrez cette liste de mots dans un fichier "SBCL"
https://web.archive.org/web/ 20031207221537 / http: //weitz.de/files/cmucl_completions p> 4) Vous pouvez essayer de mettre le fichier en fonction des instructions de Cliki, cela ne s'appliquera que pour l'utilisateur que vous êtes connecté en dessous de. Je voulais que cela fonctionne pour tous les utilisateurs, je mets donc le fichier "SBCL" dans mon répertoire d'achèvement de RLWRAP, qui est dans
/ usr / partager / rlwrap / achève / p> Alors maintenant j'ai un fichier / usr / partager / rlwrap / achèvement / sbcl
Qui contient les mots. p> 5) créer / ajuster
~ / .Inputtrc Fichier Ajoutez la ligne P> TAB: complete
Au lieu de créer / USR / Share / RLWrap / achèvement / sbcl code> (qui nécessite probablement des privilèges superutilisateurs de créer), un utilisateur régulier pourrait créer
~ / .sbcl_commlettions code>.