emacsbinw64.sourceforge.net  windows的emacs下载地方(绿色软件)

学习快速入门

C-h t 快速入门的帮助文档  C-h 是prefix key

光标移动快捷键:   光标移动快捷键在mac上是全局的

C-f 前进一格
C-b 后退一格
C-n 向下一行
C-p 向上一行
C-a 行开头
C-e 行结尾
C-k 删除当前位置到行尾
查阅一下win上修改快捷键   这些cursor move快捷键在mac里面是全局的快捷键

注意修改:caps Lock 到ctrl

vim 的insert模式下面也可以绑定这些光标移动快捷键

s(uper common key)  S(hift)

c-h   prefix key

C-g 中断命令(不想继续这个指令)

s 代表 super键 S 代表 shift键

emacs是一个操作系统,默认很多功能是没有开启的

M-x linum-mode 显示行号

打开文件 C-x C-f 
保存文件 C-x C-s 也是调用函数(save-buffer)

emacs 任何东西(例如:快捷键)你都可以查询它
C-h v 一个变量
C-h k 查询快捷键绑定的函数(快捷键只是快速地调用对应的函数)
C-h f 一个函数
所有的快捷键都在一个map里面和具体的函数相对应(查询快捷键看到的)

学习elisp    learnxinyminutes.com

buffer scratch 里面可以执行elisp命令(因为默认是lisp major mode) 
C-x C-e 执行(下面是执行结果) 或者 C-j(下一行是执行结果)
显示在 minibuffer的区域
里面 ; 开头表示注释 C-h m可以查看所有minor mode

里面可以关闭自动缩进 Elecreic-Indent-mode
M-x Elecreic-Indent-mode 就关闭了

定义一个变量 (setq my-name "zilongshanren") 每次都要 C-x C-e 运行一下
输出该变量 (message "hello,%s" my-name)
(insert "hello,emacs")hello,emacs
(insert "Hello, I am " my-name)Hello, I am wanglei

定义一个函数 (defun my-func () 不带参数的函数(要将鼠标放在 最后的括号后面然后C-x C-e)
                           (message my-name))
(my-func) 执行该函数

(defun my-func ()  
    (message "hello,world %s" my-name))
(my-func)

(defun hello (name) (insert "Hello " name))有参数的函数
(hello "you") 有参数的函数的调用

如果此时想要在 M-x 里面调用该函数是不行的
(defun my-func ()
     (interactive) 意思是将其定义为一个交互式的函数
    (message "hello,world %s" my-name)) 
如果想要知道message函数的帮助 光标放上面 然后C-h f (默认会抓取光标字符)
(my-func)

