#+HTML:
#+HTML:
** 快速开始
*** 要求
- Neovim 0.9.4或更高版本
*** 安装
使用您喜欢的包管理器:
#+HTML:lazy.nvim(推荐)
#+BEGIN_SRC lua { 'nvim-orgmode/orgmode', event = 'VeryLazy', ft = { 'org' }, config = function() -- 设置orgmode require('orgmode').setup({ org_agenda_files = '/orgfiles//', org_default_notes_file = '/orgfiles/refile.org', })ensure_installed = "all"
-- 注意:如果您正在使用带有选项的nvim-treesitter -- 请将org添加到ignore_install中 -- require('nvim-treesitter.configs').setup({ -- ensure_installed = 'all', -- ignore_install = { 'org' }, -- }) end, } #+END_SRC
#+HTML:
#+HTML:packer.nvim
#+BEGIN_SRC lua use {'nvim-orgmode/orgmode', config = function() require('orgmode').setup{} end } #+END_SRC
#+HTML:
#+HTML:
#+HTML:
*** 设置 :PROPERTIES: :CUSTOM_ID: setup :END:
注意,对于[[https://github.com/folke/lazy.nvim][lazy.nvim]],不需要这个设置, 因为上面的说明已经涵盖了完整的设置
#+BEGIN_SRC lua -- init.lua
require('orgmode').setup({ org_agenda_files = {'/Dropbox/org/', '~/my-orgs//'}, org_default_notes_file = '/Dropbox/org/refile.org', })ensure_installed = "all"
-- 注意:如果您正在使用带有选项的nvim-treesitter -- 请将org添加到ignore_install中 -- require('nvim-treesitter.configs').setup({ -- ensure_installed = 'all', -- ignore_install = { 'org' }, -- })init.vim~,请将上述代码片段包装如下: #+BEGIN_SRC vim " init.vim lua << EOF
或者如果您使用的是
require('orgmode').setup({ org_agenda_files = {'~/Dropbox/org/', '/my-orgs/**/*'}, org_default_notes_file = '/Dropbox/org/refile.org', })omnifunc~
EOF #+END_SRC
**** 补全
#+HTML:nvim-cmp
#+BEGIN_SRC lua require('cmp').setup({ sources = { { name = 'orgmode' } } }) #+END_SRC
#+HTML:
#+HTML:completion-nvim
#+BEGIN_SRC lua vim.g.completion_chain_complete_list = { org = { { mode = 'omni'}, }, } -- 添加额外的关键字字符 vim.cmd[[autocmd FileType org setlocal iskeyword+=:,#,+]] #+END_SRC
#+HTML:
或者只需通过==使用
*** 使用 - 打开日程提示:=
oa= - 打开捕获提示:=
oc= - 在任何orgmode缓冲区中按=g?=获取帮助
如果您是Orgmode新手,请参阅文档中的[[/DOCS.md#getting-started-with-orgmode][入门]]部分 或我们维基中的实践[[https://github.com/nvim-orgmode/orgmode/wiki/Getting-Started][教程]]。
** 展示 :PROPERTIES: :CUSTOM_ID: showcase :END:
*** 日程
#+CAPTION: 日程 #+NAME: agenda [[https://user-images.githubusercontent.com/1782860/123549968-8521f600-d76b-11eb-9a93-02bad08b37ce.gif]]
*** Org文件
#+CAPTION: org文件 #+NAME: orgfile [[https://user-images.githubusercontent.com/1782860/123549982-90752180-d76b-11eb-8828-9edf9f76af08.gif]]
*** 捕获和重新归档
#+CAPTION: 捕获 #+NAME: capture [[https://user-images.githubusercontent.com/1782860/123549993-9a972000-d76b-11eb-814b-b348a93df08a.gif]]
*** 自动补全
#+CAPTION: 自动补全 #+NAME: autocomplete [[https://user-images.githubusercontent.com/1782860/123550227-e8605800-d76c-11eb-96f6-c0a677d562d4.gif]]
** Treesitter信息 :PROPERTIES: :CUSTOM_ID: treesitter-info :END:
内置的treesitter解析器用于解析org文件。
*** 已知的高亮问题和限制 - LaTex仍通过语法文件高亮
** 故障排除 :PROPERTIES: :CUSTOM_ID: troubleshoot :END:
*** 缩进不起作用
确保您没有在Org缓冲区中使用[[https://github.com/nvim-treesitter/nvim-treesitter#indentation][nvim-treesitter缩进]]覆盖indentexpr
*** 打开日程/捕获提示或org文件时出现treesitter/query.lua错误
Tree-sitter解析器可能未安装。 尝试运行~:lua require('orgmode.config'):reinstall_grammar()重新安装它。init.lua
*** 日期不是英文
日期是使用Lua原生日期支持生成的,创建时会读取您当前的区域设置。 #+HTML:
要使用不同的区域设置,您可以在中添加以下内容:init.vim
#+BEGIN_SRC lua vim.cmd('language en_US.utf8') #+END_SRC
或在中en_US
#+BEGIN_SRC vim language en_US.utf8 #+END_SRC
只需确保您的系统上安装了区域设置。要查看系统上可用的选项,您可以 启动命令:language并按自动完成可能的选项。:help conceal~)。要启用隐藏,请在
*** 链接没有被隐藏
链接使用Vim的隐藏功能隐藏(参见init.lua中添加以下内容:
#+BEGIN_SRC lua vim.opt.conceallevel = 2 vim.opt.concealcursor = 'nc' #+END_SRC
或者如果您使用的是init.vim:
#+BEGIN_SRC vim set conceallevel=2 set concealcursor=nc #+END_SRC
*** 跳转到带有正斜杠的文件路径不起作用
如果您使用的是Windows,默认情况下路径使用反斜杠写入。 要使用正斜杠,您必须启用shellslash选项 (参见~:help shellslash~)。
#+BEGIN_SRC lua vim.opt.shellslash = true #+END_SRC
或者如果您使用的是init.vim:
#+BEGIN_SRC vim set shellslash #+END_SRC
更多信息请参见问题[[https://github.com/nvim-orgmode/orgmode/issues/281#issuecomment-1120200775][#281]]
** 功能
*** 简要说明 - 日程视图
- 按标签/关键字搜索
- 时间记录
- 可重复日期,日期和时间范围
- 捕获到默认笔记文件/目标
- 归档(归档文件或ARCHIVE标签)
- 导出(通过
emacs、pandoc和自定义导出选项) - 通知(实验性,见问题[[https://github.com/nvim-orgmode/orgmode/issues/49][#49]])
- 日历弹出窗口,方便导航和更新日期
- 各种org文件映射:
- 提升/降级
- 更改TODO状态
- 更改日期
- 插入/移动/重新归档标题
- 更改标签
- 切换复选框状态
- 从日程视图远程编辑
- 通过[[https://github.com/tpope/vim-repeat][vim-repeat]]实现可重复映射
*** 详细分解 - 日程提示:
- 日程视图(=a=):
- 能够显示每日(=vd=)/每周(=vw=)/每月(=vm=)/每年(=vy=)日程
- 支持各种日期设置:
- DEADLINE:警告设置 - 示例:
<2021-06-11 Fri 11:00 -1d> - SCHEDULED:延迟设置 - 示例:
<2021-06-11 Fri 11:00 -2d> - 所有日期 - 重复设置:
- 累积类型:
<2021-06-11 Fri 11:00 +1w> - 赶上类型:
<2021-06-11 Fri 11:00 ++1w> - 重启类型:
<2021-06-11 Fri 11:00 .+1w> - 时间范围 - 示例:
<2021-06-11 Fri 11:00-12:30> - 日期范围 - 示例:
<2021-06-11 Fri 11:00-12:30>--<2021-06-13 Sun 22:00> - 根据定义的日期(DEADLINE、SCHEDULED、普通日期)正确列出任务
- 向前(=f=)/向后(=b=)导航或跳转到特定日期(=J=)
- 在当前窗口(=
=)或其他窗口(= =)中转到光标下的任务 - 如果定义了":CATEGORY:"属性,则打印类别
- 列出具有"TODO"状态的任务(=t=):
- 查找匹配标签的标题(=m=):
- 搜索标题(及其内容)的查询(=s=):
- [[DOCS.md#advanced-search][高级搜索]]标签/待办关键字/属性
- 通知(实验性,见问题[[https://github.com/nvim-orgmode/orgmode/issues/49][#49]])
- 时间记录
- 捕获:
- 定义自定义模板
- 通过=
=快速捕获到默认笔记文件 - 捕获到特定目标=
or= - 用=
ok=中止捕获 - Org文件
- 时间记录
- 重新归档到目标/标题:=
or= - 增加/减少光标下的日期:=
= / = = - 通过日历弹出窗口更改光标下的日期:=cid=
- 更改标题TODO状态:向前=cit=或向后=ciT=
- 打开光标下的超链接或日期:=
oo= - 切换复选框:=
= - 切换当前行为标题或反之:=
o*= - 切换当前标题的折叠:=
= - 切换整个文件的折叠:=
= - 归档标题:=
o$= - 添加归档标签:=
oA= - 更改标签:=
ot= - 提升标题:=<<=
- 降级标题:=>>=
- 提升子树:=<s=
- 降级子树:=>s=
- 添加