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. mysql数据库备份工具xtrabackup

    1.下载二进制安装包 其他高版本测试缺少依赖 2.xtrabackup参数说明 简介:  Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工 ...

  2. Qt Quick 基本元素初体验

    Qt Quick 作为 QML 语言的标准库,提供了很多基本元素和控件来帮助我们构建 Qt Quick 应用,这节我们简要地介绍一些 Qt Quick 元素. 一. 基本可视化项 1.1 Item I ...

  3. 【记录】【idea】【mysql】Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually.解决问题

    idea连接mysql报错Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property ...

  4. XMLHttpRequest原生方法

    时间久了,在工作中会有很多方法和见解. 随着时间的推移,慢慢的写的代码越来越多,封装分方法也越来越多,为的是方便后续工作,加快开发效率! 与此同时,我们会相应的去找一些插件,来代替我们在开发过程中执行 ...

  5. javascript去除字符串中的空格

    使用JavaScript去除字符串的空格,可以有两种方法,一种是使用replace()方法将空格(空白符)替换为空串,一种就是使用trim()方法去除字符串两端的空白字符. replace()方法 r ...

  6. 配置ssl使用了不受支持的协议。 ERR_SSL_VERSION_OR_CIPHER_MISMATCH

    使用了不受支持的协议. ERR_SSL_VERSION_OR_CIPHER_MISMATCH 协议不受支持 客户端和服务器不支持一般 SSL 协议版本或加密套件.   类似的这种提示   免费版百度云 ...

  7. IIS8.5中的强制https直接修改web.config文件和顶级域名跳转www和过滤子目录不强制跳转

    亲测可用 <?xml version="1.0" encoding="UTF-8"?> <configuration> <syst ...

  8. vue-Element-axios搭建调用api进行数据展示

    1全局安装vue-cli 输入命令:npm install vue-cli -g 2创建项目框架 输入命令:vue init webpack vueapi 3依次按照提示输入,项目名.项目描述.项目作 ...

  9. web api对接小程序基本签名认证

    using BMOA.Application.System; using BMOA.Common; using BMOA.Web.Models; using Newtonsoft.Json; usin ...

  10. [個人紀錄] git 疑難排解

    1.git pull 時發生錯誤,要拉下來的檔案內含有檔名太長的檔案 ans: https://stackoverflow.com/questions/22575662/filename-too-lo ...