Подтвердить что ты не робот

Могу ли я почистить реплику?

Я играл с большим количеством кода в консоли replix, как я могу его очистить? Я бы хотел новый, не перезагружая его. Это можно сделать?

4b9b3361

Ответ 1

Если вы хотите очистить текущее пространство имен всех временных переменных и функций, которые вы указали, вы можете использовать этот один лайнер (или выполнить его функцию):

(map #(ns-unmap *ns* %) (keys (ns-interns *ns*)))

или

(ns myutil)
(defn ns-clean
       "Remove all internal mappings from a given name space or the current one if no parameter given."
   ([] (ns-clean *ns*)) 
   ([ns] (map #(ns-unmap ns %) (keys (ns-interns ns)))))
(ns mytest)

... make loads of junk ...

(myutil/ns-clean)

... great!!! I can now make all new junk ... 

Он не претендует на то, чтобы дать вам скрипучее чистое пространство имен, только одно с меньшим количеством нежелательной почты, которая обычно накапливается в типичном сеансе репликации.

Следует использовать с осторожностью: не вытаскивайте коврик из-под ног!

Ответ 2

В EMACS/slime REPLs C-c C-o очищает последний результат (если вы набрали то, что дало очень длинный ответ) C-c M-o очищает все это

В терминалах GNOME у вас есть опция меню Terminal/ Reset и Clear

Ответ 3

Если вы используете реплика через окно терминала (например: Terminal.app на MacOS или xterm/aterm/urxvt и т.д. в linux), вы можете ввести Control-L, и он должен очистить оконечное окно и дать вам новое приглашение на замену. Однако все макросы/атомы, которые вы ранее определили, все еще будут в памяти, так что это просто "косметический".

Ответ 4

Обрезка для очистки всего буфера: C - u C - C C - o

Ярлык для очистки последнего выхода: C - C C - o

Обратите внимание, что старый способ: C - C M - o

Ответ 5

Если вы используете Emacs + nREPL, вы можете:

  • Запустите M x nrepl-clear-buffer или
  • Запустить C C M o

Если привязка ключей не включена, запустите M x nrepl-interaction-mode, чтобы включить ее. Вы можете найти другие полезные ярлыки в nrepl.el и/или настроить привязки клавиш в соответствии с вашими потребностями.

Примечание. Вы можете найти все привязки клавиш nREPL в вашей системе, запустив M-x v nrepl-mode-map и следуя ссылке nrepl.el.

Ответ 6

Я использую команду Emacs cider-repl-clear-buffer через M-x. Можно также использовать cider-repl-clear-output с аргументом префикса: C-u C-c C-o.

Ответ 7

Это зависит от того, что вы подразумеваете под "чистым". Чтобы удалить все пространства имен в пакете, вы можете использовать:

(mapv remove-ns 
  (map symbol 
    (filter #(.startsWith % "org.mycompany") 
      (map str (all-ns)))))