{"id":17987995,"url":"https://github.com/lujun9972/mylisp","last_synced_at":"2026-02-13T23:07:13.847Z","repository":{"id":27991798,"uuid":"31485874","full_name":"lujun9972/MyLisp","owner":"lujun9972","description":null,"archived":false,"fork":false,"pushed_at":"2021-02-23T00:46:55.000Z","size":199,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-14T13:51:00.255Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lujun9972.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-01T03:42:40.000Z","updated_at":"2021-02-23T00:46:57.000Z","dependencies_parsed_at":"2022-09-12T09:12:24.613Z","dependency_job_id":null,"html_url":"https://github.com/lujun9972/MyLisp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lujun9972/MyLisp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujun9972%2FMyLisp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujun9972%2FMyLisp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujun9972%2FMyLisp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujun9972%2FMyLisp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lujun9972","download_url":"https://codeload.github.com/lujun9972/MyLisp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lujun9972%2FMyLisp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29422446,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-13T22:20:51.549Z","status":"ssl_error","status_checked_at":"2026-02-13T22:20:49.838Z","response_time":78,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-29T19:10:21.022Z","updated_at":"2026-02-13T23:07:13.819Z","avatar_url":"https://github.com/lujun9972.png","language":"Emacs Lisp","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: README\n#+AUTHOR: lujun9972\n#+OPTIONS: ^:{}\n\n* org-gamification\n\n  是一个简单的对Org-mode游戏化的尝试,主要就是通过完成任务赚取积分,用然后用积分购买奖励物品.\n\n  * 使用\"(org-babel-load-file \"org-gamification.org\")\"加载代码\n\n  * 执行`M-x org-gamification-init'初始化游戏状态(该动作每个org文件只需要做一次)\n\n  * 执行`M-x org-gamification-start'则会进入游戏状态. 这时每完成一个事项即可增加积分.\n\t\n    默认情况下[#A]级任务增加30积分,[#B]级任务增加20积分,[#C]级任务增加10积分.\n   \n    但可以通过为每个entry设置REWARD属性的方式自定义完成该entry所获得的奖励积分数,需要为整数.\n\n  * 可以使用`M-x org-gamification-add-reward'来添加想购买的奖励物品\n\n    将表示奖励物品的entry设置为完成状态表示购买该奖励物品,需要消耗积分. 若积分不够,则会阻止购买,即该entry无法变为完成状态\n\n  * 执行`M-x org-gamification-end'来退出游戏状态\n\n* autoftp\n\n  由于经常需要在本地编辑代码后上传到远程服务器上编译,因此写了这么个小东西,每次保存文件时自动通过tramp上传到远程服务器上.\n\n  * 配置`autoftp-local-remote-root-alist'变量\n\n    该变量指明了本地路径的文件应该上传到远程服务器的哪个地方,即它为本地项目root与对应的remote地址的alist\n\n    其中remote-root的格式应为/username@ip:/path/to/root/\n\n  * 使用`(require 'autofetp)'加载代码\n\n  * 使用`M-x turn-on-auto-ftp'进入自动上传状态,这时保存本地文件会自动上传到远程服务器上\n\n  * 使用`M-x turn-off-auto-ftp'退出自动上传状态.\n\n* monitor\n\n  \n  * 在使用前,请保证系统有plink或ssh\n\n  * 加载monitor库:\n\t #+BEGIN_SRC emacs-lisp\n       (require 'monitor)\n\t #+END_SRC\n\n  * 创建一个process连接到要监控的远程机器上\n\t #+BEGIN_SRC emacs-lisp\n       (setq p1 (start-connect-process \"IP\" \"USR\" \"PWD\"))\n\t #+END_SRC\n\n  * 可以创建多个process连接到不同的远程机器上\n\n  * 创建一个monitor,一个monitor由要执行的检测命令,以及根据检测命令的返回结果指定相应回应命令的rule列表组成\n\t #+BEGIN_SRC emacs-lisp\n       (setq m1 (make-monitor :exam-cmd \"df |grep cnaps2\"\n                                    :reaction-rules '((\"[89]?%\" . \"echo disk is almost full\")\n                                                      (\"100%\" . \"echo disk is full! please clean it\"))))\n\t #+END_SRC\n\t \n     reaction-rules的格式为由(match . action)组成的alist\n\n     当process的output匹配matchN时,执行actionN命令:若action为字符串,则往process发送action命令,否则action为函数,它接收output作为参数,并返回要发送給process的命令字符串\"\n\t \n  * 使用add-process-monitor将monitor应用到表示远程机器的process上\n\t #+BEGIN_SRC emacs-lisp\n       (add-process-monitor p1 m1)\n\t #+END_SRC\n\n  * 可以为一个process添加多个monitor\n\n  * 执行(active-all-processes-monitors)会执行次所有process中的所有monitor\n\n  * 若想每隔10s钟自动激活一次process中的所有monitor,可以:\n\t #+BEGIN_SRC emacs-lisp\n       (setq t1 (run-at-time 0 10 #'active-all-processes-monitors))\n\t #+END_SRC\n\n* evolution-game\n  \n  \"land of lisp\"中进化模拟游戏的elisp实现.\n\n  其实基本都是照抄书里的...\n  \n* proc-info\n方便查看/proc信息的小工具\n\n** TODO 增加/proc信息的中文解释\n* eshell-ido-pcomplete\n在eshell中使用ido进行补全,目前支持命令,文件路径,lisp函数和lisp变量的补全\n\n使用方法为\n\n1. 将eshell-ido-pcomplete.el放到`load-path'中\n2. 在eshell buffer中执行`(require 'shell-ido-pcomplete)',则tab键被绑定到eshell-ido-pcomplete\n* eshell-auto-execute-commands\n允许eshell中不按回车,自动执行命令\n\n使用方法为\n\n1. 将eshell-auto-execute-commands.el放到`load-path'中\n2. 配置变量`eshell-auto-executable-commands',改变量为一个存储自动执行命令的list. \n\n   例如要在eshell下输入iff就立即执行ido-find-file命令,只需要,先在eshell中执行\n   #+BEGIN_SRC sh\n   alias iff ido-find-file\n   #+END_SRC\n   然后在emacs配置文件中加入\n   #+BEGIN_SRC emacs-lisp\n   (add-to-list 'eshell-auto-executable-commands 'iff)\n   #+END_SRC\n3. 执行命令`turn-on-eshell-auto-execute-commands'开启自动执行command模式\n\n   此时,在eshell中输入iff则会自动调用`ido-find-file'函数\n\n4. 执行命令`turn-off-eshell-auto-execute-commands'关闭自动执行command模式\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flujun9972%2Fmylisp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flujun9972%2Fmylisp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flujun9972%2Fmylisp/lists"}