链接 | 说明 | |||
---|---|---|---|---|
~/.emacs.d $ git add .gitignore #添加对.gitignore的修改
~/.emacs.d $ git rm -r –-cached . #清除缓存
~/.emacs.d $ git rm [要删除的文件或目录] #这一步可以把已经提交过的文件删除
~/.emacs.d $ git add . #重新按照ignore的规则add所有的文件
~/.emacs.d $ git commit -m “update .gitignore” #提交和注释
如果你需要从 Git 仓库中批量删除很多文件,并且这些文件都已经被添加到 .gitignore 文件中,你可以使用 git clean
命令结合一些选项来执行。
/注意/,=git clean= 是一个危险的命令,因为它会删除你工作目录中未被追踪的文件。确保你知道你在做什么,或者至少确保你的重要文件都已经被备份。
- 使用
-n
选项先做一次模拟运行,查看哪些文件将被删除:git clean -n -X
这里,=-n= 是做一次模拟运行,=-X= 是删除所有已被 .gitignore 文件忽略的文件。
- 如果你确认要删除这些文件,可以使用
-f
选项来执行删除:git clean -f -X
再次,注意这会永久删除这些文件,确保你已经备份了你的重要数据。
- 提交这个更改:
git commit -am "Remove ignored files"
- 将更改推送到远端仓库:
git push origin master
将
master
替换为你当前使用的分支名。
git tag [tagName] # 创建tag, 名称为tagName
git push origin [tagName] #推送到远端仓库
- 教程:2023年9月份ChatGPT Plus最新充值方法
- 网站:https://www.i4store.net
- 信息:
card 4674130088847175 Address 1201 Meadow Drive City livingston Postal code 59047 State Montana code 738 01/2029
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
- 以项目为单位进行管理
- 不拘泥于项目 比如配置在~/.emacs.d目录下,agenda-files 在~/gtd目录下,比如我修改了~/.emacs.d/lisp/init-org.el 中的 agenda配置,同时想修改 ~/gtd/diary.org文件,这时候就可以在一个工作区中同时打开不同项目中的文件, 增加灵活性。
- 设置标记点,方便跳转 当我们需要在多文件中频繁跳转时,可以采取此法来,随时跳会标记点,尤其在不同项目文件中跳转时很方便。 bookmark-set / bookmark-jump
- 使用*设置标题级别
- 设置任务状态: C-c C-t org-todo
- 设置check boxes
- 设置结束时间: C-c C-d org-deadline
- 换行(格式同上一行):org-mata-return
- 设置logbook
操作名 | 指令 | 快捷键 | detail | |
---|---|---|---|---|
插入同级标题 | org-insert-heading-respect-content | C-RET | org-ins | |
插入次级标题 | org-insert-subheading | |||
标题降级 | org-metaleft | M-<left> | ||
标题升级 | org-metaright | M-<right> | ||
标题树降级 | org-demote-subtree | C-c C-> | ||
标题树升级 | org-promote-subtree | C-c C-< |
字符 | 表示法 | |
---|---|---|
竖线 | | |
- 设置持续时间(格式: 00:xx): e org-agenda-set-effort
- 过滤持续时间: _ org-agenda-filter-by-effort
- 设置tag: : org-agenda-set-tags
操作名 | 指令 | 快捷键 | ||
---|---|---|---|---|
org-agenda-week-view | w |
一定一定要学会使用表格,表格更加直观,可以在表格中增加链接,链接到详细说明处。 如果使用evil-mode,可能有些快捷键不起作用,但是指令还是可以使用
操作名 | 指令 | 快捷键 | 备注 | 其他 | |
---|---|---|---|---|---|
基础操作 | 创建表格 | org-table-create | C-c | | 可以指定表格大小比如 4x3 | |
遍历表格 | org-cycle | TAB | |||
反向遍历 | org-shiftab | S-TAB | |||
插入行 | org-table-insert-row | RET | |||
插入分隔行 | org-table-insert-hline | C-c - | org-ctrl-c-minus | ||
插入列 | org-table-insert-column | ||||
整行上移 | org-metaup | M-<up> | up为向向上键 | ||
整行下移 | org-metadown | M-<down> | |||
整列左移 | org-metaleft | M-<left> | |||
整列右移 | org-metaright | M-<right> | |||
当前内容下移 | org-meta-return | M-RET | |||
进阶操作 | 插入静态时间戳 | org-time-stamp-inactive | C-c ! | 时间戳不会改变 | |
插入动态时间戳 | org-time-stamp | C-c . | |||
折叠列 | org-ctrl-c-tab | C-c TAB | |||
删除列 | org-table-delete-column |
操作名 | 指令 | 快捷键 | 备注 | |
---|---|---|---|---|
创建链接 | org-insert-link | C-c C-l | 可以直接按照格式写 | |
展开链接 | org-toggle-link-display | |||
跳转到链接 | org-open-at-point | C-c C-o | ||
补全 | completion-at-point | [[*]特殊操作 |
我第一次想用链接,是在使用表格的时候,表格的有点是直观,缺点就是可容纳信息较少,所以我想着,把 复杂的内容单独写在一个headline中,在增加一个链接方便跳转。 网上的资料大都不太全,所以最终还是找到官方文档:
- https://orgmode.org/manual/Link-Format.html
- https://orgmode.org/manual/Internal-Links.html
- https://orgmode.org/manual/Search-Options.html
如果从来没用用过 org-mode 的 Hyperlinks可以先看第一篇文章。 简单来说链接其实就是特殊的纯文本:
[[LINK][DESCRIPTION]]
举例:
1. [[http://www.baidu.com][这个链接会指向百度]]
2. [[file::~/code/main.cc][这个链接指向一个本地文件]]
“LINK” 表示链接内容, DESCRIPTION 为用来展示的名字, 跳转是通过指令org-open-at-point。
紧接着第二篇文章,就讲了内部链接,我没太看懂,而且实践也没有成功。(补充:重启之后成功了) 这里简单总结一下,说不定以后就能明白了:
主要格式为以下三种
1. [[#my-custom-id]]
2. [[*some section]]
3. [[target]]
三种格式, my-custom-id应该是一种特定的id,但是我不知道怎么设置
*some section 就是指一个标题(headline),文章里还提到了一种简单写法,即先写括号和星号,然后按 M-TAB, 所有的标题就会出现在一个 buffer 中,然后选择想要的即可。 原文: To insert a link targeting a headline, in-buffer completion can be used. Just type a star followed by a few optional letters into the buffer and press M-TAB. All headlines in the current buffer are offered as completions.
第三种格式,target 即表示一个标记,只要在两个尖括号你的内容都可以是一个标记
比如这篇文章有如下两行:
<<这是一个标记>>
[[这是一个标记]] 那么这个链接就会跳到上面那一行
但是我没有成功过。
第三篇文章讲的是文件链接,其实内部链接也是文件链接的一种,我尝试了一下,确实可行。
举例:
[[file:~/code/main.c::255]]
[[file:~/xx.org::My Target]]
[[file:~/xx.org::*My Target]]
[[file:~/xx.org::#my-custom-id]]
[[file:~/xx.org::/regexp/]]
[[attachment:main.c::255]]
主要是多了一个file前缀,应该很好理解,那么我想链接到当前文件的某个标题可以这样:
* headline1
** 1.1
** 1.2
** 这是 1.3
* headline2
** 2.1
[[file:::1.1]] 这个会跳转到 "标题1.1"
[[file:::这是 1.3]] 这个会跳转到标题 "这是 1.3"
最终发现其实很简单,不过目前也只会跳转到标题,其他的花里胡哨的功能还不会
通用操作
操作 | 指令 | 快捷键 | ||
---|---|---|---|---|
类型变更 | org-shiftleft | S-<left> | ||
org-shifup | S-<up> | |||
计算 | org-ctrl-c-ctrl-c | C-c C-c | ||
变更 checkbox | org-toggle-checkbox | C-c C-c | ||
插入checkbox | org-insert-todo-heading | M-S-RET |
- https://github.com/kaushalmodi/ox-hugo
- org 转换成 markdown, author设置
Nerd Fonts 是一个使用大量字体图标来解决程序员在开发过程中缺少合适字体的问题的项目。它可以从流行的字体图标库中将大量外部字体引入待开发的项目中,它支持的字体图标库包括 Font Awesome , Devicons , Octicons , and others。 仓库:https://github.com/ryanoasis/nerd-fonts 下载字体基本步骤:
- 下载 ttf文件,比如FiraCodettf字体链接
- 直接点击 ttf 文件进行安装,ttf 可以理解为一个字体安装包,打开根据提示一路点击确定就行
- 打开 Emacs 进行配置
;; 方法1: 通过指令设置字体,
;; FiraCode Nerd 为字体名
;; 13 为字体大小
(set-frame-font "FiraCode Nerd Font 13" nil t)
;; 方法2: 使用第三方插件配置字体
(use-package cnfonts
:init (cnfonts-mode 1)
;; 添加两个字号增大缩小的快捷键
:bind
(:map cnfonts-mode-map
("C--" . cnfonts-decrease-fontsize)
("C-=" . cnfonts-increase-fontsize)
))
(setq cnfonts-personal-fontnames '(;; 英文字体
("FiraCode Nerd Font" "Source Code Pro for Powerline")
;; 中文字体
("行楷-简" "行楷-繁")
))
我这里推荐使用cnfonts,cnfonts 原来叫: chinese-fonts-setup, 是一个 Emacs 中英文字体配置工具。 可以比较方便地实现中文字体和英文字体等宽(也就是大家常说的中英 文对齐)。 我一开始是使用 org-table ,发现同时有中英文时,表格无法对齐,就开始使用 cnfonts了。 接着上文说, 字体下载好后,
- 通过 use-package 安装 cnfonts
- 设置cnfonts-personal-fontnames, 将刚刚下载的字体名添加进去
- M-x cnfonts-edit-profile , 打开配置界面, 随便点点,很容易配置的。
- 配置完毕,直接关闭 buffer 就行。
rainbow-mode 是一个有用的包,能够在 Emacs 中直接显示颜色代码的颜色。 以下是如何使用 use-package 来下载和配置 rainbow-mode:
(use-package rainbow-mode
:ensure t
:hook (prog-mode . rainbow-mode))
Emacs 允许用户自定义界面的颜色,包括背景色、前景色以及文本和语法高亮的颜色。以下是一些基本的配置方法:
- 设置背景和前景色
(set-background-color "#000000") (set-foreground-color "#FFFFFF")
- 配置语法高亮的颜色
我们也可以通过自定义 face 来设置语法高亮的颜色。
(custom-set-faces '(font-lock-comment-face ((t (:foreground "#FF0000")))))
在 Org mode 中,我们经常需要使用加粗、斜体、删除线等格式。我们可以自定义这些格式的颜色以达到更好的视觉效果。
以下是一些例子:
- 自定义加粗文本的颜色
(custom-set-faces '(org-bold ((t (:foreground "#FF0000" :weight bold)))))
- 自定义斜体文本的颜色
(custom-set-faces '(org-italic ((t (:foreground "#00FF00" :slant italic)))))
- 自定义删除线文本的颜色
(custom-set-faces '(org-headline-done ((t (:foreground "#CCCCCC" :strike-through t)))))
(use-package quelpa)
(unless (package-installed-p 'quelpa-use-package)
(quelpa
'(quelpa-use-package
:fetcher git
:url "https://github.com/quelpa/quelpa-use-package.git")))
(use-package quelpa-use-package
:init
(setq quelpa-use-package-inhibit-loading-quelpa t)
:demand t)
- 使用 EmacsServer
我这里写了一个 shell 脚本
#!/bin/zsh export PATH=$PATH:/usr/local/bin # 尝试使用 emacsclient 连接到 Emacs server if ! emacsclient -e "(if (server-running-p) 't 'nil)"; then # 否则,首先启动 Emacs server emacs --daemon fi # 判断是否传递了文件名参数 if [ $# -eq 0 ]; then emacsclient -c -e '(switch-to-buffer "*scratch*")' exit 0 else emacsclient -c "$@" fi
这个指令会插入同级标题,会往上找到距离当前光标最近的标题,然后插入同级标题。 大家可以自行尝试,在文章的一级/二级/ 三级标题处,正文处分别按下C-RET 快捷键盘看看效果。
这个指令针对不同的内容会有不同的表现效果
- 标题:TODO -> DONE
- checklist: 样式变更
- 时间戳:更新时间戳