`
zzhang
  • 浏览: 17699 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

我的emacs配置

阅读更多
学习ruby on rails 两年了,期间使用过Eclipse和Netbeans,半年以前开始使用emacs。
经过刚开始的不适,半年来不断到处拷代码,改配置。最近感觉逐渐使得顺手了。
把配置贴出来做一个记录,也希望能对其他人有启发或者帮助

model:

view:



自定义常用快捷键:

F5               compile
F12             kill buffer
C-F12         kill rinari files
C-w             kill one line
s-m             choose model
s-c              choose controller
s-g             go to line
s-o             commit code
s-u             uncommit code
s-h             hide all methods
s-s             show all methods
s-t              toggle block
s-a             find file in rails project


;;show file in title
(setq frame-title-format '("%f"))

;;'y' for 'yes', 'n' for 'no'
(fset 'yes-or-no-p 'y-or-n-p)

;;highlight current line
(require 'hl-line)
(global-hl-line-mode t)

;;screen set
(setq default-frame-alist '((top . 2) (left . 2) (height . 30) (width . 110)))

;;ido
(require 'ido)
(setq ido-confirm-unique-completion t)
(setq ido-default-buffer-method 'samewindow)
(setq ido-use-filename-at-point t)
(setq ido-enable-flex-matching t)
(ido-mode t)
(ido-everywhere t)
(set-face-background 'ido-first-match "green")
(set-face-foreground 'ido-subdir "blue3")

;;cursor
(setq-default cursor-type 'bar) 

;;copy to other place
(setq x-select-enable-clipboard t)

;;no backup file
(setq make-backup-files nil)

;;twilight theme
(setq load-path (cons "~/.emacs.d/themes" load-path))
(require 'color-theme)
(color-theme-initialize)
(load-file "~/.emacs.d/themes/color-theme-twilight.el")
(color-theme-twilight)

;;ecb
(load-file "~/.emacs.d/cedet/common/cedet.el")
(global-ede-mode 1)                      ; Enable the Project management system
(semantic-load-enable-code-helpers)      ; Enable prototype help and smart completion
(global-srecode-minor-mode 1)            ; Enable template insertion menu
(setq load-path (cons "~/.emacs.d/ecb" load-path))
(require 'ecb)
(setq ecb-auto-activate t)
(add-hook 'ecb-activate-hook 
          '(lambda() 
             (setq ecb-auto-activate t
		   ecb-tip-of-the-day nil
		   )))

;;better copy
(defadvice kill-ring-save (before slickcopy activate compile)
  "When called interactively with no active region, copy a single line instead."
  (interactive
   (if mark-active (list (region-beginning) (region-end))
     (list (line-beginning-position)
	   (line-beginning-position 2)))))
(defadvice kill-region (before slickcut activate compile)
  "When called interactively with no active region, kill a single line instead."
  (interactive
   (if mark-active (list (region-beginning) (region-end))
     (list (line-beginning-position)
	   (line-beginning-position 2)))))

;;org mode
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-hide-leading-stars t)
(setq org-log-done t)

;;add one line 
(global-set-key (kbd "s-l")
		'(lambda ()
		   (interactive)
		   (end-of-line 1)
		   (newline-and-indent)))

;;ruby on rails
(setq load-path (cons "~/.emacs.d/ruby" load-path))
(setq load-path (cons "~/.emacs.d/rails" load-path))
(require 'rails)

;;flymake
(require 'flymake-ruby)
(add-hook 'ruby-mode-hook 'flymake-ruby-load)

;;smart-compile
(require 'smart-compile)
(setq smart-compile-alist
      '( ("\\.rb$" . "ruby %f")))
(global-set-key [(f5)] 'smart-compile)
(add-to-list 'load-path "~/.emacs.d/rhtml-mode")
(require 'rhtml-mode)
(add-hook 'rhtml-mode-hook
	  '(lambda ()
	     (auto-fill-mode -1)))

;;yaml
(add-to-list 'load-path "~/.emacs.d/yaml-mode")
(require 'yaml-mode)
(add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode))

;;kill-this-buffer
(global-set-key [(f12)] 'kill-this-buffer)

;; Rinari
(setq load-path (cons "~/.emacs.d/rinari" load-path))
(require 'rinari)
(global-set-key (kbd "s-c") 'rinari-find-controller)
(global-set-key (kbd "s-m") 'rinari-find-model)
(global-set-key (kbd "s-v") 'rinari-find-view)
(global-set-key (kbd "s-h") 'rinari-find-helper)
(global-set-key (kbd "s-f") 'rinari-find-file-in-project)

;; kill all rinari buffers
(defun kill-buffers-in-subdir (subdir buffer)
  "Kills the given buffer if it is linked to a file in the current rinari project."
  (if (buffer-in-subdir-p subdir buffer)
      (kill-buffer buffer)))
(defun buffer-in-subdir-p (subdir buffer)
  "Returns true if buffer belongs to the current rinari project"
  (and (buffer-file-name buffer)
       (string-match subdir (buffer-file-name buffer))))

(defun kill-all-rinari-buffers ()
  "Kills all buffers linked to the current rinari project"
  (interactive)
  (let ((path (rinari-root)))
    (if path
	(dolist (buffer (buffer-list))
	  (kill-buffers-in-subdir path buffer)))))
(global-set-key [(C-f12)] 'kill-all-rinari-buffers)

;;goto line
(global-set-key (kbd "s-g") 'goto-line)

;;commit
(global-set-key (kbd "s-o") 'comment-region)
(global-set-key (kbd "s-u") 'uncomment-region)

;;code toggle
(global-set-key (kbd "s-h") 'hs-hide-all) 
(global-set-key (kbd "s-s") 'hs-show-all)
(global-set-key (kbd "s-t") 'hs-toggle-hiding)


(global-set-key [(f8)] 'ecb-toggle-ecb-windows)

  • 大小: 228.2 KB
  • 大小: 167.7 KB
0
0
分享到:
评论

相关推荐

    linux emacs 配置文件

    本配置文件基于网上提供的其他配置文件进行修改。 支持: emacs 24 +cedet 1.1 +ecb 2.40 源配置文件下载地址: http://download.csdn.net/detail/karotte/3812760

    我的emacs配置文件 linux

    标题提到的是个人的Emacs配置文件,用于在Linux系统上优化Emacs的使用体验。 描述中提到,这个压缩包包含两个关键文件:`.emacs`和`.emacs.d`。`.emacs`是Emacs的初始化文件,它定义了Emacs启动时执行的Lisp代码,...

    Emacs配置文件

    这个"Emacs配置文件"就是对Emacs进行个性化调整的脚本,通常以`.emacs`或`init.el`为名。 配置文件的主要作用: 1. **快捷键定制**:Emacs提供了丰富的快捷键,用户可以通过配置文件自定义这些快捷键,使其更符合...

    emacs配置IDE

    最后,值得一提的是,Emacs的配置和扩展可以通过MELPA(Melpa Stable)和ELPA(Emacs Lisp Package Archive)等包管理器轻松获取和安装,这极大地方便了用户管理和更新他们的Emacs环境。 总结来说,Emacs作为一个...

    emacs配置文件

    这个名为"emacs配置文件"的压缩包应该是一个修正版的`emacs.d`,它可能已经解决了网络上其他配置中常见的缺失文件问题。使用这个配置,用户可以避免因缺少文件而导致的配置错误,更快地建立一个完整的Emacs工作环境...

    王垠 王纯叶的emacs配置

    标题提到的“王垠 王纯叶的emacs配置”很可能包含了他们各自的个性化设置,这些设置可能包括快捷键定制、自动补全、代码高亮、项目管理、版本控制集成以及各种语言的开发环境配置。CHM(Compiled Help Manual)文件...

    emacs 快速配置脚本包

    快速搭建的主要思想是采用执行注册表脚本 设定 emacs 查找配置文件的路径为 c: emacs home emacs 同时又在此文件中定位到我们现在刚下载的路径 及更改 home 目录的方式 包含最基本的配置 颜色 字体等 脚本以及常用的...

    Emacs的配置文件

    在压缩包文件名称列表中,`my-site-start.d`和`site-lisp`是两个可能与Emacs配置相关的目录或文件。`my-site-start.d`可能是用户自定义的启动脚本目录,Emacs在启动时会遍历该目录下的所有Lisp文件并执行,这允许...

    emacs 配置

    总结起来,一个高效的Emacs配置应该包含智能的自动补全(auto-complete),强大的代码导航(helm gtags)以及根据个人需求编写的实用小函数。通过避免使用大型框架,我们可以保持Emacs的轻便和高效。记得在`.emacs_dir`...

    系统Ubuntu下的Emacs配置

    带有各种功能的emacs配置。

    emacs 配置文件

    这个压缩包包含了两个关键的文件,`.emacs`和`.emacs.d`,它们是Emacs配置的核心部分。 首先,`.emacs`是Emacs启动时加载的Lisp脚本,它定义了Emacs的行为和环境。在`.emacs`文件中,你可以设置快捷键、加载插件、...

    emacs配置好了的

    "emacs配置好了的"指的是已经预先配置好了一套完整的设置,使得用户可以直接使用,而无需从零开始进行复杂的个性化配置。 配置好的Emacs通常包括以下方面的优化: 1. **快捷键绑定**:预设了常用操作的快捷键,如...

    emacs配置-python开发环境

    标题"emacs配置-python开发环境"表明这个压缩包包含了用于在Emacs中优化Python开发的定制配置。 描述中提到,用户需要下载压缩包,解压后,备份原有的`.emacs.d`文件夹,然后用新提供的文件夹替换它。`.emacs.d`是...

    emacs配置

    "emacs配置"指的是用户根据个人需求对Emacs的工作环境进行定制,使其更符合自己的工作习惯。在Emacs中,配置通常存储在`.emacs.d`目录下。这个目录包含了Emacs的所有配置文件、插件和相关数据。 描述中的"大神的...

    emacs配置文件 (.emacs)

    emacs config file, emacs编辑器的一个配置文件

    Emacs配置与插件

    本文将深入探讨Emacs的配置与插件使用,帮助新手快速上手。 首先,我们要明白Emacs的基本配置是提升其用户体验的关键。在Emacs中,配置主要通过`.emacs`或`.emacs.d`目录下的文件进行。`.emacs`文件是一个Lisp脚本...

Global site tag (gtag.js) - Google Analytics