美文网首页
emacs和bashrc配置文件

emacs和bashrc配置文件

作者: adam_von | 来源:发表于2017-08-12 23:48 被阅读0次

    1.emacs配置文件

    ~/.emacs
    ;;;;;;;;;;;;;;文件内容如下;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
      (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.
     '(ansi-color-names-vector ["#2d3743" "#ff4242" "#74af68" "#dbdb95" "#34cae2" "#008b8b" "#00ede1" "#e1e1e0"])
     '(custom-enabled-themes (quote (sanityinc-solarized-dark)))
     '(custom-safe-themes (quote ("4aee8551b53a43a883cb0b7f3255d6859d766b6c5e14bcb01bed572fcbef4328" default)))
     '(delete-selection-mode nil)
     '(livedown:autostart nil)
     '(livedown:open t)
     '(livedown:port 1337)
     '(markdown-command "/usr/bin/pandoc")
     '(send-mail-function (quote smtpmail-send-it))
     '(show-paren-mode t)
     '(smtpmail-smtp-server "smtp.163.com")
     '(smtpmail-smtp-service 25)
     '(tool-bar-mode nil))
    (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.
     )
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    ;; 以上是自动生成的主题代码,下面配置加载我们自己的东西
    (load "~/.emacs.d/init") ;; 这里可以省略.el后缀,注意备份这个文件。
    

    emacs配置文件夹下的init.el文件

    ~/.emacs.d/init.el
    ;;;;;;;;;;;;;;;;;;;;文件内容如下;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; 窗口、按键配置开始;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (global-linum-mode t) ;; M-g g <line number>
    ;;;不要滚动栏、工具栏。这里的0不能用nil替换,否则无效。
    (scroll-bar-mode 0)
    (tool-bar-mode 0)
    ;; (menu-bar-mode 0) ;; 菜单栏有时候可以提示一些快捷键,可以保留。
    (setq default-frame-alist '((height . 38) (width . 128)  )) ;; 设置屏幕高、宽度
    
    (global-set-key  [(f9)] 'bs-show) ;; 显示工作缓冲区列表,q键退出。
    (global-set-key  [(f7)] 'bs-cycle-previous)
    (global-set-key  [(f8)] 'bs-cycle-next)
    ;; (global-set-key  (kbd "C-tab") 'bs-cycle-next) ;; C-tab键绑定失败
    (global-set-key [C-tab] 'bs-cycle-next) ;; 这样写就成功,奇了个怪
    ;; (global-set-key [C-tab] 'next-buffer) ;; 这样显示的buff包含了所有工作的buff,
    ;; 比如*message*等。
    ;; (global-set-key [C-tab] 'next-buffer)
    ;; (global-set-key [C-S-iso-lefttab] 'previous-buffer);Linux
    ;; (global-set-key [C-S-tab] 'previous-buffer);Windows/Linux
    (global-set-key (kbd "C-M-m") 'set-mark-command) ;; C-@ is hard to use!!
    ;; 窗口、按键配置结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; 字体配置开始;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (set-face-attribute
      'default nil :font "DejaVu Sans Mono" );;英文字体
    
    ; Chinese Font
    (dolist (charset '(kana han symbol cjk-misc bopomofo))
        (set-fontset-font (frame-parameter nil 'font)
                          charset
                          (font-spec :family "YaHei Consolas Hybrid" :size 16)));;中文字体
    (provide 'init-fonts)
    
    (require 'init-fonts)
    
    ;; 字体配置结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    ;; markdown-mode configure;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (require 'package)
    (add-to-list 'package-archives
                 '("melpa-stable" . "https://stable.melpa.org/packages/"))
    (package-initialize)
    
    (add-to-list 'load-path "/home/adam/markdown-mode/markdown-mode")
    (add-to-list 'load-path "~/.emacs.d/modes")
    (autoload 'markdown-mode "markdown-mode.el" "Major mode for editing Markdown files" t)
    (setq auto-mode-alist (cons '("\\.markdown" . markdown-mode) auto-mode-alist))
    (custom-set-variables '(markdown-command "/usr/bin/pandoc"))
    ;; end of markdown-mode configure ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; livedown配置开始,通过浏览器实时预览md文件;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (add-to-list 'load-path (expand-file-name "~/.emacs.d/emacs-livedown"))
    (custom-set-variables
        '(livedown:autostart nil) ; automatically open preview when opening markdown files
        '(livedown:open t) ; automatically open the browser window
        '(livedown:port 1337)) ; port for livedown server
    (require 'livedown)
    ;; (global-set-key (kbd "C-M-m") 'livedown:preview)
    ;; livedown配置结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; switch-window配置看开始,当分割的窗口大于等于3个时,插件提示数字,按相应的数字跳转窗口;;;;;;;;;
    ;; package-install RET switch-window RET
    ;; 会自动安装到~/.emacs.d/elpa/switch-window-1.0.0/目录
    (global-set-key (kbd "C-x o") 'switch-window) ;; C-x C-e 使之生效
    ;; switch-window配置结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; 设置窗口透明模式开始;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;set transparent effect  
    (global-set-key [(f11)] 'loop-alpha)
    (setq alpha-list '((100 100) (95 65) (85 55) (75 45) (65 35)))  
    (defun loop-alpha ()  
          (interactive)  
          (let ((h (car alpha-list)))                ;; head value will set to  
            ((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))))  
            )
    )
    
    ;; 设置窗口透明模式结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; 备份相关;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;; (setq backup-directory-alist (quote (("." . "~/.emacs-backups"))))
    (setq version-control t)
    (setq kept-old-versions 2)
    (setq kept-new-versions 5)
    (setq delete-old-versions t)
    (setq backup-directory-alist '(("." . "~/.emacs-backups")))
    (setq backup-by-copying t)
    ;; 备份相关结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    ;; 应用模板配置;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (auto-insert-mode)  ;;; Adds hook to find-files-hook
    (setq auto-insert-directory "~/.emacs.d/mytemplates") ;;; Or use custom, *NOTE* Trailing slash important
    (setq auto-insert-query nil) ;;; If you don't want to be prompted before insertion
    
    (setq auto-insert-alist
          (append '((f90-mode . "Template.f90")
                (python-mode . "Template.py")
                (c-mode . "Template.c")
                (markdown-mode . "Template.md")
                )
               auto-insert-alist))
    ;; 应用模板配置结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; sanityinc solarized theme ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (require 'package)
    (add-to-list 'package-archives
        '("marmalade" .
          "http://marmalade-repo.org/packages"))
    (package-initialize)
    (load-theme 'sanityinc-solarized-dark t)
    ;; end of theme ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; 自定义函数,用于插入日期、占位符和html回车符 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (defun my-insert-date ()
    (interactive) 
    (insert (format-time-string "%Y-%m-%d" (current-time)))
    )
    (global-set-key (kbd "C-M-d") 'my-insert-date)
    
    ;; 自定义一个插入2个汉字占位符的函数
    (defun my-space-word ()
    (interactive)
    (insert "  ")
    )
    (global-set-key (kbd "C-M-t") 'my-space-word)
    
    (defun my-enter-char ()
      (interactive)
      (insert "<br />\n")
      )
    (global-set-key (kbd "C-M-e") 'my-enter-char)
    ;; 自定义函数,用于插入日期、占位符和html回车符结束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;;关闭emacs启动时的画面;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (setq inhibit-startup-message t)
    
    ;;关闭gnus启动时的画面
    (setq gnus-inhibit-startup-message t)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    ;; 启用自动插入括号;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    (electric-pair-mode t)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    

    2.~/.bashrc的最后几行

    alias ping='ping -c3'
    alias .='source'
    alias ..='cd ..'
    alias dl='cd ~/下载'
    alias wd='cd ~/文档'
    alias cls='clear'
    alias ll='ls -la'
    

    3. ~/.emacs.d配置文件夹

    重要的是里面的一些模板文件

    • ~/.emacs.d/mytemplates/Template.c
    /* ========================================================================== */
    /*                                                                            */
    /*   Filename.c                                                               */
    /*   (c) 2001 Author                                                          */
    /*                                                                            */
    /*   Description                                                              */
    /*                                                                            */
    /* ========================================================================== */
    
    void main(int argc, char* argv[]) {
    
    
    }
    
    • ~/.emacs.d/mytemplates/Template.py
    # -*- coding:utf-8 -*- 
    
    • ~/.emacs.d/mytemplates/Template.md
    <!--
    author: adam
    head:
    date:   C-M-d 插入日期
    title:  Input your title here, please.
    tags:   input your tag here.
    images:
    category:
    status: published
    summary:some text C-M-t 插入2个汉字占位符
    -->
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    #### 1.
    
    #### 2.
    
    #### 3.
    
    #### 4.
    
    
    ***
    这个是模板里面用于生成日期的lisp语句,无奈它不会自动执行。还想不到由好的方法
    (insert (format-time-string "%Y-%m-%d" (current-time)))
    `C-u M-! date <ret>` 直接调用shell命令的方法,直接插入也行。
    写个函数,再绑定按键,调用也行
    
    记录几个好玩的svg图形,用于超链接:
    <svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" version="1.1" width="16" height="16" viewBox="0 0 200 200"><g class="transform-group"><g transform="scale(0.1953125, 0.1953125)"><path d="M616.192 404.352C609.28 397.504 602.048 391.296 594.496 385.6L524.672 455.424c8.128 4.864 15.872 10.56 22.848 17.6L551.04 476.544c44.736 44.736 44.736 117.504 0 162.24l-190.848 190.848c-44.736 44.736-117.504 44.736-162.176 0l-3.52-3.52c-44.736-44.736-44.736-117.504 0-162.176l86.336-86.336c-14.976-37.056-22.08-76.48-21.504-115.84L125.76 595.2c-82.368 82.368-82.368 217.152 0 299.584l3.52 3.52c82.368 82.368 217.152 82.368 299.584 0l190.848-190.848c82.368-82.368 82.368-217.152 0-299.52L616.192 404.352zM898.24 129.344 894.72 125.824c-82.368-82.368-217.152-82.368-299.52 0L404.288 316.672c-82.368 82.368-82.368 217.152 0 299.52l3.52 3.52C414.72 626.56 422.016 632.768 429.504 638.528l69.824-69.824C491.2 563.84 483.52 558.08 476.48 551.104L472.96 547.584c-44.736-44.736-44.736-117.504 0-162.24l190.848-190.848c44.736-44.736 117.504-44.736 162.176 0l3.52 3.52c44.736 44.736 44.736 117.504 0 162.176l-86.336 86.336c14.976 37.056 22.08 76.48 21.504 115.84l133.568-133.504C980.608 346.496 980.608 211.712 898.24 129.344z" fill="#27ae60"></path></g></g></svg>
    
    <svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="octicon octicon-link" role="img" width="16" version="1.1" height="16" viewbox="0 0 16 16"><path d="M4 9h1v1h-1c-1.5 0-3-1.69-3-3.5s1.55-3.5 3-3.5h4c1.45 0 3 1.69 3 3.5 0 1.41-0.91 2.72-2 3.25v-1.16c0.58-0.45 1-1.27 1-2.09 0-1.28-1.02-2.5-2-2.5H4c-0.98 0-2 1.22-2 2.5s1 2.5 2 2.5z m9-3h-1v1h1c1 0 2 1.22 2 2.5s-1.02 2.5-2 2.5H9c-0.98 0-2-1.22-2-2.5 0-0.83 0.42-1.64 1-2.09v-1.16c-1.09 0.53-2 1.84-2 3.25 0 1.81 1.55 3.5 3 3.5h4c1.45 0 3-1.69 3-3.5s-1.5-3.5-3-3.5z"></path></svg>
    
    中文缩进分隔符,代表一个汉字宽度,` `,空格` `,半个汉字宽度` `
    正文从一下开始,编辑完成后记得删除这些消息。要是用ReText编辑器,可以直接预览上面的图形哦。
    ***
    
    
    
    *<h6 style="text-align:right">--end--<h6>*
    

    4. emacs统一备份目录

    把emacs编辑过的文件自动备份到这个目录下,不然原目录会显得很杂乱。

    ~/.emacs-backups
    

    相关文章

      网友评论

          本文标题:emacs和bashrc配置文件

          本文链接:https://www.haomeiwen.com/subject/tvksrxtx.html