`

我的.emacs

阅读更多


;;窗口初始大小
(setq initial-frame-alist '((top . 0) (left . 100) (width . 120) (height . 42)))

;;去掉启动欢迎界面
(setq inhibit-startup-message t)

;;Ctrl+鼠标滚轮缩放字体
(global-set-key (kbd "<C-wheel-up>") 'text-scale-increase)
(global-set-key (kbd "<C-wheel-down>") 'text-scale-decrease)

;;不要总是没完没了的问yes or no, 为什么不能用 y/n
(fset 'yes-or-no-p 'y-or-n-p)

;;打开高亮 #M-x global-font-lock-mode
(global-font-lock-mode t)

;;示括号匹配
(show-paren-mode t)
(setq show-paren-style 'parentheses)

;;显示列号
;;(setq column-number-mode 0)
;;(setq line-number-mode t)
;;在左侧显示行号
(global-linum-mode 'linum-mode)

;;set mark
(global-set-key (kbd "M-SPC") 'set-mark-command)

;;光标靠近鼠标的时候,让鼠标自动让开,别挡住视线
;;(mouse-avoidance-mode 'animate)

;;平滑滚动, 在光标在最后一行的时候,继续下一行跳动的时候,有明显的跳动感觉
(setq scroll-margin 2
      scroll-conservatively 10000)

;;禁止自动保存
;(auto-save-mode nil)

;;buffer 窗口快捷
(global-set-key [C-return] 'kill-this-buffer);C-return关闭当前buffer
(global-set-key [f10] 'split-window-vertically);F10分割窗口
(global-set-key [f11] 'delete-other-windows);F11 关闭其它窗口

;;默认显示 80列就换行
(setq default-fill-column 80)

;;设置行间距
(setq-default line-spacing 2)

;;不要生成临时文件
(setq-default make-backup-files nil);

;;Emacs顶部标题栏显示文件名
(setq frame-title-format " %b")

;;高亮显示当前行
;(global-hl-line-mode)

;;在下面栏中显示时间
(display-time-mode 1)
;;使用24小时制
(setq display-time-24hr-format t)

;;光标为竖线
(setq-default cursor-type 'bar)

;;设置打开文件的缺省目录
;(setq default-directory "f:/workspace")

;;隐藏菜单栏、右侧的滚动条 ;;(menu-bar-mode nil)
(menu-bar-mode 0)
(tool-bar-mode 0)  
(scroll-bar-mode 0)  

(add-to-list 'load-path "~/.emacs.d")

;;自动完成
(add-to-list 'load-path "~/.emacs.d/auto-complete")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/auto-complete/ac-dict")
(ac-config-default)

;;------------语言环境字符集设置(utf-8)-------------
(set-language-environment 'Chinese-GB)
(set-keyboard-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-selection-coding-system 'utf-8)
(modify-coding-system-alist 'process "*" 'utf-8)
(setq default-process-coding-system '(utf-8 . utf-8))
(setq-default pathname-coding-system 'utf-8)
(set-file-name-coding-system 'utf-8)
(setq ansi-color-for-comint-mode t)
(setq file-name-coding-system 'utf-8)
(setq path-name-coding-system 'utf-8)
(if (eq system-type 'windows-nt)
    (setq file-name-coding-system 'gbk))				
;默认字体
(set-default-font "Courier New-12")

;;package
(require 'package)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

;; color-theme
(require 'color-theme)
;(color-theme-initialize)
;(color-theme-gnome2)
(color-theme-classic)

;;光标颜色
(set-cursor-color "green")

;; 设置Tab为4个字符
(setq indent-tabs-mode nil)
(setq default-tab-width 4)
(setq tab-width 4)
(setq tab-stop-list ())
(loop for x downfrom 40 to 1 do
      (setq tab-stop-list (cons (* x 4) tab-stop-list)))

;; 在当前所有打开的buffer中替换字符串
(defun query-replace-in-open-buffers (arg1 arg2)
  "query-replace in all open files"
  (interactive "sRegexp:\nsReplace with:")
  (mapcar
   (lambda (x)
     (find-file x)
     (save-excursion
       (goto-char (point-min))
       (query-replace-regexp arg1 arg2)))
   (delq
    nil
    (mapcar
     (lambda (x)
       (buffer-file-name x))
     (buffer-list)))))

;;Alt+上下键,移动一行内容
;;move line up down
(defun move-text-internal (arg)
  (cond
   ((and mark-active transient-mark-mode)
    (if (> (point) (mark))
        (exchange-point-and-mark))
    (let ((column (current-column))
          (text (delete-and-extract-region (point) (mark))))
      (forward-line arg)
      (move-to-column column t)
      (set-mark (point))
      (insert text)
      (exchange-point-and-mark)
      (setq deactivate-mark nil)))
   (t
    (let ((column (current-column)))
      (beginning-of-line)
      (when (or (> arg 0) (not (bobp)))
        (forward-line)
        (when (or (< arg 0) (not (eobp)))
          (transpose-lines arg))
        (forward-line -1))
      (move-to-column column t)))))

(defun move-text-down (arg)
  "Move region (transient-mark-mode active) or current line arg lines down."
  (interactive "*p")
  (move-text-internal arg))

(defun move-text-up (arg)
  "Move region (transient-mark-mode active) or current line  arg lines up."
  (interactive "*p")
  (move-text-internal (- arg)))

(global-set-key [M-up] 'move-text-up)
(global-set-key [M-down] 'move-text-down)

;;透明不透明
(global-set-key [(f8)] 'loop-alpha)
(setq alpha-list '((75 55) (100 100)))

(defun loop-alpha ()    
  (interactive)    
  (let ((h (car alpha-list)))                    
    ((lambda (a ab)    
       (set-frame-parameter (selected-frame) 'alpha (list a ab))    
       (add-to-list 'default-frame-alist (cons 'alpha (list a ab)))    
       ) (car h) (car (cdr h)))    
    (setq alpha-list (cdr (append alpha-list (list h))))))

;;Alt+w 复制光标所在一整行,Alt+k,复制当前行光标后面的内容
;; Smart copy, if no region active, it simply copy the current whole line
(defadvice kill-line 
  (before check-position activate) 
  (if (member major-mode 
			  '(emacs-lisp-mode scheme-mode lisp-mode c-mode c++-mode objc-mode js-mode latex-mode plain-tex-mode)) 
	  (if (and (eolp) (not (bolp))) 
		  (progn (forward-char 1) (just-one-space 0) (backward-char 1)))))

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

 (defadvice kill-region (before slick-cut 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)))))

;; Copy line from point to the end, exclude the line break 
(defun qiang-copy-line (arg) 
  "Copy lines (as many as prefix argument) in the kill ring" 
  (interactive "p") 
  (kill-ring-save (point) (line-end-position)) 
  (line-beginning-position (+ 1 arg)))
(global-set-key (kbd "M-k") 'qiang-copy-line)

;;代码模板- yasnippet
(yas-global-mode 1)

;;js2-mode
(require 'js2-mode);
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))

;;----- clojure-mode ------
(add-to-list 'load-path "~/.emacs.d/clojure")
(require 'clojure-mode);
;;slime
(eval-after-load "slime" 
  '(progn (slime-setup '(slime-repl))))
(add-to-list 'load-path "~/.emacs.d/slime")
(require 'slime)
(slime-setup)

(load-file "~/.emacs.d/wdy.el");



wdy.el

;;修改过的 js/jsp/html/htm/jsp/css 文件在保存时自动部署到tomcat下
(add-hook 'after-save-hook (lambda() (auto-deploy-to-tomcat)))

;;复制当前buffer到tomcat的webapp下对应的目录中
(setq tomcat-path "D:/Program Files/Apache Software Foundation/Apache Tomcat 6.0.20/webapps/")
(defun auto-deploy-to-tomcat()
  "Copy me to the Tomcat WebApps"
  (interactive)
  (if (string-match ".*/\\(.*\\)/WebRoot\\(.*\\)/.*\\(.js\\|.jsp\\|.css\\|.html\\|.htm\\|.jsp\\)" buffer-file-name)
	  (let ((target-path (concat tomcat-path (match-string 1 buffer-file-name) (match-string 2 buffer-file-name))))
		(message (concat "Copy current buffer To: " target-path ))
		(copy-file buffer-file-name target-path t))))


;;SVN update
;(global-set-key [(F5)]  'svn-update)
(defun svn-update()
  "Svn update"
  (interactive)
  (let ((cmd (concat "TortoiseProc.exe /command:update /path:\"" buffer-file-name "\" /closeonend:0")))
    (message cmd)
  (shell-command cmd)))

;(global-set-key [(F12)]  'svn-commit)
(defun svn-commit()
  "Svn commit"
  (interactive)
  (let ((cmd (concat "TortoiseProc.exe /command:commit /path:\"" buffer-file-name "\" /closeonend:0")))
    (message cmd)
  (shell-command cmd)))

;;SVN diff
;(global-set-key [(F5)]  'svn-diff)
(defun svn-diff()
  "Svn diff"
  (interactive)
  (let ((cmd (concat "TortoiseProc.exe /command:diff /path:\"" buffer-file-name "\" /closeonend:0")))
    (message cmd)
  (shell-command cmd)))
分享到:
评论

相关推荐

    [emacs].emacs

    标题 "[emacs].emacs" 暗示我们正在讨论的是 Emacs 配置文件,这是一个非常重要的文本编辑器的个性化设置。Emacs 是一个高度可定制的、功能强大的编辑器,广泛用于编写代码、文档等,尤其在程序员和系统管理员中非常...

    spacemacs配置 包含.emacs.d 目录 和 .spacemacs 配置文件

    本压缩包包含两个关键部分:`.emacs.d`目录和`.spacemacs`配置文件,这些都是Spacemacs的核心组成部分。 首先,`.emacs.d`目录是Emacs的初始化目录,存储了Emacs启动时执行的所有配置和自定义设置。在Spacemacs中,...

    cedet&ecb&.emacs.rar

    cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb .emacs cedet ecb ....

    .emacs.d

    `.emacs.d` 是一个非常重要的目录,它是 Emacs 配置文件的家。Emacs 是一款极其强大且可高度定制的文本编辑器,广泛用于程序员、系统管理员和文档编写者。这个目录的名字来源于 `.emacs` 文件,这是 Emacs 的启动...

    比较简单的.emacs.d配置插件

    在Emacs中,`.emacs`是初始化配置文件,而`.emacs.d`目录则存储了与Emacs配置相关的所有自定义设置、插件和数据。这个`.emacs.d`配置插件集提供了一些实用的工具,旨在提升Emacs的使用体验。 首先,我们来详细了解...

    My .emacs Backup

    《我的 .emacs 备份:打造个性化编程环境》 在编程世界中,高效的工作环境是提升生产力的关键之一。本文将围绕“.emacs”文件展开,详细介绍如何利用这个配置文件定制个性化的Emacs编辑器环境,从而提升编程体验。 ...

    .emacs.d.zip

    《深入探索Spacemacs配置与优化:.emacs.d.zip文件详解》 在程序员的世界里,Emacs是一款历史悠久且功能强大的文本编辑器,而Spacemacs则是在Emacs基础上构建的一款高度可定制化的编辑器,它引入了现代的键绑定和...

    emacs集成多插件配置文件.emacs

    带有命令行显示等多功能的emacs配置文件,只需要将config.emacs改名为.emacs放用户目录下即可使用,如果/home/gqb,用户名为gqb。或者cd ~进行用户目录。

    emacs.d, 下面是我的. emacs. public 阅读.zip

    emacs.d, 下面是我的. emacs. public 阅读 emacs.d这是我的.emacs.d 。它只提供给 public 用于教育目的。 如果你打算将它用作你自己的.emacs.d,则不提供任何支持。许可证版权所有( C ) Bodil Stokke这里程序是自由...

    emacs配置文件 (.emacs)

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

    GNU.Emacs完全手册

    《GNU.Emacs完全手册》是一本详尽的资源,专为那些想要深入理解并充分利用GNU Emacs编辑器的用户而编写。Emacs是一款强大的、高度可定制的文本编辑器,广泛应用于程序员、作家以及对文本处理有高要求的用户。本书...

    emacs.d:我的〜.emacs.d目录

    Emacs.d 我的.emacs.d /主目录。前言该存储库包含我的emacs24配置。 它很大程度上受到了我使用过几年的和我以前的启发!安装将此存储库克隆到您的主目录中: git clone https://github.com/Sliim/emacs.d ~ /.emacs....

    .emacs.d.7z

    本文将深入探讨".emacs.d"目录下的配置与插件,帮助你充分理解和利用这一强大的工具。 首先,".emacs.d"是Emacs的初始化目录,存储了用户的所有个性化设置和加载的插件。在这个7z压缩包中,我们主要关注的就是这个...

    dot-emacs:克隆到〜.emacs.d

    "dot-emacs: 克隆到〜.emacs.d" 这个标题和描述指的是一个关于Emacs配置管理的过程,特别是针对个人配置文件`.emacs.d`的管理。在Emacs中,`.emacs.d`目录是存放所有用户配置、插件和数据的地方。通过克隆到这个目录...

    .emacs.d, 在 @emacsrocks 中,我的个人emacs设置,以及使用.zip

    .emacs.d, 在 @emacsrocks 中,我的个人emacs设置,以及使用 我的emacs设置一组不断变化的emacs设置。 微型优化是超级有趣的。这些是在 Emacs rock 屏幕截图中使用的。 你也可以在我的设置后面看到一些想法:. emacs...

    .emacs.d:我的emacs设置。 要使用,请将vn_settings.el放入您的〜.emacs.d文件夹中,并将该行(将“〜.emacs.dvn_settings.el” nil tt加载)添加到您的.emacs中

    `.emacs.d`目录是Emacs配置的核心所在,它包含了用户的所有个性化设置和额外的库。这个压缩包`.emacs.d-master`很可能包含了一个人完整的Emacs配置集,包括自定义的函数、快捷键绑定、颜色主题以及加载的插件。 ...

    需要事先安装好anaconda_.emacs.d.zip

    需要事先安装好anaconda_.emacs.d

    只带theme的.emacs

    只带theme的.emacs.

Global site tag (gtag.js) - Google Analytics