如果想要给该函数绑定快捷键
(global-set-key (kbd "<f2>") 'my-func) 将该函数绑定在快捷键上

如果重新启动emacs 这些配置都失效了

~/.emacs.d/init.el (该文件默认没有 C-x C-f 新建它 后退出即可)

打开每一种文件都会开启一个 major mode company -->complete anything

major mode应该提供什么样的语法规则来解析它 语法高亮 缩进 快捷键 等 核心功能

根据后缀来区别

打开这个文件:
如果你不想要这个最上面的工具栏 
(tool-bar-mode -1) 这是一个minor mode 一个文件最多只能激活一个major mode

多个minie mode 
(scroll-bar-mode -1) 滚动栏关闭
(elecreic-indent-mode -1) 关闭缩进
(global-linum-mode t) 全局显示行号

(setq inhibit-splash-screen t) 关闭默认的启动页面

(defun open-init-file()
    (interactive)
   (find-file "~/.emacs.d/init.el")) 打开文件的函数 find-file 代码中要使用函数名

(global-set-key (kbd "<f2>") 'open-init-file)

包系统 安装company  meta n/p 选择补全的内容                 只要安装了之后 配置文件就会生成一些东西 (package-initialize) 告诉emacs要到 elpa里面找对应的东西
(global-company-mode t) 开启提示 不管用  25.1 有用
(setq cursor-type 'bar)

显示minior mode   C-h m

org-mode  C-c C-t    GTD工具(getting thing done)

elpa目录 用来保存 package安装的东西

org mode * 下面的heading

新建一个叫*test*的buffer
(switch-to-buffer-other-window "*test*")
`C-xC-e' 这时屏幕上会显示两个窗口,而光标此时位于*test* buffer内

用鼠标单击上面的buffer就会使光标移回。
或者你可以使用 C-x o 使得光标跳到另一个窗口中

你可以用 progn 命令将s式结合起来:
(progn
(switch-to-buffer-other-window "*test*")
(hello "you")) 这个hello 是上面定义的有参数的函数

清除指定的buffer
(progn
(switch-to-buffer-other-window "*test*")
(erase-buffer)
(hello "there")
)

安装 company 用于补全 安装之后 在.emacs.d 目录下
产生 elpa 目录 用于保存 这个包的源文件和编译之后的文件

之后尽可以使用补全功能了
M-x company-mode instal C-n C-p 可以选择补全的内容

但是只能对这个文件有补全功能 
M-x global-company-mode 对所有文件都有效

major mode 只会有一个 显示在哪里
C-h m 可以显示所有的minor mode

learnxinyminutes 教程 https://learnxinyminutes.com/docs/elisp/

org-mode
C-c C-t 把一个 item 变成 todo
GTD(getting thing done)

setq 和 setq-default 的区别  (setq-default cursor-type 'bar)
buffer local 变量 在每一份buffer中都有一份值
如果是这里面的变量 setq-default 对全局都有效 而 setq 只对当前有效

禁止备份文件 (如果文件已经在 GitHub上的话)
(setq make-backup-files nil)

C-x 2 在下面分屏
C-x 3 在右边分屏

#+BEGIN_SRC emacs-lisp
(setq make-backup-files nil)
#+END_SRC

C-c ' (过去和回来) 进入另一个buffer

让上面注释里面关键字有高亮 在配置文件中加入
(require 'org)
(setq org-src-fontify-natively t)

emacs第一天的更多相关文章

  1. emacs 入门第一课:Emacs里的基本概念

    Table of Contents 无聊的开场白 buffer(缓冲区) window(窗口)与frame Emacs的mode Emacs Lisp 函数function.命令command.键绑定 ...

  2. Linux基础介绍【第一篇】

    Linux简介 什么是操作系统? 操作系统,英文名称Operating System,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心 ...

  3. ubuntu 下emacs 配置

    (set-language-environment 'Chinese-GB) (set-keyboard-coding-system 'utf-8) (set-clipboard-coding-sys ...

  4. Emacs 相关资料翻译

    Table of Contents 1. 37 Document Viewing 2. EmacsrelatedTranslation 2.1. Spacemacs 配置层(Configuration ...

  5. emacs 新手笔记(一) —— 阅读【emacs tutorial】

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 [emacs tutorial]是熟悉 emacs 的入门资料.一共几十个命令,不需硬记,勤练即可. 翻页命 ...

  6. 搭建emacs的go编程语言环境

    关于emacs就不说明了,直接切入主题.关于我的emacs配置,可以直接参考GitHub上的lienhua34/myemacs-conf. go-mode 安装 关于go-mode的安装,可以直接参考 ...

  7. #第一用Markdown编辑器#

    Markdown初次使用 This is a simple Markdown editor based on 'Markdown' it's * italic * style. it's also _ ...

  8. < 独立项目 - 文本挖掘 > - 2016/10/25 第一更 - <Linux相关知识准备>

    < 独立项目 -  文本挖掘 > 项目立项的相关背景介绍,TODO方向. 一.Ubuntu环境配置 主机系统:Windows 7 SP1  64位操作系统 | i5-4210 CPU | ...

  9. LINUX信息安全系统设计基础第一周学习总结

     Linux系统简介 一.实验内容 了解 Linux 的历史,Linux 与 Windows 的区别等入门知识. 二.实验要求 阅读linux简介与历史 三.实验步骤 二.Linux 与 Window ...

随机推荐

  1. 万亿数据下Hadoop的核心竞争力

    1.前言 在大数据时代,Hadoop有着得天独厚的优势.然而,每个企业的技术储备和需求特点不同,他们希望从海量的客户数据中挖掘真正的商业价值,像Google.Facebook.Twitter等这样的企 ...

  2. docker-composer 简单教程

    原文地址:https://blog.51cto.com/9291927/2310444 Docker快速入门——Docker-Compose 一.Docker-Compose简介 1.Docker-C ...

  3. Docker学习2-Docker的基本命令与使用

    前言: 前些天有人问镜像是什么?容器有是什么?docker对于初学者来说,往往分不清楚镜像和容器,编程语言都知道有一个面向对象,类和实例,类比作镜像,实例比作容器. 有的人蹦着学习的心态的去群里问人, ...

  4. Java代码质量检查checkstyle, pmd, cpd, p3c,findbugs, jacoco, sonarquebe以及和Jenkins集成

    概述 又搞一边质量扫描插件,之前做过一遍,然后后面各种忽略,然后就放弃了,所以,应该寻找一种方法,循序渐进的实施.本次将实施一个基本的打包扫描方案,包含 checkstyle 固定团队编码风格,固定命 ...

  5. 乘法器——booth编码

    博主最近在学习加法器.乘法器.IEEE的浮点数标准,作为数字IC的基础.当看到booth编码的乘法器时,对booth编码不是很理解,然后在网上找各种理解,终于豁然开朗.现将一个很好的解释分享给大家,希 ...

  6. [Silverlight 4] Textbox style模擬Textblock 使可以選取、複製

    childwindow 做為訊息視窗,使用textblock,可是textbloc無法選取內容及複製, 就改用textbox假裝成textblock ---原本的textblock <contr ...

  7. python 动态创建变量 获取变量名

    参考链接:https://www.cnblogs.com/technologylife/p/9211324.html 参考链接(未)(使用inspect 获取变量名):https://blog.csd ...

  8. 联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum

    联盟链IBM的超级账本Hyperledger Fabric框架,JP Morgan’s Quorum JP Morgan’s Quorum https://www.coindesk.com/jpmor ...

  9. vue+element 获取验证码

    我们在做一个项目,登录注册页面是少不了的,为了人机校验,验证码也是必须的 我的这个项目获取验证码,前端发送一个随机四位数给后端,后端返回一张图片,前端渲染就可以 template代码: <el- ...

  10. MySql定时备份脚本

    最近需要对某服务的数据库数据进行备份,因此参考网上教程完成数据库备份脚本. 因为服务的使用频率较低,因此设置定时任务,在每天的中午以及午夜时分进行备份操作. #!/bin/bash # 设置mysql ...