An open API service indexing awesome lists of open source software.

https://github.com/lujun9972/mylisp


https://github.com/lujun9972/mylisp

Last synced: 5 months ago
JSON representation

Awesome Lists containing this project

README

          

#+TITLE: README
#+AUTHOR: lujun9972
#+OPTIONS: ^:{}

* org-gamification

是一个简单的对Org-mode游戏化的尝试,主要就是通过完成任务赚取积分,用然后用积分购买奖励物品.

* 使用"(org-babel-load-file "org-gamification.org")"加载代码

* 执行`M-x org-gamification-init'初始化游戏状态(该动作每个org文件只需要做一次)

* 执行`M-x org-gamification-start'则会进入游戏状态. 这时每完成一个事项即可增加积分.

默认情况下[#A]级任务增加30积分,[#B]级任务增加20积分,[#C]级任务增加10积分.

但可以通过为每个entry设置REWARD属性的方式自定义完成该entry所获得的奖励积分数,需要为整数.

* 可以使用`M-x org-gamification-add-reward'来添加想购买的奖励物品

将表示奖励物品的entry设置为完成状态表示购买该奖励物品,需要消耗积分. 若积分不够,则会阻止购买,即该entry无法变为完成状态

* 执行`M-x org-gamification-end'来退出游戏状态

* autoftp

由于经常需要在本地编辑代码后上传到远程服务器上编译,因此写了这么个小东西,每次保存文件时自动通过tramp上传到远程服务器上.

* 配置`autoftp-local-remote-root-alist'变量

该变量指明了本地路径的文件应该上传到远程服务器的哪个地方,即它为本地项目root与对应的remote地址的alist

其中remote-root的格式应为/username@ip:/path/to/root/

* 使用`(require 'autofetp)'加载代码

* 使用`M-x turn-on-auto-ftp'进入自动上传状态,这时保存本地文件会自动上传到远程服务器上

* 使用`M-x turn-off-auto-ftp'退出自动上传状态.

* monitor


* 在使用前,请保证系统有plink或ssh

* 加载monitor库:
#+BEGIN_SRC emacs-lisp
(require 'monitor)
#+END_SRC

* 创建一个process连接到要监控的远程机器上
#+BEGIN_SRC emacs-lisp
(setq p1 (start-connect-process "IP" "USR" "PWD"))
#+END_SRC

* 可以创建多个process连接到不同的远程机器上

* 创建一个monitor,一个monitor由要执行的检测命令,以及根据检测命令的返回结果指定相应回应命令的rule列表组成
#+BEGIN_SRC emacs-lisp
(setq m1 (make-monitor :exam-cmd "df |grep cnaps2"
:reaction-rules '(("[89]?%" . "echo disk is almost full")
("100%" . "echo disk is full! please clean it"))))
#+END_SRC

reaction-rules的格式为由(match . action)组成的alist

当process的output匹配matchN时,执行actionN命令:若action为字符串,则往process发送action命令,否则action为函数,它接收output作为参数,并返回要发送給process的命令字符串"

* 使用add-process-monitor将monitor应用到表示远程机器的process上
#+BEGIN_SRC emacs-lisp
(add-process-monitor p1 m1)
#+END_SRC

* 可以为一个process添加多个monitor

* 执行(active-all-processes-monitors)会执行次所有process中的所有monitor

* 若想每隔10s钟自动激活一次process中的所有monitor,可以:
#+BEGIN_SRC emacs-lisp
(setq t1 (run-at-time 0 10 #'active-all-processes-monitors))
#+END_SRC

* evolution-game

"land of lisp"中进化模拟游戏的elisp实现.

其实基本都是照抄书里的...

* proc-info
方便查看/proc信息的小工具

** TODO 增加/proc信息的中文解释
* eshell-ido-pcomplete
在eshell中使用ido进行补全,目前支持命令,文件路径,lisp函数和lisp变量的补全

使用方法为

1. 将eshell-ido-pcomplete.el放到`load-path'中
2. 在eshell buffer中执行`(require 'shell-ido-pcomplete)',则tab键被绑定到eshell-ido-pcomplete
* eshell-auto-execute-commands
允许eshell中不按回车,自动执行命令

使用方法为

1. 将eshell-auto-execute-commands.el放到`load-path'中
2. 配置变量`eshell-auto-executable-commands',改变量为一个存储自动执行命令的list.

例如要在eshell下输入iff就立即执行ido-find-file命令,只需要,先在eshell中执行
#+BEGIN_SRC sh
alias iff ido-find-file
#+END_SRC
然后在emacs配置文件中加入
#+BEGIN_SRC emacs-lisp
(add-to-list 'eshell-auto-executable-commands 'iff)
#+END_SRC
3. 执行命令`turn-on-eshell-auto-execute-commands'开启自动执行command模式

此时,在eshell中输入iff则会自动调用`ido-find-file'函数

4. 执行命令`turn-off-eshell-auto-execute-commands'关闭自动执行command模式