今天看到网上说Google Reader 里面也有彩蛋了,嘿嘿.赶紧去试试,按照上面的说
法,用方向键 ↑ ↑ ↓ ↓ ← → ← → B A(字母大写小写都可以的),看看变成什么样
子了.左边有个可爱的忍者猫造型,颜色也变成蓝色了,上图:
上图真难,还得到网页上去操作,Emacs的weblogger没有这个功能.
discuz7.0发布了,Discuz 挂了!
今天下午上班的时候看到discuz发布了,赶紧到官方去看看.结果赶过去的
时候发现论坛只能打开首页,而进所有栏目都会提示出错,不知道是由于
discuz7.0刚发布,下载流量过大还是由于7.0漏洞比较大,被小黑给进去了.我估
计后面一种可能性是比较大的,因为官方的下载首页还是正常的,下载页面也都
正常,下载速度还挺快的,至少我下载的时候速度达到了1M每秒,继续关注事态发
展
地方保护主义何时休,谈央视批评google新闻
今天在媒体上看到说央视新闻在上午报道谷歌某些医疗广告存在虚假广告,第一反
应很震惊,前一段时间才说的是百度虚假广告以及竞价排名,并且好像都是先从网络上炒
得很火以后央视才开始报道的,这次网上都没有风声就突然出现的负面新闻,相信对
李开复来说也是比较突然的.
央视报道百度时我就在想:百度的名声臭了,这对谷歌来说既是机遇也是个考验.
因为既然都敢明目张胆的对谷歌做了几年的手脚了,那么这次机会也不会很轻松的让谷歌得到,
没想到才几天就开始报道说谷歌虚假广告问题(够乌鸦吧).想信大家都还记得百度刚出事情的
时候有一段时间,网上的报道百度的新闻都被人为的改成了谷歌的新闻,有时候觉得
真的挺有才的,将搜索引擎上的报道标题更改几个字,然后再请几个5毛党(以前的行
情,现在经济危机因该叫4毛党或者三毛党了)胡乱的写几篇软文,把报道改得云里雾
里的.让大家连央视报道的是什么东西都不知道了.以为这就能将大家忽悠了.
现在又发生央视报道谷歌的新闻,我不想去细想为什么百度出现了问题,被报
道,谷歌就必须出问题,必须同样被报道.几大公司我的没熟人,且冷眼旁观事情的发展
让wordpress里的文章自动截断显示摘要
今天因为要将域名换成现在使用的9wy.net这个域名,顺便将wordpress升下级,所以重新建立了一个站点,下载了最新的wordpress程序进行全新安装……其实就是把它当作是一个全新的blog来对待.
安装好将老blog里的文章导入到这里来以后又发现了老问题:文章显示的是全文,没有显示摘要. 这可不行,有的文章有N长,全部在首页显示的话就不用看别的文章了.而最近又比较懒,不想动手去修改代码,所以又上wordpress找了个插件,虽然比较旧了,07年的,但功能和效果确实不错,在这里共享下:WP Limit Posts Automatically 下载地址 http://wordpress.org/extend/plugins/wp-limit-posts-automatically/ 安装以后激活,然后在后台设置里面找到 Limit Posts Options ,里面就可以设置截断的方式了,可以选择以字,词,或者是段落等方式来进行截断,你也可以自己设置截断的字数,真的是很方便哦
在windows下用dbg在emacs里面调试程序
在windows下面也可以用gdb调试程序了.跟在linux下面一样,先到mingw的主页
http://sourceforge.net/projects/mingw/,下载gdb包来安装,地址:
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=20507
选择适合的版本下载(我选择的是gdb-6.8-mingw-3.tar.bz2),下载后解压就会得到
几个文件夹,跟mingw下面的文件夹是一一对应的,直接复制过去就可以了,
调试上图:
使用:
当你在Emacs里面编辑好文件以后,编译.记得编译时要添加编译选项g,
比如我编译test.cpp时使用的是 g++ -ggdb3 test.cpp -o test.exe
,编译好以后就可以进行调试了,M-x gdba RET,你就会看到上面这样的图片了,开始你的调试之旅吧
在Emacs里面写日志的时候不能分类
好像可以分类了
在发表文章的时候自己加上Keywords项目,如
Keywords:XXXXXXX
,但还不能用标签,以后还要在研究下
Emacs只启动一个进程的方法
GNUEmacs支持server/client这种运行方式。就类似的,UltraEditor,双击打开多
个文件时,可以共用一个程序进程,每次打开文件只是在已有进程下创建一个文档
标签。这个功能对于Emacs来说十分有用,因为作为开发环境,许多人的Emacs并不
单纯是Emacs,也许还有 ECB,也许还有CEDET,也许还有cscope等等。
这些东东,每次启动Emacs都会加载半天的。但我们如果使用Server/Client方式,
将只需要启动一次Emacs,以后每次打开文件,只是在已经启动好的Emacs
进程下创建一个Buffer。
好了,让我们开始!
首先,修改emacs的配置文件.emacs,
在里面加入一行(server-mode)
这样,每次启
动Emacs的时候,就自动启动server了。如果你想手动启动server,也可以启动
emacs后手动执行:
M-x server-start,
或者是server-mode 反正我是没看出这两个的区别
好了,现在让我们启动Emacs,执行runemacs命令。
注意:要先启动runemacs哦。当然,你也可以像我这样的懒人一样将鼠标右
键里面的添加一个Edit with Emacs的选项,并将启动参数调整为
"D:Program FilesGNUemacsbinemacsclientw.exe" -a "D:Program
FilesGNUemacsbinrunemacs.exe" -n "%1"
如果不知道怎么调整参数的话,请参照这个启动命令表示若还没有启
动emacs,启动runemacs,若有,启动emacsclientw)。
windows 下鼠标右键添加 Emacs 编辑项
安装配置好emacs后老是觉得差点什么,今天终于发现是在鼠标右键菜单中没有编辑或打开选项.那就自己来添加
- 打开注册表项
<span style="color: rgb(0, 0, 0);">HKEY_CLASSES_ROOT<span style="color: rgb(0, 0, 204);">*</span><span style="color: rgb(0, 0, 204);"></span>Shell 下面添加项 Edit with Emacs</span>
<span style="color: rgb(0, 0, 0);">在Edit with Emacs 项下面再添加command项</span>
<span style="color: rgb(0, 0, 0);"> </span>
command 项的默认值设置为 ”D:Program FilesGNUemacsbinemacsclientw.exe” -a “D:Program FilesGNUemacsbinrunemacs.exe” -n “%1”
这里的路径是我自己安装emacs的路劲,后面的%1表示打开文件
ok 去试试吧,现在你的鼠标右键菜单里面应该已经有了edit with Emacs项了
Emacs’ command help
常用
C-x C-f :打开/新建文件
C-x S :保存所有缓冲区文件
C-x C-v:在当前缓冲区打开文件
C-x k :关闭当前缓冲区
C-x i : 在当前光标位置插入文件
M-x replace-string: 一次性替换字符串
M-x % : 循环替换。
C-s
C-r :查询
C-@ :设置标记,然后选取
C-w :相当于剪切。
M-w :相当于复制
C-y :粘贴
M-y : 循环粘贴。
C-o:开新行
C-f, C-b, C-p, C-n, M-f, M-b, C-v , M-v , C-l, M->, M-<移动。
C - !, 一次性执行shell, M-x shell, 启动shell外壳。
M-x compile:编译程序。
Emacs提供快捷键(C-M-)缩进当前选中的region。比如说,我们发现一段代码实际上应该只在某个条件下才需要
执行,那么就用一条if语句将这段代码包围起来,然后需要做的就是改变其缩进。如果只有三行,那么按照Windows方式一行行地做缩进也还凑合,如果是
十行、三十行呢?Emacs的操作序列是这样的:
- 在输入完if语句的右大括号之后,按C-space建立一个mark;
- 按C-M-p将光标移动到对应的左大括号处,相应地,这一对大括号所包围的区域就成了当前的region;
- 按C-M-缩进选中的region。
程序
C-x C-z 挂起程序
C-c C-x 退出程序
C-c k 关闭buffer
C-l 重画屏幕
C-g 结束命令,或者假死中恢复,也可以按3次ESC
文件
C-x C-s 保存
C-x C-w 另存为
C-x C-f 打开文件
C-x C-r 只读方式打开
C-x C-v 读入另外一个文件代替当前buffer的文件
C-x s 保存所有
C-x i 将文件的内容插入
M-x revert-buffer 恢复到原始状态
跳转
前/后 单位
C-f/b 字
M-f/b 词
C-a/e 行内
M-a/e 句
M- 文档
C-p/n 行间
M-{/} 段落
C-x ]/[ 页
C-x C-x 文件内,mark之间
M-g g 跳到指定行
M-x goto-char 跳到指定字符
编辑
M-u 后面单词变为大写
M-l 后面单词变为小写
M-c 后面单词的首字母变大写
M-/ 补全
C-j 从当前位置分成两行,相当于RET + tab
M-( 插入()
C-q tab 插入tab
C-q C-m 插入^M
M-; 插入注释
C-o 回车
删除
M-d 后一词
C-d 后一字
M-del 前一词
M-k 到句尾
M- 前面的所有空白
M-z 删到指定字母处
C-k 删除到行尾
文本换位
C-t 字符
M-t 单词
C-x C-t 行
M-x transpose-* 其他命令
撤销
C-/
C-x u
C-_
C-z
重做
C-g M-x undo
C-g C-/
C-g C-z
C-g C-_
粘贴
C-y
C-v
tab/空格转换
M-x tabify
M-x untabify
让选择的区块自动对齐
M-x indent-region
其他命令
C-u <数字> <命令> 重复命令n次
M-<数字> <命令> 同上
M-! 运行shell命令
C-u M-! 执行一条外部命令,并输出到光标位置
M-x cd 改变工作目录
M-x pwd 当前工作目录
C- 启动输入法
M-` 菜单
F10 菜单
M-x eval-buffer 在.emacs的buffer中运行,重新加载emacs配置
查找替换
———————————————————————-
C-r 向上查找
C-s 向下查找
C-s C-w 向下查找,光标位置的单词作为查找字符串
C-s C-y 向下查找,光标位置到行尾作为查找字符串
C-s RET <查找字符串> RET 非递增查找
C-s RET C-w 不受换行、空格、标点影响
C-M-s 正则式向下查找
用向上查找命令就将上面命令的s替换为r
M-% 替换
C-M-% 正则式替换
y 替换当前的字符串并移动到下一个字符串
n 不替换当前字符串,直接移动到下一个字符串
! 进行全局替换,并要求不再显示
. 替换当前字符串,然后退出查找替换操作
q 退出查找替换操作,光标定位到操作开始时的位置
其他命令
M-x replace-
M-x search-
窗口
C-x 0 关掉当前窗口
C-x 1 关掉其他窗口
C-x o 切换窗口
C-x 2 水平两分窗口
C-x 3 垂直两分窗口
C-x 5 2 新frame
buffer
C-x C-b 查看
C-x b 切换
C-x C-q 设为只读
C-x k 删除
C-x left/right 切换
翻页
C-v 下一页
M-v 上一页
选择
M-h 选择段落
C-x h 全部选择
普通区块
C-SPC M-x set-mark-command 单个位置set mark
C-@ 同上
M-@ 对word进行set Mark
M-w 先set Mark,移到光标,M-w就可以复制
C-w 剪切
矩形区块
用这些快捷键要先关闭cua-mode
C-x r t 用串填充矩形区域
C-x r o 插入空白的矩形区域
C-x r y 插入之前删除的矩形区域, 粘贴时,矩形左上角对齐光标
C-x r k 删除矩形区域
C-x r c 将当前矩形区域清空
寄存器
———————————————————————-
光标位置和窗口状态
C-x r SPC <寄存器名> 存贮光标位置
C-x r w <寄存器名> 保存当前窗口状态
C-x r f <寄存器名> 保存所有窗口状态
C-x r j <寄存器名> 光标跳转
文本和数字
C-x r s <寄存器名> 将连续区块拷贝到寄存器中
C-x r r <寄存器名> 将矩形区块拷贝到寄存器中
C-u <数字> C-x r n <寄存器名> 将数字拷贝到寄存器中
C-x r i <寄存器名> 在缓冲区中插入寄存器内容
M-x view-register 查看寄存器内容
M-x list-registers 查看寄存器列表
宏模式
C-x ( 开始一个宏的定义
C-x ) 结束一个宏的定义
C-x e 执行宏
M-x name-last-kbd-macro 给最后一个宏命名
M-x insert-kbd-macro 在当前文件中插入一个已定义并命名过的宏
书签
C-x r m 设置书签
C-x r b 跳转到书签
C-x r l 书签列表
M-x bookmark-delete 删除书签
M-x bookmark-load 读取存储书签文件
M-x bookmark-save 保存到文件
目录模式
———————————————————————-
C-x d M-x dired 启动目录模式
C-x C-d 简单目录
h 帮助
? 简单帮助
请参考http://www.emacs.cn/Doc/Dired
帮助
C-h k 显示你将按下的键执行的function.
C-h f 列出function的功能说明。
C-h b 列出目前所有的快捷键。
C-h m 列出目前的mode的特殊说明.
C-c C-h 列出以C-c 开头的所有快捷键.
Simon的emacs 配置
;; Inhibit spalsh message
(setq inhibit-startup-message t)
(setq inhibit-splash-screen t)
(setq initial-scratch-message nil)
;;load path
(add-to-list 'load-path "~/.emacs.d/site-lisp/")
;;一些保存路径
(setq todo-file-do "~/.emacs.d/todo/do")
(setq todo-file-done "~/.emacs.d/todo/done")
(setq todo-file-top "~/.emacs.d/todo/top")
(setq diary-file "~/.emacs.d/diary")
;; stop when error occupied
(add-hook 'after-init-hook (lambda() (setq debug-on-error t)))
;; determine OS type
(defvar running-on-windows
(equal system-type 'windows-nt)
"If use emacs on windows, it is true."
)
(defvar running-on-linux
(equal system-type 'gnu/linux)
"If use emacs on Linux, it is true."
)
;; Set language
(when running-on-linux
(set-language-environment 'utf-8)
;; default-coding-systems include [keyboard/terminal/file-name]-coding-system
(set-default-coding-systems 'utf-8)
(set-clipboard-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(setq-default pathname-coding-system 'utf-8)
)
;;If Run On windows
(when running-on-windows
;;去除工具条
(tool-bar-mode nil)
;;去除菜单栏
(menu-bar-mode nil)
;;推荐关闭行号窗口中的滚动条
(set-scroll-bar-mode nil)
;;最大化Emacs窗口
(require 'maxframe)
(add-hook 'window-setup-hook 'maximize-frame t)
(setq ascii-font "-outline-Courier New-normal-r-normal-normal-13-97-96-96-c-*-iso8859-1")
(setq chinese-font "-outline-宋体-normal-r-normal-normal-13-*-96-96-c-*-iso10646-1")
(defun wheer-set-font (en-font cn-font)
(create-fontset-from-fontset-spec
(replace-regexp-in-string "iso8859-1" "fontset-wheer" en-font))
(set-fontset-font "fontset-wheer" 'gb18030 cn-font)
(set-fontset-font "fontset-wheer" 'latin en-font)
(set-fontset-font "fontset-default" 'gb18030 cn-font)
(set-fontset-font "fontset-default" 'latin en-font)
(set-default-font "fontset-wheer")
(setq default-frame-alist
(append '((font . "fontset-wheer")) default-frame-alist)))
(wheer-set-font ascii-font chinese-font)
(set-language-environment "Chinese-GB18030")
(setq file-name-coding-system 'gb18030)
)
;; convert dos to UNIX, or UNIX to dos. emacs command: 'C-x RET f unix/dos RET'
(defun dos2unix()
"convert dos to unix"
(interactive)
(goto-char (point-min))
(while (search-forward "rn" nil t) (replace-match "n"))
)
(defun unix2dos()
"convert unix to dos"
(interactive)
(goto-char (point-min))
(while (search-forward "n" nil t) (replace-match "rn"))
)
(dos2unix)
;; start emacs server in default
(server-mode)
;;(server-start)
;; set read-only when open a file
;;(add-hook 'find-file-hook (lambda()(setq buffer-read-only t)))
;;(setq kill-read-only-ok t)
;;(setq buffer-read-only t)
;;高亮显示匹配的括号
(show-paren-mode t)
(setq show-paren-style 'parentheses)
;; save emacs history and desktop
(savehist-mode t)
;; Display battery
(display-battery-mode t)
;;Show Row Number
(require 'setnu)
;;Set title name is buffer name, file(%f) frame(%F), buffer(%b)
(setq frame-title-format "%b")
;; Set autosave
(setq auto-save-interval 50)
(setq auto-save-timeout 10)
;; highlight selection
(setq transient-mark-mode t)
;; Nicer scroll
(setq scroll-step 1)
;; stop ring
(setq visible-bell nil)
;; Don't ask yes-or-no, use y-or-n
;;(fset 'yes-or-no-p 'y-or-n-p)
(defalias 'yes-or-no-p 'y-or-n-p)
;; Please stop blinking!
(if (fboundp 'blink-cursor-mode) (blink-cursor-mode 0))
;; make temp buffer fit to size
(setq even-window-heights nil)
(temp-buffer-resize-mode t)
(setq temp-buffer-max-height
(lambda(buffer) (min 15 (/ (- (frame-height) 2) 2))))
;; Display tiem stamp
(setq time-stamp-toggle-active t)
;;使用Ibuffer
(require 'ibuffer)
(global-set-key (kbd "C-x C-b") 'ibuffer)
;;颜色设置
;;在非窗口环境的时候置颜色
(cond
((not window-system)
;; 如果不在 window 环境中(字符界面时)
(setq frame-background-mode 'dark)
;; 设置背景为黑的,这样 Emacs 的很多缺省颜色会和黑色背景协调。
(eval-after-load "log-view"
;; 设置 log-view 的颜色。
'(progn
(set-face-attribute 'log-view-file-face nil :foreground "blue" :weight 'bold)
(set-face-attribute 'log-view-message-face nil :foreground "yellow" :weight 'bold))))
;;窗口环境下的设置
((window-system)
(setq default-frame-alist
'(
(foreground-color . "Wheat")
(background-color . "DarkSlateGray")
(cursor-color . "Orchid")
)
)))
;;状态栏显示行号
(setq column-number-mode t)
(setq line-number-mode t)
;;enable to bidirectionally copy and paste between X app with emacs;可以从外面拷东西
(setq x-select-enable-clipboard t)
;; 显示时间
(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
(display-time)
;;可以操作压缩文档
(auto-compression-mode 1)
;;鼠标自动避开指针;如当你输入的时候;指针到了鼠标的位置;鼠标有点挡住视线了
(mouse-avoidance-mode 'animate)
;; 设置默认模式为Text
(setq default-major-mode 'text-mode)
;; 让Emacs可以打开和显示图片
(auto-image-file-mode)
;; highlight selection 高亮当前行
(require 'hl-line)
(global-hl-line-mode t)
;; 配置Shell颜色
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
(setq ansi-color-for-comint-mode t)
;; ========================
;; ==== Feature Setting ====
;; ========================
;; Emacs 中,改变文件时,默认都会产生备份文件(以 ~ 结尾的文件)。可以完全去掉
;; (并不可取),也可以制定备份的方式。这里采用的是,把所有的文件备份都放在一
;; 个固定的地方("~/var/tmp")。对于每个备份文件,保留最原始的两个版本和最新的
;; 五个版本。并且备份的时候,备份文件是复本,而不是原件。
(setq version-control t)
(setq kept-old-versions 2)
(setq kept-new-versions 5)
(setq delete-old-versions t)
(setq backup-directory-alist '(("." . "~/var/tmp")))
(setq backup-by-copying t)
;; 在行首 C-k 时,同时删除该行。
(setq-default kill-whole-line t)
;; auto-newline 子模式,自动换行缩进;
;; hungry-delete 子模式,一个 Backspace 删除尽可能多的空白;
;; which-func-mode 在模式行中显示当前行在哪个函数中。
(add-hook 'c-mode-common-hook
(lambda ()
(c-toggle-auto-hungry-state 1)
(which-func-mode 1)))
;;可以递归的删除目录
(setq dired-recursive-deletes t)
;;可以递归的进行拷贝
(setq dired-recursive-copies t)
;; 1\. s s 按照文件大小排序。
;; 2\. s x 按照文件扩展名排序。
;; 3\. s t 按照文件访问时间排序。
;; 4\. s n 按照文件名称的字母顺序排序。
(add-hook 'dired-mode-hook (lambda ()
(interactive)
(make-local-variable 'dired-sort-map)
(setq dired-sort-map (make-sparse-keymap))
(define-key dired-mode-map "s" dired-sort-map)
(define-key dired-sort-map "s"
'(lambda () "sort by Size"
(interactive) (dired-sort-other (concat dired-listing-switches "S"))))
(define-key dired-sort-map "x"
'(lambda () "sort by eXtension"
(interactive) (dired-sort-other (concat dired-listing-switches "X"))))
(define-key dired-sort-map "t"
'(lambda () "sort by Time"
(interactive) (dired-sort-other (concat dired-listing-switches "t"))))
(define-key dired-sort-map "n"
'(lambda () "sort by Name"
(interactive) (dired-sort-other (concat dired-listing-switches ""))))))
;; ========================
;; ==== Compile Setting ====
;; ========================
(defun smart-compile ()
"Simply compile your file according to the file type."
(interactive)
(save-some-buffers t)
(let
((compile-command nil)
(alist
(list '(".c$" . "gcc -Wall ")
'(".cc$" . "g++")
'(".cpp$" . "g++"))))
(while (not (null alist))
(if (string-match (caar alist) (buffer-file-name))
(setq compile-command
(concat (cdar alist) " " """ (buffer-file-name) """ " -ggdb3 " )))
(setq alist (cdr alist)))
(if (null compile-command)
(setq compile-command
(read-from-minibuffer "Compile command: ")))
(compile compile-command)
))
;; set compile command
;; (setq compile-command '"gcc -Wall -O2 %b -ggdb3 -o")
;; enable windmove key binding, S-up/down/left/right
(windmove-default-keybindings)
;; font lock
(global-font-lock-mode t)
;; cwarn
(global-cwarn-mode t)
;; define my mode function, and bind it to many edit mode.
(defun my-common-mode()
;; convert tab to space
(setq-default indent-tabs-mode nil)
;; hideshow mode
(hs-minor-mode)
)
;; for c and c++
(defun my-cc-mode()
;; load my define mode
(my-common-mode)
;; use "stroustrup" as basical c style, but modify tab width in below.
(c-set-style "stroustrup")
(setq default-tab-width 2)
;; use (defvar Variable) to impl dynamic variable
(defvar c-basic-offset)
(setq c-basic-offset 2)
;; useful key binding. use (defvar Variable) to impl dynamic variable
(defvar c-mode-base-map)
(define-key c-mode-base-map [(f5)] 'smart-compile)
(define-key c-mode-base-map [(f6)] 'gdba)
)
;;(add-hook 'text-mode-hook 'my-common-mode)
;;(add-hook 'makefile-mode-hook 'my-common-mode)
(add-hook 'c-mode-common-hook 'my-cc-mode)
(add-hook 'cc-mode-common-hook 'my-cc-mode)
(add-hook 'idl-mode-hook 'my-cc-mode)
(add-hook 'java-mode-hook 'my-common-mode)
(add-hook 'diff-mode-hook 'my-common-mode)
(add-hook 'perl-mode-hook 'my-common-mode)
(add-hook 'php-mode-hook 'my-common-mode)
(add-hook 'lisp-mode-hook 'my-common-mode)
(add-hook 'emacs-lisp-mode-hook 'my-common-mode)
;; gdb
(setq gdb-many-windows t)
;; ========================
;; ===== Key bind ====
;; ========================
(global-set-key [f3] (quote setnu-mode))
;;跳转到 Emacs 的另一个窗口
(global-set-key (kbd "") 'other-window)
(global-set-key (kbd "") 'dired)
(global-set-key (kbd "") 'shell-command)
(global-set-key (kbd "C-") 'shell)
(global-set-key (kbd "") 'eshell)
(global-set-key (kbd "C-c C-g") 'goto-line)
;; ========================
;; == 3rd part plugins ==
;; ========================
;;ecb setting
(when (locate-library "ecb")
(require 'ecb-autoloads) ;;加载ecb
(setq ecb-auto-activate nil
ecb-tip-of-the-day nil
ecb-tree-indent 4
ecb-windows-height 0.5
ecb-windows-width 0.18
ecb-auto-compatibility-check nil
ecb-version-check nil
inhibit-startup-message t)
;;ecb绑定
(global-set-key (kbd "C-x C-1") 'ecb-goto-window-directories)
(global-set-key (kbd "C-x C-2") 'ecb-goto-window-sources)
(global-set-key (kbd "C-x C-3") 'ecb-goto-window-methods)
(global-set-key (kbd "C-x C-4") 'ecb-goto-window-history)
(global-set-key (kbd "C-x C-0") 'ecb-goto-window-edit-last)
;; set F12 to activate ecb and Ctrl + F12 to deactive it.
(global-set-key (kbd "") 'ecb-activate)
(global-set-key (kbd "C-") 'ecb-deactivate)
)
;; cedet
(when (locate-library "cedet")
(require 'cedet)
)
;; session
(when (locate-library "session")
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
)
;;doxymacs
(when (locate-library "doxymacs")
(require 'doxymacs)
(add-hook 'c-mode-common-hook 'doxymacs-mode)
;; 启动doxymacs-mode
(add-hook 'c++-mode-common-hook 'doxymacs-mode)
;; 启动doxymacs-mode
)
;; xcscope
(when (locate-library "xcscope")
(require 'xcscope)
;; define a function to set list entry window height, and add it to hook
(defun cscope-set-list-entry-window-height (wanted-height)
"set cscope-list-entry-window height."
(interactive)
(shrink-window (- (window-height) wanted-height))
(recenter 1))
(add-hook 'cscope-list-entry-hook
(lambda() (cscope-set-list-entry-window-height 11)))
)
;; ========================
;; == custom set ==
;; ========================
(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.
'(display-time-mode t)
'(ecb-gzip-setup (quote cons))
'(ecb-options-version "2.32")
'(ecb-tar-setup (quote cons))
'(ecb-wget-setup (quote cons))
'(transient-mark-mode t)
'(weblogger-config-alist (quote (("Simon" ("user" . "admin") ("server-url" . "http://www.9wy.net/xmlrpc.php") ("weblog" . "1"))))))
(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.
)
;; Set personal infomation
(setq user-full-name "SimonCHEN")
(setq user-mail-address "[email protected]")
;;Calendar Setting
;; 设置 calendar 的显示
(setq calendar-remove-frame-by-deleting t)
(setq calendar-week-start-day 1)
;;设置星期一为每周的第一天
(setq mark-diary-entries-in-calendar t)
;;标记calendar上有diary的日期
(setq mark-holidays-in-calendar nil)
;;为了突出有diary的日期,calendar上不标记节日
(setq view-calendar-holidays-initially nil)
;;打开calendar的时候不显示一堆节日
;; 让emacs能计算日出日落的时间,在 calendar 上用 S 即可看到
(setq calendar-latitude +31.27)
(setq calendar-longitude +104.10)
(setq calendar-location-name "SiChuan")
;; 去掉不关心的节日,设定自己在意的节日,在 calendar 上用 h 显示节日
(setq christian-holidays nil)
(setq hebrew-holidays nil)
(setq islamic-holidays nil)
(setq solar-holidays nil)