我的emacs设置
;;;;;;;常规设置;;;;;;;;;;;;;;;;;;;; ;;设置默认工作目录 (setq default-directory "~/ACM/") (setq x-select-enable-clipboard t) ;; 设置备份目录。 (setq backup-directory-alist '(("." . "~/ACM/emacs_backup"))) ;; 不备份文件,不推荐 ;;(setq make-backup-files nil) ;; 设置光标为竖线 (setq-default cursor-type 'bar) ;; 设置光标为方块 ;; (setq-default cursor-type 'box) ;; 关闭起动时的那个“开机画面” (setq inhibit-startup-message t) ;; 关闭烦人的出错时的提示声 ;(setq visible-bell t) ;; 加亮选中部分 (transient-mark-mode t) ;; 滚轮支持 (setq mouse-wheel-mode t) ;; 显示列号 (setq column-number-mode t) ;; 不要在鼠标点击的那个地方插入剪贴板内容 (setq mouse-yank-at-point t) ;; 用一个很大的 kill ring (setq kill-ring-max 200) ;; 把 fill-column 设为 60. 这样的文字更好读 (setq default-fill-column 60) ;; 不用 TAB 字符来indent, 这会引起很多奇怪的错误 (setq-default indent-tabs-mode nil) (setq tab-stop-list ()) ;;(loop for x downfrom 40 to 1 do ;; (setq tab-stop-list (cons (* x 4) tab-stop-list))) ;; 设置 sentence-end 可以识别中文标点。不用在 fill 时在句号后插入两个空格 (setq sentence-end "//([。!?]//|……//|[.?!][]/"')}]*//($//|[ /t]//)//)[ /t/n]*") (setq sentence-end-double-space nil) ;; 可以递归的使用 minibuffer (setq enable-recursive-minibuffers t) ;; 防止页面滚动时跳动, scroll-margin 3 可以在靠近屏幕边沿3行时就开始滚动,可以很好的看到上下文。 (setq scroll-margin 3 scroll-conservatively 10000) ;; 括号匹配时显示另外一边的括号,而不是烦人的跳到另一个括号 (show-paren-mode t) (setq show-paren-style 'parentheses) ;; 光标靠近鼠标指针时,让鼠标指针自动让开,别挡住视线 (mouse-avoidance-mode 'animate) ;; 在标题栏显示buffer的名字,而不是 emacs@wangyin.com 这样没用的提示 (setq frame-title-format "emacs@%b") ;; 把这些缺省禁用的功能打开 (put 'set-goal-column 'disabled nil) (put 'narrow-to-region 'disabled nil) (put 'upcase-region 'disabled nil) (put 'downcase-region 'disabled nil) (put 'LaTeX-hide-environment 'disabled nil) ;; 让 dired 可以递归的拷贝和删除目录 (setq dired-recursive-copies 'top) (setq dired-recursive-deletes 'top) ;去掉工具栏 (tool-bar-mode nil) ;去掉滚动条 ;(scroll-bar-mode nil); ;; Meta-g: 跳到制定行 ;(global-set-key (kbd "M-g") 'goto-line) ;;标记区域 (global-set-key (kbd "C-j") 'set-mark-command);; ;;改变默认的注释方式 (defun my-c-comment () (interactive) (insert "/**/") (backward-char 2)) (global-set-key "/M-;" 'my-c-comment) ;;不要总是没完没了的问yes or no, 为什么不能用 y/n (fset 'yes-or-no-p 'y-or-n-p) ;;;;;;;;;;;;;;;;;;;;;;;;;;;; 显示时间设置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (display-time-mode 1);;启用时间显示设置,在minibuffer上面的那个杠上 (setq display-time-24hr-format t);;时间使用24小时制 (setq display-time-day-and-date t);;时间显示包括日期和具体时间 (setq display-time-use-mail-icon t);;时间栏旁边启用邮件设置 (setq display-time-interval 10);;时间的变化频率,单位多少来着? ;;;;;;;;;;;;;;;;;;;;;;;;;;; 显示时间设置结束 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (customize-set-variable 'scroll-bar-mode 'right) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;END常规设置;;;;;;;;;;;;;;; ;-------------------------关闭当前的buffer------------------------- ;(global-set-key (kbd "C-c C-q") 'kill-this-buffer) ;(global-set-key (kbd "M-c") 'kill-this-buffer) (global-set-key [M-return] 'kill-this-buffer);M-return关闭当前buffer ;M-c关闭当前buffer,有时候,用Alt+Enter不是很合适,所以增加一个 ;-------------------------关闭当前的buffer------------------------- ;;;-------------主体颜色设置----------------------- (add-to-list 'load-path (expand-file-name "~/conf/common")) (require 'color-theme) (color-theme-initialize) ;(color-theme-gnome2) ;(color-theme-billw) ;(color-theme-gray30) (color-theme-kingsajz) ;(color-theme-tty-dark);;彩色黑色 ;(color-theme-midnight) ;;显示行号 (global-linum-mode 1) (global-set-key [(meta g)] 'goto-line) (require 'setnu) (setnu-mode t) (require 'yasnippet-bundle) (setq yas/root-directory "~/.emacs.d/snippets") (yas/load-directory yas/root-directory) ;;;;;;;;;;;;;;;;;;;;;;;;智能跳转;;;;;;;;;;;;;;;;;;;;; ;;;C-.来在当前位置做个标记 ;;用C-,就回到刚才做标记的地方A,再用C-,又会回到B (global-set-key [(control ?.)] 'ska-point-to-register) (global-set-key [(control ?/,)] 'ska-jump-to-register) (defun ska-point-to-register() "Store cursorposition _fast_ in a register. Use ska-jump-to-register to jump back to the stored position." (interactive) (setq zmacs-region-stays t) (point-to-register 8)) (defun ska-jump-to-register() "Switches between current cursorposition and position that was stored with ska-point-to-register." (interactive) (setq zmacs-region-stays t) (let ((tmp (point-marker))) (jump-to-register 8) (set-register 8 tmp))) ;;;;;;;;;;;;;;;;;;;;;;;;智能跳转;;;;;;;;;;;;;;;;;;;;; ;-----------------------------大名鼎鼎的cedet----------------------------- (load-file "~/conf/cedet/common/cedet.el") ;版本千万不要用错了,否则会很恶心 (require 'cedet) (require 'semantic) (require 'semantic-ia) (require 'semanticdb) (global-ede-mode t) (require 'semantic-gcc) (global-srecode-minor-mode 1) (semantic-load-enable-minimum-features) (semantic-load-enable-code-helpers) (semantic-load-enable-guady-code-helpers) (semantic-load-enable-excessive-code-helpers) (semantic-load-enable-semantic-debugging-helpers) (global-semantic-stickyfunc-mode -1);关掉,免得替代tabbar (which-function-mode nil) ;----------------------- (setq semanticdb-project-roots (list (expand-file-name "/"))) (defconst cedet-user-include-dirs (list "/" "./")) (defconst cedet-win32-include-dirs (list "../" "D://MinGW//lib//gcc//mingw32//4.5.0//include//c++")) ;(require 'semantic-c nil 'noerror) ;(let ((include-dirs cedet-user-include-dirs)) ; (when (eq system-type 'windows-nt) ; (setq include-dirs (append include-dirs cedet-win32-include-dirs))) ; (mapc (lambda (dir) ; (semantic-add-system-include dir 'c++-mode) ; (semantic-add-system-include dir 'c-mode)) ; include-dirs)) ;;----------------------- (global-set-key [f12] 'semantic-ia-fast-jump);F12跳转 ;Shift F12跳转回来 (global-set-key [S-f12] (lambda () (interactive) (if (ring-empty-p (oref semantic-mru-bookmark-ring ring)) (error "Semantic Bookmark ring is currently empty")) (let* ((ring (oref semantic-mru-bookmark-ring ring)) (alist (semantic-mrub-ring-to-assoc-list ring)) (first (cdr (car alist)))) (if (semantic-equivalent-tag-p (oref first tag) (semantic-current-tag)) (setq first (cdr (car (cdr alist))))) (semantic-mrub-switch-tags first)))) (global-set-key (kbd "M-/") 'semantic-ia-complete-symbol-menu) ;(global-set-key (kbd "C-.") 'semantic-ia-complete-symbol-menu) ;(global-set-key (kbd "C-,") 'semantic-ia-complete-symbol-menu) ;(global-set-key (kbd "M-.") 'semantic-ia-complete-symbol-menu) ;(global-set-key (kbd ":") 'semantic-ia-complete-symbol-menu) ;(global-set-key (kbd ">") 'semantic-ia-complete-symbol-menu) ;-----------------------------大名鼎鼎的cedet----------------------------- ;;;;;;;;;;;;;;;;;;;;自动补全;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; (setq semanticdb-project-roots (list (expand-file-name "/"))) (defconst cedet-user-include-dirs (list ".." "../include" "../inc" "../common" "../public" "../.." "../../include" "../../inc" "../../common" "../../public")) (defconst cedet-win32-include-dirs (list "D://MinGW//lib//gcc//mingw32//4.5.0//include//c++" ; "C:/MinGW/include/c++/3.4.5" ;"C:/MinGW/include/c++/3.4.5/mingw32" ; "C:/MinGW/include/c++/3.4.5/backward" ; "C:/MinGW/lib/gcc/mingw32/3.4.5/include" ; "C:/Program Files/Microsoft Visual Studio/VC98/MFC/Include" )) (require 'semantic-c nil 'noerror) (let ((include-dirs cedet-user-include-dirs)) (when (eq system-type 'windows-nt) (setq include-dirs (append include-dirs cedet-win32-include-dirs))) (mapc (lambda (dir) (semantic-add-system-include dir 'c++-mode) (semantic-add-system-include dir 'c-mode)) include-dirs)) ;;;;;;;;;;;;;;;;;;;;自动补全;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;-----------------F4.h.cpp切换------------ (load-file "~/conf/cedet/contrib/eassist.el") (require 'eassist nil 'noerror) (global-set-key [f10] 'eassist-switch-h-cpp);修改为F4切换.h和.cpp ;设定.h .cpp 的格式 (setq eassist-header-switches '(("h" . ("cpp" "cxx" "c++" "CC" "cc" "C" "c" "mm" "m")) ("hh" . ("cc" "CC" "cpp" "cxx" "c++" "C")) ("hpp" . ("cpp" "cxx" "c++" "cc" "CC" "C")) ("hxx" . ("cxx" "cpp" "c++" "cc" "CC" "C")) ("h++" . ("c++" "cpp" "cxx" "cc" "CC" "C")) ("H" . ("C" "CC" "cc" "cpp" "cxx" "c++" "mm" "m")) ("HH" . ("CC" "cc" "C" "cpp" "cxx" "c++")) ("cpp" . ("hpp" "hxx" "h++" "HH" "hh" "H" "h")) ("cxx" . ("hxx" "hpp" "h++" "HH" "hh" "H" "h")) ("c++" . ("h++" "hpp" "hxx" "HH" "hh" "H" "h")) ("CC" . ("HH" "hh" "hpp" "hxx" "h++" "H" "h")) ("cc" . ("hh" "HH" "hpp" "hxx" "h++" "H" "h")) ("C" . ("hpp" "hxx" "h++" "HH" "hh" "H" "h")) ("c" . ("h")) ("m" . ("h")) ("mm" . ("h")))) ;-----------------F4.h.cpp切换------------ ;----------------代码折叠---------------- (load-file "~/conf/cedet/contrib/semantic-tag-folding.el") (require 'semantic-tag-folding nil 'noerror) (global-semantic-tag-folding-mode 1) (global-set-key (kbd "C--") 'semantic-tag-folding-fold-block) (global-set-key (kbd "C-=") 'semantic-tag-folding-show-block) ;----------------代码折叠---------------- ;-----------------项目工程文件------------------ (global-ede-mode t) ;-----------------项目工程文件------------------ ;;;;;;;;;;;;;;;;;ecb设置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-to-list 'load-path "~/conf/ecb") (require 'ecb) (load-file "~/conf/ecb/ecb.el") (setq ecb-tip-of-the-day nil) (setq ecb-auto-activate t) (setq ecb-use-speedbar-instead-native-tree-buffer 'source) ; (global-set-key (kbd "C-;") 'ecb-goto-window-methods);;CTR+[进入方法窗口 ;; Ecb的操作: ;; C-c . g d 目录列表窗口 ;; C-c . g s 源码窗口 ;; C-c . g m 方法和变量窗口 ;; C-c . g h 历史窗口 ;; C-c . g l 最后选择过的编辑窗口 ;; C-c . g 1 编辑窗口1 ;; C-c . g n 编辑窗口n ;; C-c . l c 选择版面 ;; C-c . l r 重画版面 ;; C-c . l t 拴牢版面(锁定版面) ;; C-c . l w 拴牢可见的ecb窗口 ;; C-c . / 拴牢编绎窗口 ;;;;;;;;;;;;;;;;;;endecb设置 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;---------ecscope设置------- ;; C-c s a 设定初始化的目录,一般是你代码的根目录 ;; C-s s I 对目录中的相关文件建立列表并进行索引 ;; C-c s s 序找符号 ;; C-c s g 寻找全局的定义 ;; C-c s c 看看指定函数被哪些函数所调用 ;; C-c s C 看看指定函数调用了哪些函数 ;; C-c s e 寻找正则表达式 ;; C-c s f 寻找文件 ;; C-c s i 看看指定的文件被哪些文件include (setq load-path (append load-path '("~/conf/xcscope"))) (require 'xcscope) ;;;;;;;;;;;;;;;;;;;--ecscope设置----- ;;;;;;;;;;;;;;;;;;;;;;GDB设置;;;;;;;;;;;;;;;;;;;;;; (global-set-key [f5] 'make-frame-command);;另外开启一个窗口进行gdb调试 (setq gdb-many-windows t) (require 'gud) (global-set-key [f6] 'gdb) ;;F5设置为在Emacs中调用gdb ;;;;;;;;;;;;;;;;;;;;;END GDB设置;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;shell设置;;;;;;;;;;;;;;;;;; (global-set-key [f1] 'shell);F1进入Shell (defun open-eshell-other-buffer () "Open eshell in other buffer" (interactive) (split-window-vertically) (eshell)) (global-set-key [C-f8] 'open-eshell-other-buffer) (global-set-key [(f8)] 'eshell) ;;目的是开一个shell的小buffer,用于更方便地测试程序(也就是运行程序了),我经常会用到 ;;f8就是另开一个buffer然后打开shell,C-f8则是在当前的buffer打开shell ;;;;;;;;;;;;;;;;;;shell设置;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;F9编译设置;;;;;;;;;;;;;;;;;;;;;;;;; (defun quick-compile () "A quick compile funciton for C++" (interactive) (save-some-buffers t) (compile (concat "g++ " (buffer-name (current-buffer)) " -g "))) (global-set-key [(f9)] 'quick-compile) (global-set-key [C-f7] 'previous-error) (global-set-key [f7] 'next-error) ;;;;;;;;;;;;;;;;;;;;;;;;F9编译设置;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;缩进设置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun my-c-mode-hook () (setq c-basic-offset 2 c-label-offset 0 indent-tabs-mode nil ; compile-command "cd ~/projects/myproject; mvn compile" require-final-newline nil) (lambda () (auto-fill-mode 1)) (define-key c-mode-base-map "/C-m" 'c-context-line-break) ;(global-set-key "/M-n" 'jde-complete-minibuf) ; (global-set-key "/M-N" 'jde-complete-menu) ;(define-key c-mode-base-map "/C-c/C-p" 'show-previous-error) ; (define-key c-mode-base-map "/C-c/C-n" 'show-next-error) (c-set-offset 'substatement-open 0)) (add-hook 'c-mode-common-hook 'my-c-mode-hook) ;;;;;;;;;;;;;缩进设置;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-hook 'c-mode-common-hook 'my-c-mode-hook) (add-hook 'c++-mode-hook 'my-c-mode-hook) (defun my-c-mode-hook () ;;; .... 其他配置功能 (hs-minor-mode 1);;;;;;;;;;显示代码折叠 ( global-set-key [f10] 'hs-hide-block) (global-set-key [f11] 'hs-show-block) (setq c-basic-offset 2 c-label-offset 0 indent-tabs-mode nil require-final-newline nil) (local-set-key (kbd "{") 'skeleton-c-mode-left-brace) ;;; .... 其他配置功能 ) (defun skeleton-c-mode-left-brace (arg) (interactive "*P") (if (c-in-literal (c-most-enclosing-brace (c-parse-state))) (self-insert-command 1) ;; auto insert complex things. (let* ((current-line (delete-and-extract-region (line-beginning-position) (line-end-position))) (lines (and arg (mark t) (delete-and-extract-region (mark t) (point)))) (after-point (make-marker))) ;;; delete extra blank begin and after the LINES (setq lines (and lines (with-temp-buffer (insert lines) (beginning-of-buffer) (delete-blank-lines) (delete-blank-lines) (end-of-buffer) (delete-blank-lines) (delete-blank-lines) (buffer-string)))) (save-excursion (let* ((old-point (point))) (insert (if current-line current-line "") "{/n") (and lines (insert lines)) (move-marker after-point (point)) (insert "/n}") (indent-region old-point (point) nil))) (goto-char after-point) (c-indent-line) ))) ;;;;;;;;;;;;;;;;;;;;;;;;;;自动添加括号;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;--------------------------doxymacs ;##doxymacs;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (add-to-list 'load-path "~/conf/doxymacs/no-autoconf");读取安装el的路径 (require 'doxymacs) ;; 启动doxymacs ;;注释高亮,针对C和C++程序 (defun my-doxymacs-font-lock-hook () (if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode)) (doxymacs-font-lock))) (add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook) (doxymacs-mode);doxymacs-mode常true ;(global-set-key [(f7)] 'doxymacs-mode);doxymacs-mode快捷键[F6] (add-hook 'c-mode-common-hook 'doxymacs-mode) ;; 启动doxymacs-mode (add-hook 'c++-mode-common-hook 'doxymacs-mode) ;; 启动doxymacs-mode ;;---C-c d i ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defconst doxymacs-C++-file-comment-template '( "/********************************************************************" > n "** " (doxymacs-doxygen-command-char) "file " (if (buffer-file-name) (file-name-nondirectory (buffer-file-name)) "") > n "** " (doxymacs-doxygen-command-char) "author " (user-full-name) > n "** " (doxymacs-doxygen-command-char)"date " (current-time-string) > n "** " (doxymacs-doxygen-command-char)"brief " > n "**" " "> n "** " " "> n "**" (doxymacs-doxygen-command-char) "version" " " "Copyright (c) 2011,河南理工大学-信管08-三班."> n "********************************************************************/"> n) "Default C++-style template for file documentation.") ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;扩展功能;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;; rect region selection ----------------------------------------------------- (require 'rect-mark) (global-set-key [down-mouse-2] 'rm-mouse-drag-region) ; mouse drag rect (global-set-key "/M-I" 'string-insert-rectangle) ; insert string (global-set-key [33554436] 'kill-rectangle) ; C-S-d kill rect (global-set-key (kbd "<C-S-SPC>") ; move rightward (lambda () (interactive) (string-insert-rectangle (mark) (point) " "))) ;; --------------------------------------------------------------------------- ;;--------------------------------------------------------------- ;;; C-c k: 就能出现这样一个 (require 'browse-kill-ring) (global-set-key [(control c)(k)] 'browse-kill-ring) (browse-kill-ring-default-keybindings) ;;-------------------------------------------------------------- ;;------------------------------------------------------------ ;;;;;;;;; C-x C-b 那个普通的 buffer menu 换成非常方便的 ibuffer 啦! (require 'ibuffer) (global-set-key (kbd "C-x C-b") 'ibuffer) ;;按f2让Emacs进入全屏显示 ;;参考: <http://www.emacswiki.org/cgi-bin/wiki/FullScreen> (defun fullscreen () (interactive) (set-frame-parameter nil 'fullscreen (if (frame-parameter nil 'fullscreen) nil 'fullboth))) (global-set-key [f2] 'fullscreen) ;;;;;;;;;;;;;;;;;;;;;;;;;;自定义设置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-set-variables ;; custom-set-variables was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(column-number-mode t) '(display-time-mode t) '(ecb-options-version "2.40") '(ecb-primary-secondary-mouse-buttons (quote mouse-1--mouse-2)) '(ecb-source-path (quote ("G:/ACM"))) '(scroll-bar-mode (quote right)) '(show-paren-mode t)) (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. ;; Your init file should contain only one such instance. ;; If there is more than one, they won't work right. '(default ((t (:inherit nil :stipple nil :background "darkslategrey" :foreground "wheat" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 120 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;自定义设置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Leiningen + Figwheel + Emacs 配置 Lein 通过命令行启动, 通过 project.clj 文件配置. project.clj 实际上是一个 Clojure 脚本, 运行时被读取. Emacs C-x C-e eval last cljs sexp 的配置 1.在 project.clj 文件里面的 :dependencies 引入 :dependencies [ .
本文向大家介绍Windows上配置Emacs来开发Python及用Python扩展Emacs,包括了Windows上配置Emacs来开发Python及用Python扩展Emacs的使用技巧和注意事项,需要的朋友参考一下 Windows下配置Emacs来开发Python 去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能
本文向大家介绍emacs 退出Emacs,包括了emacs 退出Emacs的使用技巧和注意事项,需要的朋友参考一下 示例 您可以使用以下快捷键退出Emacs: C-x C-c 哪里C是control关键。 挂起Emacs 您可以使用以下按键绑定来挂起Emacs: C-z 它使您回到外壳。如果要恢复emacs会话,请fg在终端中输入。
Emacs是一种强大的文本编辑器,在程序员和其他以技术工作为主的计算机用户中广受欢迎。EMACS,即Editor MACroS(宏编辑器)的缩写,最初由Richard Stallman于1975年在MIT协同Guy Steele共同完成。这一创意的灵感来源于TECMAC和TMACS,它们是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Franks
本文向大家介绍emacs Prelude,包括了emacs Prelude的使用技巧和注意事项,需要的朋友参考一下 示例 Prelude是另一种流行的入门工具包。它具有对各种开箱即用的编程语言的良好支持,尤其是clojure。在* nix系统上,可以使用以下命令进行安装:
本文向大家介绍emacs-live,包括了emacs-live的使用技巧和注意事项,需要的朋友参考一下 示例 emacs-live是另一种流行的emacs入门套件,另外还重点关注使用泛音进行的现场音乐编码。 您可以通过两种方式安装它: 在* nix(例如Linux,OSX等)系统上,在命令行上运行以下命令: bash <(curl -fksSL https://raw.github.com/ove
Introduction Emacs-libvterm (vterm) is fully-fledged terminal emulator inside GNU Emacsbased on libvterm, a C library. As aresult of using compiled code (instead of elisp), emacs-libvterm is fullycapa
emacs-cgi 是一个简单的 Emacs CGI 库,允许使用 Elisp 开发动态页面。 目前支持的特性有: Script-let:使用 <% %> 嵌入 elisp 语句,将标准输出的内容输出到页面; <%= %> 嵌入 elisp 表达式,就函数返回值输出到页面。 将原生的 s-expression 生成 html:比如 (html (head (title "Hello emacs-c