解决Emacs在windows使用的问题,比如环境设置、卡顿……

           发现Emacs下编辑代码时非常卡顿,环境设置也不方便,百度了一通,集合一些设置如下,发现这个神器真的是很爽,秒杀一众IDE

一、建一个bat文件设置启动变量

    windows下,环境设置可以自己写一个bat文件,命名比如runemacs.bat,我主要用它编辑java和python文件,设置如下:

二、windows下的卡顿问题

因为英文版的windows下,这emacs运行飞快,猜测是字库问题引起的缓慢,在emacs文件中设置下缓存限制和字体,果然不再卡顿~

一是设置字体最大缓存

二是设置好中英文字体


设置完后就飞快了。。

三、编辑java项目的一些配置

      我使用的是meghanada来装逼,有些折腾……感觉还是老老实实用idea效率高些。meghanada需要的插件可以自行上github上下载直接放进去即可。。附我的配置文件

;;;////////////////////////////////////////

;;; Buffer fontification

;;;////////////////////////////////////////

(global-font-lock-mode t)              ; fontify all buffers

(setq font-lock-maximum-size 5000000)  ; Set 5Mb file size limit for fontification

(setq visible-bell t)                  ; flash not beep

(setq transient-mark-mode t)            ; Enable highlighting of active marked region

(setq blink-matching-paren-distance 500000) ;maximum distance to search for paren

(setq line-number-display-limit nil)    ; Show line count for big files

(column-number-mode 1)                  ; Show current column number

(setq fill-column 80)                  ; line wrap column

(setq default-buffer-file-coding-system 'utf-8)      ;默认buffer编码是utf-8,(新文件)

(prefer-coding-system 'utf-8)  ;指定文件编码优先,此时buffer新建和读取都默认是utf-8,也可以M-x prefer-coding-system 只执行一次

;;java mode加载插件)

(require 'linum)

(global-linum-mode t) ;;line num

(setq-default auto-save-timeout 15) ; 15秒无动作,自动保存

(setq-default auto-save-interval 100) ; 100个字符间隔, 自动保存

(setq

    backup-by-copying t ; 自动备份

    backup-directory-alist

    '(("." . "~/.em_backup")) ; 自动备份在目录"~/.em_backup"下

    delete-old-versions t ; 自动删除旧的备份文件

    kept-new-versions 3 ; 保留最近的3个备份文件

    kept-old-versions 1 ; 保留最早的1个备份文件

    version-control t) ; 多次备份

(add-to-list 'load-path "~/site-lisp/dash")

(add-to-list 'load-path "~/site-lisp/color-theme")

(add-to-list 'load-path "~/site-lisp/meghanada")

(add-to-list 'load-path "~/site-lisp/company")

(add-to-list 'load-path "~/site-lisp/flycheck")

(add-to-list 'load-path "~/site-lisp/yasnippet")

(add-to-list 'load-path "~/site-lisp/use-package")

;;;Color Theme

(require 'color-theme)

(color-theme-initialize)

(color-theme-gnome2)

;;设置字体

(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 (:family "Courier New" :foundry "outline" :slant normal :weight normal :height 120 :width normal)))))

;; Setting Chinese Font

(dolist (charset '(kana han symbol cjk-misc bopomofo))

(set-fontset-font (frame-parameter nil 'font)

charset

(font-spec :family "Microsoft Yahei" :size 16)))

;;设置package

;;(require 'package)

;;(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))

;;                    (not (gnutls-available-p))))

;;      (proto (if no-ssl "http" "https")))

;;  (add-to-list 'package-archives (cons "melpa" (concat proto "://melpa.org/packages/")) t)

  ;; Comment/uncomment this line to enable MELPA Stable if desired.  See `package-archive-priorities`

  ;; and `package-pinned-packages`. Most users will not need or want to do this.

  ;;(add-to-list 'package-archives (cons "melpa-stable" (concat proto "://stable.melpa.org/packages/")) t)

;;  )

;;(package-initialize)

;;设置java模式

(require 'yasnippet)

(yas-global-mode 1)

(require 'meghanada)

(add-hook 'java-mode-hook

          (lambda ()

            ;; meghanada-mode on

            (meghanada-mode t)

            ;; enable telemetry

            (meghanada-telemetry-enable t)

            (flycheck-mode +1)

            (setq c-basic-offset 2)

            ;; use code format

            (add-hook 'before-save-hook 'meghanada-code-beautify-before-save)))

(cond

  ((eq system-type 'windows-nt)

    (setq meghanada-java-path (expand-file-name "bin/java.exe" (getenv "JAVA_HOME")))

    (setq meghanada-maven-path "mvn.cmd"))

  (t

    (setq meghanada-java-path "java")

    (setq meghanada-maven-path "mvn")))

(require 'use-package)

(put 'upcase-region 'disabled nil)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容