大家都可以用的emacs草稿buffer生成命令

发现自己常常会有临时新建某一编程语言buffer,这个buffer并不想保存,所以不想每次都输出文件名,而emacs在内存buffer创建时,并不会开启相应的语言mode。。

 

所以区区编写一个简单的scratch-run命令,可以智能地提示并补全emacs支持的各种语言major mode,

另外还提供一个简单的alist别名操作:

 

(defvar scratch-run-alist '(("java" . java-mode) ("c++" . c++-mode) ("perl" . perl-mode) ("python" . python-mode) ("js" . javascript-mode) ("j" . j-mode) ("tcl" . tcl-mode)) "生成草稿buffer的简短mode名称列表") (defun scratch-run () "Run a scratch" (interactive) (let ((mode (ido-completing-read "What kind of scratch mode ?:" (append (all-completions "" obarray (lambda (s) (and (fboundp s) (string-match "-mode$" (symbol-name s))))) (mapcar 'car scratch-run-alist))))) (pop-to-buffer (get-buffer-create (format "* scratch * %s *" mode))) (funcall (if (assoc mode scratch-run-alist) (cdr (assoc mode scratch-run-alist)) (intern mode))) )) 

你可能感兴趣的:(python,buffer,语言,lambda,emacs,Tcl)