spacemacs 学习笔记

install

  • git clone https://github.com/syl20bnr/spacemacs ~/.emacs.d
  • pacman -S emacs
  • 变更软件 源,编辑.spacemacs,参考.将下列代码添加到.spacemacs中的dotspacemacs/user-init()
(setq configuration-layer--elpa-archives
    '(("melpa-cn" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")
      ("org-cn"   . "http://mirrors.tuna.tsinghua.edu.cn/elpa/org/")
      ("gnu-cn"   . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")))

basic editing

  • 新建文件

    • spc f f
    • e path
  • 保存编辑

    • spc f s
    • :w
  • 关闭 buffer

    • spc b d
  • 安装对应的语法扩展

    • 打开对应后缀的文件,spacemacs会自动安装
  • Dired(file or directory navigator)

    • spc a d启动 Dird
    • 常用操作

      • 搜索文件,/
      • 打开文件,Enter
      • 复制文件,光标移动到指定文件处,shift c
      • 移动重命名文件, 光标移动到指定文件处, shift r
      • 删除文件,光标移动到指定文件处,shift d
      • 使用外部程序打开文件,光标移动到指定文件处,!
  • buffer

    • 在emacs中编辑的内容所在的对象为buffer
    • spc Tab返回上一缓冲区
    • spc b b显示缓冲区列表,enter可进入
    • spc b d关闭缓冲区
  • windows

    • spc w -上下划分
    • spc w /左右划分
    • 移动窗口

      • spc num,num为窗口标号
      • spc w h/j/k/l,上下左右移动
      • C w h/j/k/l,上下左右移动
    • spc w d关闭窗口
  • Projectile参考

    • spc p f 打开文件
    • git respotitory会被识别为工程文件
  • search text

    • / vim 方式检索
    • spc s g p project中
    • spc s g g 当前文件中查找
    • spc / 同上
    • spc * 多文件中 查找 光标下的单词
    • spc s g b 在buffers 查找
    • 更多操作,查看spc s g下的菜单
  • Magic git

    • install

      • 编辑.spacemacs文件,dotspacemacs-configuration-layers
      • uncomment git;:w保存; spc f e R更新文件
    • 基础操作

      • spc g s开启magit-status
      • g r更新目录提交状态
      • commit

        • git add:光标移动到指定文件处,s
        • commitc c
        • 填写信息
        • , c提交
        • l l显示提交记录
        • 在提交处enter显示提交细节
      • branch

        • b c 创建新的分支
        • b b 移动新的分支
        • m m 合并分支
        • b x 删除分支
      • remote repo

        • magit-status
        • M a 输入ssh地址,https不太方便,总是让输入用户名,密码
        • P p push
        • F p pull
        • :magit-clone xxxx克隆远程仓库
      • squash commit

        • r i 启动 rebase
        • 在某个起点提交, 输入C-c C-c
        • 将需要的压缩的提交前输入s
        • , c编辑提交信息,即可
        • 注意:squash前面的提交不能全部为squash
      • Neotree

        • spc f t 打开 neotree 窗口
        • spc 0移动到左侧树形窗口
        • j or : move blow
        • k or :move up
        • Enter open file or directory
        • R 将光标处文件夹设为根目录
        • K 将根目录设为上层目录
        • spc p t 将当前工程目录设为根目录
      • org-mode

        • 编辑.spacemacs,取消 org 注释,spc f e R安装软件包
        • Tab open or collapse title.
        • Todolist

          • 在任何标题上面按t 来改变Todolsit:变为todo;变todo为done;变todo为open;
          • 在任何标题上面按, s,进行scheduled,设置开始时间
          • agenda file

            • .spacemacsuser-config 添加 .org 路径;spc f e R 更新;
            • spc a o o 根据命令面板,显示相应的信息(agenda 表示scheduled)
            • 显示信息上面按t更新条目对应状态
      • shell

        • :ansi-term 运行系统shell
        • :eshell 运行spacemacs自带的shell,可以执行lisp语句
        • .spacemacsdotspacemacs-configuration-layers部分取消对shell部分的注释。

          • 可使用spc '打开小型的shell(linux 默认的shell)
          • 在如下片段设置默认的shell,eshell为emacs的shell,shell为系统默认shell

            (shell :variables
                    shell-default-shell 'eshell
                    shell-default-height 30
            )
          • spc p '在当前工程根目录打开shell
      • 在同一位置打开shell,暂时不需要,跳过
      • color theme 配置颜色主题

        • dotspacemacs-configuration-layers中添加themes-megapackspc f e R更新(时间较长)
        • spc T s预览theme,theme预览网址
        • 在文件dotspacemacs-theme处配置
      • 一次编辑多行

        • visual-mode

          • 移动到需要修改的字段
          • v 进入visual-mode
          • Ctrl + v 进入 visual-block
          • j 向下移动选中多行
          • I 返回第一行进行同步修改
          • ESC 应用修改到多行
        • IEDIT

          • 移动到需要修改的字段
          • spc s e 进入IEDIT-state
          • (常用的移动方式)或者(n, N)移动到选中的字段,使用TAB键可以激活/取消激活选中字段
          • I 进入编辑模式
          • F 将搜索限制在单个函数中

python 配置

  • 配置:dotspacemacs-configuration-layers

    • 基本语法高亮 python
    • 自动补全 auto-completion
    • 语法检查syntax-checking
  • 执行 SPC f e R 更新设置
  • 快捷键:

    • , h h : 查找文档
    • , g a : 查找变量的赋值语句
    • , g u : 查找所有引用
  • REPL(Read-Eval-Print Loop) "读取-求值-输出" 循环 交互式编程环境

    • spc m s i 开启交互式编程环境
    • spc m s b REPL运行当前窗口代码并获取其上下文。spc m s B类似
    • spc m s f 将单个函数放入REPL
  • live coding(好像不支持 if __name__ == "__main__")根据改动实时执行代码

    • spc m l 启动/关闭 live coding

你可能感兴趣的:(emacs,vim)