emacs config on win10 for rust 1
2024-10-21 11:33:45
native win32
(setq package-archives '(("gnu" . "http://mirrors.ustc.edu.cn/elpa/gnu/")
("melpa" . "http://mirrors.ustc.edu.cn/elpa/melpa/"))) (use-package rustic)
(add-hook 'rust-mode-hook
(lambda () (setq indent-tabs-mode nil)))
(add-hook 'rust-mode-hook
(lambda () (define-key rust-mode-map (kbd "C-c C-c") 'rust-run)))
(setq rust-format-on-save t) (require 'yasnippet)
(yas-global-mode 1)
(electric-pair-mode)
(global-company-mode) (add-hook 'julia-mode-hook 'julia-repl-mode) (setq racket-program "G:\\Program Files\\Racket\\Racket.exe")
(require 'racket-xp)
(add-hook 'racket-mode-hook #'racket-xp-mode) (add-hook 'racket-mode-hook #'racket-mode-xref-backend-function)
(add-hook 'racket-xp-mode-hook #'racket-xp-xref-backend-function)
(add-hook 'racket-repl-mode-hook #'racket-repl-xref-backend-function) (use-package paredit
:ensure t
:config
(dolist (m '(emacs-lisp-mode-hook
lisp-mode-hook
racket-mode-hook
racket-repl-mode-hook))
(add-hook m #'paredit-mode))
(bind-keys :map paredit-mode-map
("{" . paredit-open-curly)
("}" . paredit-close-curly))
(unless terminal-frame
(bind-keys :map paredit-mode-map
("M-[" . paredit-wrap-square)
("M-{" . paredit-wrap-curly)))) (eval-after-load 'scheme
'(define-key scheme-mode-map "\t" 'scheme-complete-or-indent))
(autoload 'scheme-get-current-symbol-info "scheme-complete" nil t)
(add-hook 'scheme-mode-hook
(lambda ()
(make-local-variable 'eldoc-documentation-function)
(setq eldoc-documentation-function 'scheme-get-current-symbol-info)
(eldoc-mode))) ;(require 'rainbow-delimiters)
(require 'highlight-parentheses) (dolist (m '(emacs-lisp-mode-hook
lisp-mode-hook
racket-mode-hook
racket-repl-mode-hook))
;(add-hook m #'rainbow-delimiters-mode)
(add-hook m #'highlight-parentheses-mode))
(global-paren-face-mode)
(load (expand-file-name "C:/users/o/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
(slime-setup '(slime-fancy slime-company))
(add-to-list 'slime-contribs 'slime-repl)
(load-theme 'solarized-dark t) (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.
'(julia-program "G:/Julia 1.5.3/bin/julia.exe")
'(package-selected-packages
'(all-the-icons-dired dired-du dired-explorer dired-filter dired-icon dired-rainbow direx paren-face common-lisp-snippets redshank slime-company slime highlight-parentheses solarized-theme rainbow-delimiters yasnippet use-package-hydra use-package-ensure-system-package use-package-el-get use-package-chords thrift scribble-mode scheme-complete rustic racket-mode paredit mic-paren lsp-ui lsp-julia julia-vterm julia-shell julia-repl flycheck-rust flycheck-julia el-get company)))
(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 "Consolas" :foundry "outline" :slant normal :weight normal :height 143 :width normal)))))
msys2
;(setq package-archives '(("gnu" . "http://mirrors.ustc.edu.cn/elpa/gnu/")
; ("melpa" . "http://mirrors.ustc.edu.cn/elpa/melpa/")))
(setq package-archives '(("gnu" . "http://mirrors.ustc.edu.cn/elpa/gnu/")
("melpa" . "http://mirrors.ustc.edu.cn/elpa/melpa/")
("melpa-stable" . "http://mirrors.ustc.edu.cn/elpa/melpa-stable/")
("org" . "http://mirrors.ustc.edu.cn/elpa/org/")))
(setq package-archives nil)
(global-company-mode)
(global-flycheck-mode) (eval-after-load 'company
'(add-to-list 'company-backends 'company-irony)) (eval-after-load 'company
'(add-to-list 'company-backends 'company-c-headers)) (add-hook 'c++-mode-hook 'irony-mode)
(add-hook 'c-mode-hook 'irony-mode)
(add-hook 'objc-mode-hook 'irony-mode) (defun compile-gtk-single-file ()
(interactive)
(let* ((base-name (file-name-base (buffer-file-name)))
(exe-name (concat base-name ".exe"))
(source-name (concat base-name ".c"))
(cmd (read-shell-command "Compile single gtk file: "
(concat "gcc `pkg-config --cflags gtk4` -o "
exe-name " "
source-name
" `pkg-config --libs gtk4`"
" && ./"
exe-name
" &"))))
(shell-command cmd))) (defun run-gtk-single-file ()
(interactive)
(let* ((base-name (file-name-base (buffer-file-name)))
(exe-name (concat base-name ".exe"))
(cmd (read-shell-command "Run single gtk file: "
(concat "./"
exe-name
" &"))))
(shell-command cmd))) (add-hook 'c-mode-hook
'(lambda ()
(local-set-key (kbd "C-c c") 'compile-gtk-single-file)
(local-set-key (kbd "C-c r") 'run-gtk-single-file))) (ivy-mode)
(setq ivy-use-virtual-buffers t)
(setq enable-recursive-minibuffers t)
(setq search-default-mode #'char-fold-to-regexp)
(global-set-key "\C-s" 'swiper)
(global-set-key (kbd "C-c C-r") 'ivy-resume)
(global-set-key (kbd "M-x") 'counsel-M-x)
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
(define-key minibuffer-local-map (kbd "C-r") 'counsel-minibuffer-history) (setenv "GTAGSLIBPATH" "G:/msys64/mingw64/include/")
(load-file "g:/msys64/home/o/.emacs.d/global-tags.el/global-tags.el")
(add-hook 'c-mode-hook #'global-tags-exclusive-backend-mode)
(add-hook 'c-mode-hook
(lambda ()
(add-hook 'after-save-hook
#'global-tags-update-database-with-buffer
nil
t))) (use-package ivy-xref
:ensure t
:init
;; xref initialization is different in Emacs 27 - there are two different
;; variables which can be set rather than just one
(when (>= emacs-major-version 27)
(setq xref-show-definitions-function #'ivy-xref-show-defs))
;; Necessary in Emacs <27. In Emacs 27 it will affect all xref-based
;; commands other than xref-find-definitions (e.g. project-find-regexp)
;; as well
(setq xref-show-xrefs-function #'ivy-xref-show-xrefs)) ;; Windows performance tweaks
;;
(when (boundp 'w32-pipe-read-delay)
(setq w32-pipe-read-delay 0))
;; Set the buffer size to 64K on Windows (from the original 4K)
(when (boundp 'w32-pipe-buffer-size)
(setq irony-server-w32-pipe-buffer-size (* 64 1024))) (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.
'(company-backends
'(company-c-headers company-clang company-irony company-bbdb company-semantic company-cmake company-capf company-clang company-files
(company-dabbrev-code company-gtags company-etags company-keywords)
company-oddmuse company-dabbrev))
'(company-c-headers-path-system
'("g:/msys64/mingw64/include" "g:/msys64/mingw64/include/gtk-4.0" "g:/msys64/mingw64/include/glib-2.0" "g:/msys64/mingw64/include/graphene-1.0" "g:/msys64/mingw64/lib/glib-2.0/include" "g:/msys64/mingw64/include/cairo" "g:/msys64/mingw64/include/pango-1.0" "g:/msys64/usr/include" "g:/msys64/mingw64/include/harfbuzz" "g:/msys64/mingw64/include/gdk-pixbuf-2.0" "g:/msys64/mingw64/lib/graphene-1.0/include"))
'(company-clang-arguments
'("-IG:/msys64/mingw64/include" "-IG:/msys64/mingw64/include/gtk-4.0" "-IG:/msys64/mingw64/include/glib-2.0" "-IG:/msys64/mingw64/include/graphene-1.0" "-IG:/msys64/mingw64/lib/glib-2.0/include" "-IG:/msys64/mingw64/include/cairo" "-IG:/msys64/mingw64/include/pango-1.0" "-IG:/msys64/usr/include" "-IG:/msys64/mingw64/include/harfbuzz" "-IG:/msys64/mingw64/include/gdk-pixbuf-2.0" "-IG:/msys64/mingw64/lib/graphene-1.0/include"))
'(company-minimum-prefix-length 2)
'(flycheck-clang-include-path
'("g:/msys64/mingw64/include" "g:/msys64/mingw64/include/gtk-4.0" "g:/msys64/mingw64/include/glib-2.0" "g:/msys64/mingw64/include/graphene-1.0" "g:/msys64/mingw64/lib/glib-2.0/include" "g:/msys64/mingw64/include/cairo" "g:/msys64/mingw64/include/pango-1.0" "g:/msys64/usr/include" "g:/msys64/mingw64/include/harfbuzz" "g:/msys64/mingw64/include/gdk-pixbuf-2.0" "g:/msys64/mingw64/lib/graphene-1.0/include"))
'(flycheck-clang-includes nil)
'(flycheck-gcc-include-path nil)
'(package-selected-packages
'(ht async persp-mode-projectile-bridge use-package ivy-xcdoc ivy-xref counsel-gtags swiper ivy gxref flycheck-irony company-irony-c-headers company-irony irony clang-capf clang-format clang-format+ company company-c-headers company-ctags))
'(sql-connection-alist
'(("stock"
(sql-product 'ms)
(sql-user "sa")
(sql-password "JianBing!@#0831")
(sql-server "121.196.17.12")
(sql-database "DataSource"))))
'(sql-ms-program
"C:\\Program Files\\Microsoft SQL Server\\Client SDK\\ODBC\\170\\Tools\\Binn\\SQLCMD.EXE"))
(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.
)
最新文章
- spark dataframe 类型转换
- c++ eof()函数
- 浅谈Excel开发:四 Excel 自定义函数
- 聚类算法kmeans
- 同域名下PC与移动端自动识别跳转
- HM必修3
- IIS装好了无法访问localhost
- 蓝牙接收苹果手机通知 ANCS协议分析
- date.plugin.js 日期插件
- ubuntu 安装wxpython2.8
- fullpage.js参数参考
- Python连接MySQL数据库的多种方式
- php 获取数组深度的key
- 大学启示录I 浅谈大学生的学习与就业
- 面向对象编程案例02--显示地调用父类的__init__()
- python-day8-列表的内置方法
- Python 的 pandas 实践
- nginx关于 error_page指令详解.md
- CentOS按电源键关机
- RocketMQ综述(未完成)
热门文章
- CH9126常见问题解决(持续更新)
- 数据库服务器CPU不能全部利用原因分析
- DVWA靶场实战(二)——Command Injection
- 使用Spring MVC框架进行前台页面跳转时,跳转到的新页面中文显示乱码的问题解决
- 目标检测+双目测距——基于yolov5
- qt虚拟键盘编译时报错缺乏qpa/qplatforminputcontext.h文件
- 继承QAbstractTableModel QStyledItemDelegate实现自定义表格,添加进度条和选中框。
- Python内置对象(一)
- vscode 配置复盘
- vue + video.js/videojs-contrib-hls 实现hls拉流播放