org-mode Properties-and-Columns翻译

2023-05-16

https://orgmode.org/manual/Properties-and-Columns.html#Properties-and-Columns

文章目录

  • 属性
    • 属性语法
    • 特殊属性
    • 属性查询
    • 属性继承
  • Column View 列视图
    • 定义列
      • 列定义的范围
      • Column 属性
    • 列视图用法
        • 列视图开关
        • 编辑数值
      • 捕获列视图
  • Dynamic Blocks动态块

属性

一个属性是一组与条目关联的键值对。属性可以与一个单个条目关联,也可以与树上的每个条目关联,或者和org文件里的每个条目。
属性主要有两个作用。
1)属性跟标签很像,但是它有值
想象一下,维护一个软件的bug和计划上线的文档,你可以用标签像 ‘release_1’, ‘release_2’,不过最好的方式是你可以用属性—‘Release’,然后在不同的子树上创建不同的值,如‘1.0’ or ‘2.0’。
2)作为一个org buffer的小型基础数据库
想象你维护自己的音乐cd,作者,发行日期,曲目数等等,可以用属性来完成

属性能利用column view方便的编辑和查看

属性语法

属性是键值对。当它们与单个条目或树相关联时,需要将它们插入一个特殊的抽屉drawer,名称为“属性”,必须位于标题及其计划线(请参见“ 期限和时间表”)的正下方)(如适用)。每个属性都在一行中指定,键的前面用冒号括起来,值在后面。键不区分大小写。下面是一个例子:

* CD collection
** Classic
*** Goldberg Variations
    :PROPERTIES:
    :Title:     Goldberg Variations
    :Composer:  J.S. Bach
    :Artist:    Glenn Gould
    :Publisher: Deutsche Grammophon
    :NDisks:    1
    :END:

根据 org-use-property-inheritance的值,以这种方式设置的属性要么与单个条目关联,要么与条目定义的子树相关联,请参见属性继承。

您可以通过设置属性“Xyz_ALL”来定义特定属性“Xyz”的允许值。此特殊属性是继承的,因此如果在级别1条目中设置它,它将应用于整个树。定义了允许的值后,设置相应的属性变得更容易,而且不容易出现键入错误。对于CD收藏的例子,我们可以预先定义发行商和盒子中的磁盘数量,如下所示:

* CD collection
  :PROPERTIES:
  :NDisks_ALL:  1 2 3 4
  :Publisher_ALL: "Deutsche Grammophon" Philips EMI
  :END:

如果要设置可由文件中的任何项继承的属性,请使用如下行:

#+PROPERTY: NDisks_ALL 1 2 3 4

如果要添加到现有属性的值,请在属性名称后附加一个“+”。以下结果导致属性“var”的值为“foo=1 bar=2”。

#+PROPERTY: var  foo=1
#+PROPERTY: var+ bar=2

也可以添加继承属性的值。以下结果导致“Genres”属性在“Goldberg variances”子树下具有值“Classic Baroque”。

* CD collection
** Classic
    :PROPERTIES:
    :Genres: Classic
    :END:
*** Goldberg Variations
    :PROPERTIES:
    :Title:     Goldberg Variations
    :Composer:  J.S. Bach
    :Artist:    Glenn Gould
    :Publisher: Deutsche Grammophon
    :NDisks:    1
    :Genres+:   Baroque
    :END:

Note that a property can only have one entry per drawer.
注意:每个抽屉的属性只能有一个条目

使用全局变量设置的属性值org-global-properties 可以被所有Org文件中的所有条目继承。

以下命令有助于使用属性:

M-TAB(pcomplete)
在一行中的初始冒号之后,完成属性键。当前文件中使用的所有键均作为可能的补全提供。
写:p M-x pcomplete 就会自动补全了

C-c C-x p(org-set-property)
设置一个属性。这提示输入属性名称和值。如有必要,还将创建属性抽屉。

C-u M-x org-insert-drawer
将属性抽屉插入当前条目。抽屉插入到条目的开头,但是在行之后插入了计划信息,例如截止日期。

C-c C-c(org-property-action)
将鼠标指向属性抽屉中,将执行属性命令。

C-c C-c s(org-set-property)
在当前条目中设置一个属性。可以使用完成插入属性和值。

S-RIGHT(org-property-next-allowed-values)
S-LEFT(org-property-previous-allowed-value)
将点处的属性切换到下一个/上一个允许值。

C-c C-c d(org-delete-property)
从当前条目中删除一个属性。

C-c C-c D(org-delete-property-globally)
从当前文件的所有条目中全局删除属性。

C-c C-c c(org-compute-property-at-point)
使用最近的列格式定义中的运算符和范围,计算点处的属性。

特殊属性

特殊属性提供了对组织模式特性(如TODO状态或条目优先级)的另一种访问方法,在前面的章节中已经讨论过了。此接口的存在使您可以在列视图中包含这些状态(请参见列视图),或在查询中使用它们。以下属性名是特殊的,不应用作属性抽屉中的键:

“ALLTAGS”所有标记,包括继承的标记。

如果任务当前被子项或同级项阻止,则为“BLOCKED”。

“类别”条目的类别。

“CLOCKSUM”子树中时钟间隔的总和。组织时钟总和

必须先运行才能计算当前缓冲区中的值。

CLOCKSUM_T’子树中今天时钟间隔的总和。

今天必须先运行org-clock-sum-today 来计算当前缓冲区中的值。

“CLOSED”此条目何时关闭

'DEADLINE’截止时间戳。

“FILE”条目所在的文件名。

“ITEM”条目的标题。

“PRIORITY”条目的优先级,一个带有单个字母的字符串。

“SCHEDULED”调度时间戳。

“TAGS”直接在标题中定义的标记。

“TIMESTAMP”条目中第一个无关键字的时间戳。

“TIMESTAMP_IA”条目中的第一个非活动时间戳。

“TODO”条目的TODO关键字。

属性查询

要基于属性选择创建稀疏树和特殊列表,将使用与标记搜索相同的命令(请参阅标记搜索)。

C-c / m或C-c \(org-match-sparse-tree)
用所有匹配的条目创建一个稀疏树。使用C-u前缀参数,请忽略不是TODO行的标题。

M-x org-agenda m, org-tags-view
从所有议程文件创建标签/属性匹配的全局列表。

M-x org-agenda M(org-tags-view)
从所有议程文件创建全局标签匹配列表,但仅检查TODO项目并强制检查子项目(请参阅选项 org-tags-match-list-sublevels)。

匹配标签和属性中介绍了搜索字符串的语法。

还有一个用于基于单个属性创建稀疏树的特殊命令:

C-c / p
根据属性的值创建一个稀疏树。这首先提示输入属性名称,然后提示输入值。将创建一个稀疏树,其中包含所有使用给定值定义此属性的条目。如果将值括在花括号中,则将其解释为正则表达式并与属性值匹配。

属性继承

Org文档的大纲结构使其适用于属性的继承模型:如果树中的父级具有某个属性,则子级可以继承此属性。组织模式默认情况下不会启用此功能,因为它会大大降低属性搜索的速度,并且通常不需要。但是,如果您发现继承有用,则可以通过设置变量将其打开 org-use-property-inheritance。可以将其设置为t使所有属性均从父级继承,成为应继承的属性列表或与继承的属性匹配的正则表达式。如果属性具有该值nil,则将其解释为对该属性的显式取消定义,以便继承搜索在该值处停止并返回nil。

组织模式具有一些属性,这些属性对继承进行了硬编码,至少对于使用它们的特殊应用程序而言:

COLUMNS
'列’属性定义列视图的格式(请参见 Column View)。从某种意义上说,“列定义的属性用作列视图表的起点,而与打开列视图的子树中的位置无关。

CATEGORY
对于议程视图,通过“类别’属性适用于整个子树。

ARCHIVE
对于存档,“存档属性可以定义整个子树的存档位置(请参阅移动子树)。

LOGGING
'记录属性可以定义条目或子树的日志记录设置(请参阅跟踪TODO状态更改)。

Column View 列视图

在大纲树中查看和编辑属性的一个很好的方法是列视图。在列视图中,每个大纲节点都变成了一行。此表中的列是条目的属性。Org模式通过在每个项目的标题上覆盖一个表格结构来实现列。虽然标题已转换为一行,但仍可以更改大纲树的可见性。
例如,当列视图处于活动状态时,您可以切换到“contents”视图-S-TAB S-TAB,或者按c激活列视图,但您仍然可以打开、读取和编辑每个标题下的条目,从而得到一个紧凑的表。
或者,您可以在执行稀疏树命令后切换到列视图,并通过这种方式只为所选项目获取表。
列视图还可以在议程缓冲区(请参阅议程视图)中工作,其中查询收集了可能来自多个文件的选定项。

定义列

Defining columns
首先设置列视图需要定义列。这是通过定义列格式行来完成的。

列定义的范围

若要为整个文件定义列格式,请使用如下行:

#+COLUMNS: %25ITEM %TAGS %PRIORITY %TODO

若要指定仅适用于特定树的格式,请将“COLUMNS”属性添加到该树的顶部节点,例如:

** Top node for columns view
   :PROPERTIES:
   :COLUMNS: %25ITEM %TAGS %PRIORITY %TODO
   :END:

如果条目中存在“COLUMNS”属性,则它为条目本身以及它下面的整个子树定义列。由于列定义是文档层次结构的一部分,因此在编辑树的较深部分时,您可以在级别1上定义对所有子级足够通用的列,以及更进一步更具体的列。

Column 属性

A column definition sets the attributes of a column. The general definition looks like this:
列定义设置列的属性。一般定义如下:

%[WIDTH]PROPERTY[(TITLE)][{SUMMARY-TYPE}]
除了百分号和属性名外,所有项目都是可选的。各部分具有以下含义:

WIDTH
以字符为单位指定列宽度的整数。如果省略,则自动确定宽度。

PROPERTY
应在此列中编辑的属性。这里也允许表示元数据的特殊属性(参见特殊属性)。

TITLE
列的标题文本。如果省略,则使用属性名。

SUMMARY-TYPE
摘要类型。如果指定,则从子节点计算父节点的列值。

支持的summary types:

‘+’ 列内和计算
‘+;%.1f’ 有点儿像 ‘+’, 但结果格式为 ‘%.1f’.
‘$’ 货币, ‘+;%.2f’缩写.
‘min’ 列中的最小数字.
‘max’ 最大数字
‘mean’ 数字的算术平均数.
‘X’ 复选框状态,如果所有子项都是“[X]”,则为“[X]”.
‘X/’ 复选框状态 ‘[n/m]’.
‘X%’ 复选框状态, ‘[n%]’.
‘:’ 时间, HH:MM, 直接写数字是分钟.
‘:min’ 最小时间数.
‘:max’ 最大时间数.
‘:mean’ 时间平均数.
‘@min’ 最小年龄 (in days/hours/mins/seconds).
‘@max’ 最大年龄 (in days/hours/mins/seconds).
‘@mean’ 平均年龄 (in days/hours/mins/seconds).
‘est+’ 添加低-高估计值

也可以通过设置org-columns-summary-types来定义自定义汇总类型。

“est+”摘要类型需要进一步解释。它用于组合估计值,用低-高范围表示。
例如,一个工作实际需要5天完成。
如果你大体确定有多少工作,你会评估5-6天
如果你不知道需要做什么,可以估计1-10天。
这两个时间段平均为5.5天,但第一个时间段表示的交付时间更可预测。

当综合一组这样的估计值时,简单地加上低点和高点就会产生一个不切实际的广泛结果。
“用统计平均值加上最后的估计值,而不是用最终的估计值加上方差。”。
例如,假设您有10个任务,每个任务估计需要0.5到2天的工作时间。
直接加法产生了5到20天的估计值,这表示一切进展得不是非常顺利就是极为糟糕
相比之下,“est+”估计整个工作时间更现实,为10-15天。

下面是一个完整的列定义的示例,以及允许的值

:COLUMNS:  %25ITEM %9Approved(Approved?){X} %Owner %11Status \
                   %10Time_Estimate{:} %CLOCKSUM %CLOCKSUM_T
:Owner_ALL:    Tammy Mark Karl Lisa Don
:Status_ALL:   "In progress" "Not started yet" "Finished" ""
:Approved_ALL: "[ ]" "[X]"

第一列,“%25ITEM”表示项目本身的前25个字符,即标题的前25个字符。您可能总是应该以“ITEM”说明符开始列定义。其他说明符创建列“Owner”,其中包含名称列表作为允许值,为“Status”创建四个不同的可能值,并为复选框字段“Approved”。
如果“%”字符后没有指定宽度,则列的宽度正好与所需宽度相同,以便完全显示所有值。
‘Approved’ 列有可修改标题(‘Approved?’,带一个问号)。
通过添加诸如HH:MM之类的持续时间表达式,为“Time_Estimate”列创建摘要;
为“Approved”列创建摘要,如果所有子项都已选中,则提供“[X]”状态。“CLOCKSUM”和“CLOCKSUM”列是特殊的,它们在子树中列出时钟间隔的总和,可以是所有时钟的,也可以是今天的。

列视图用法

列视图开关

C-c C-x C-c (org-columns)
启用“列视图”。如果point位于文件的第一个标题之前,则使用“#+COLUMNS”定义为整个文件打开列视图。如果point位于大纲内的某个位置,此命令将从point开始搜索层次结构,以查找定义格式的“COLUMNS”属性。当找到一个时,将从包含“COLUMNS”属性的条目开始为树建立列视图表。如果找不到这样的属性,则格式取自“#+COLUMNS”行或变量org-columns-default-format,并为当前条目及其子树建立列视图。

r or g (org-columns-redo)
重建列视图,包含最近buffer的变化

q (org-columns-quit)
离开列视图

编辑数值

LEFT, RIGHT, UP, DOWN
移动

1…9,0
直接选择第n个允许值,0选择第10个值。

n or S-RIGHT (org-columns-next-allowed-value)
p or S-LEFT (org-columns-previous-allowed-value)
切换到字段的下一个/上一个允许值。为此,必须为属性指定允许的值。

e (org-columns-edit-value)
编辑点处的特性。对于特殊属性,这将调用通常用于更改该属性的相同接口。例如,编辑“tag”属性时,会弹出“标记完成”或“快速选择”界面。

C-c C-c (org-columns-set-tags-or-toggle)
切换复选框

v (org-columns-show-value)
查看此属性的完整值。当列的宽度小于值的宽度时,这很有用。

a (org-columns-edit-allowed)
编辑此属性的允许值列表。如果在层次结构中找到该列表,则修改后的值将存储在那里。如果未找到列表,则新值将存储在当前列视图的第一个条目中。

Modifying column view on-the-fly
< (org-columns-narrow)

(org-columns-widen)
使列窄/宽一个字符。

S-M-RIGHT (org-columns-new)
在当前列的左侧插入新列。

S-M-LEFT (org-columns-delete)
删除当前列。

捕获列视图

前置知识:需要掌握 Dynamic Blocks 后面有翻译

因为列视图只是缓冲区上的一个覆盖,所以不能直接导出或打印。如果要捕获列视图,请使用“columnview”动态块。此块的框架如下所示:

  • The column view
    #+BEGIN: columnview :hlines 1 :id “label”

#+END:
This dynamic block has the following parameters:

‘:id’
This is the most important parameter. Column view is a feature that is often localized to a certain (sub)tree, and the capture block might be at a different location in the file. To identify the tree whose view to capture, you can use four values:

‘local’
Use the tree in which the capture block is located.

‘global’
Make a global view, including all headings in the file.

‘file:FILENAME’
Run column view at the top of the FILENAME file.

‘LABEL’
Call column view in the tree that has an ‘ID’ property with the value LABEL. You can use M-x org-id-copy to create a globally unique ID for the current entry and copy it to the kill-ring.

‘:hlines’
When t, insert an hline after every line. When a number N, insert an hline before each headline with level <= N.

‘:vlines’
When non-nil, force column groups to get vertical lines.

‘:maxlevel’
When set to a number, do not capture entries below this level.

‘:skip-empty-rows’
When non-nil, skip rows where the only non-empty specifier of the column view is ‘ITEM’.

‘:exclude-tags’
List of tags to exclude from column view table: entries with these tags will be excluded from the column view.

‘:indent’
When non-nil, indent each ‘ITEM’ field according to its level.

‘:format’
Specify a column attribute (see Column attributes) for the dynamic block.

The following commands insert or update the dynamic block:

org-columns-insert-dblock
Insert a dynamic block capturing a column view. Prompt for the scope or ID of the view.

This command can be invoked by calling org-dynamic-block-insert-dblock (C-c C-x x) and selecting “columnview” (see Dynamic Blocks).

C-c C-c C-c C-x C-u (org-dblock-update)
Update dynamic block at point. point needs to be in the ‘#+BEGIN’ line of the dynamic block.

C-u C-c C-x C-u (org-update-all-dblocks)
Update all dynamic blocks (see Dynamic Blocks). This is useful if you have several clock table blocks, column-capturing blocks or other dynamic blocks in a buffer.

You can add formulas to the column view table and you may add plotting instructions in front of the table—these survive an update of the block. If there is a ‘TBLFM’ keyword after the table, the table is recalculated automatically after an update.

An alternative way to capture and process property values into a table is provided by Eric Schulte’s ‘org-collector.el’, which is a contributed package58. It provides a general API to collect properties from entries in a certain scope, and arbitrary Lisp expressions to process these values before inserting them into a table or a dynamic block.

Dynamic Blocks动态块

Org supports dynamic blocks in Org documents. They are inserted with begin and end markers like any other code block, but the contents are updated automatically by a user function.
org支持动态块 就像其他任何代码块,他们以begin和end标识插入,但是这些内容通过一个用户函数自动更新

You can insert a dynamic block with org-dynamic-block-insert-dblock, which is bound to C-c C-x x by default. For example, C-c C-x x c l o c k t a b l e RET inserts a table that updates the work time (see Clocking Work Time).

可以使用org-dynamic-block-insert-dblock插入动态块,默认情况下该块绑定到C-c C-x x。例如,C-c C-x x c l o c k t a b l e RET会插入一个更新工作时间的表(请参见计时工作时间)。

动态块可以有名称和函数参数。语法类似于源代码块规范:

#+BEGIN: myblock :parameter1 value1 :parameter2 value2 ...
  ...
#+END:

以下这些命令更新动态块:

C-c C-x C-u (org-dblock-update)
更新点处的动态块。

C-u C-c C-x C-u
更新当前文件中的所有动态块。

在更新动态块之前,Org会删除“BEGIN”和“END”标记之间的内容。Org然后读取’BEGIN’行上的参数,作为plist传递给writer函数。动态块的前一个内容将从缓冲区中删除并附加到plist下的:content。

用标记为“myblock”的动态块命名writer函数的语法是:org-dblock-write:myblock.

以下是动态块和块写入器函数的示例,该函数更新上次运行该函数的时间:

#+BEGIN: block-update-time :format "on %m/%d/%Y at %H:%M"
  ...
#+END:

动态块的writer函数:

(defun org-dblock-write:block-update-time (params)
  (let ((fmt (or (plist-get params :format) "%d. %m. %Y")))
    (insert "Last block update at: "
            (format-time-string fmt))))

要使Org文件中的动态块保持最新,请使用org-update-all-dblocks的钩子函数,例如before-save-hook。
如果文件未处于org模式,则不会运行org-update-all-dblocks函数。

动态块和任何其他块一样,可以使用organcrown-to-block来缩小范围。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

org-mode Properties-and-Columns翻译 的相关文章

随机推荐

  • display:table-cell实现两栏自适应布局

    前面介绍了 float实现两栏自适应布局 float 43 overflow实现两栏自适应布局 xff0c 现在看下table如何实现两栏自适应布局 display table cell lt table gt lt table gt 里的
  • Microsoft Visual C++ 14.0 is required.

    Microsoft Visual C 43 43 14 0 is required Get it with Microsoft Visual C 43 43 Build Tools 当我们安装绝大部分python包的时候可以通过pip in
  • ubuntu20.04离线安装rabbitvcs

    在内网开发的时候 xff0c 管理更新代码非常不方便 xff0c 使用svn是非常普遍的现象 小乌龟svn貌似只有windows版本的 xff0c 在linux系统下与其操作接近的软件rabbitcvs变成了最好的选择 在线安装rabbit
  • 实机安装CentOS7.9操作系统图文(保姆级)教程

    一 制作启动U盘 1 下载Ventoy软件 去Ventoy官网下载Ventoy软件 xff08 Download Ventoy xff09 如下图界面 2 制作启动盘 选择合适的版本以及平台下载好之后 xff0c 进行解压 xff0c 解压
  • Angular8升级至Angular13遇到的问题

    根据项目需求 xff0c 需要把Angular版本从8升级到13 xff0c 无法从8直接升至13 xff0c 需要一级一级的升级 xff0c 本文介绍了在升级Angular版本的时候的一种报错和解决办法 一 开始之前 首先确保你 Node
  • mysql怎么查询表的大小

    通过sql语句查询整个数据库的容量 xff0c 或是单独查看表所占容量 1 要查询表所占的容量 xff0c 就是把表的数据和索引加起来就可以了 1 select sum DATA LENGTH 43 sum INDEX LENGTH fro
  • CEF3 C++接口实现自定义浏览器[simple version]

    目录 目录 1 一 工具准备 2 二 编译C 43 43 接口 2 三 实现浏览器 5 浏览器定制 5 浏览器默认最大化 xff0c 标题从配置文件读取 5 设置浏览器中文环境 xff0c 开启npapi插件功能 xff0c 并注册身份证阅
  • Windows笔记本声音无法找到输出设备

    现象 xff1a 扬声器无法正常工作 xff0c 声音选项提示无法找到输出设备 xff0c 设备管理器的音频输入和输出的声卡文件旁边有黄色的感叹号 xff0c 属性详情里面设备状态提示 xff1a 该设备无法启动 xff08 代码10 xf
  • C++扑克牌发牌

    自动发扑克牌 52张牌无大小王随机发给4个玩家 poker cpp 自动发扑克牌 52张牌无大小王随机发给4个 loaction src poker cpp include lt assert h gt include lt iostrea
  • ArchLinux下i3wm简单配置和美化

    先show下自己配置的截图 简单弄了下 xff0c 凑合用 本文默认你已经安装了基本的archlinux系统 xff0c 只是没有配置桌面环境 所以跳过前面archlinux的基础安装过程 ArchLinux的具体安装请参见我的博客 htt
  • CentOS8下编译配置nginx+rtmp,搭建推流服务器

    一 环境 服务器操作系统 xff1a CentOS Linux release 8 2 2004 Core nginx 版本 https nginx org download nginx 1 18 0 tar gz RMTP模块 xff1a
  • CentOS7网络配置(ping不同的原因及解决方法)

    这是配置好的CentOS7 xff0c 刚开始在Vmware里装CentOS7后是没有ip的 xff0c 原因是CentOS7默认不启动网卡的 xff0c 网卡不启用还ping个毛 进入 etc sysconfig network scip
  • SpringBoot-JPA进行多表连接查询

    通过JPA进行简单的 内 连接查询 1 准备 1 1开发工具Intellij Idea 1 2数据库mysql 1 3新建Spring Initializr项目 xff0c 勾选web mysql rest jpa依赖 2 开始 2 1项目
  • 响应式导航栏-利用纯css实现

    思路 xff1a 当屏幕为移动设备时 xff0c 隐藏导航栏列表项目 xff0c 显示菜单按钮 给菜单按钮 xff08 电脑时隐藏 xff09 加入hover 或者checked选择器实现 xff0c 当hover或者checked的触发时
  • BTRFS文件系统安装ArchLinux

    layout post title BTRFS文件系统安装ArchLinux date 2017 10 02 categories Linux 主要为以下步骤 xff1a 1 下载ArchLinux安装镜像并 制作U盘启动工具 2 开机进入
  • JSP文件上传

    JSP文件上传 网上的方法几乎都是使用的org apache commons fileupload的jar包 xff0c 需要手动下载导入commons fileupload jar和commons io jar 其实tomcat自带的or
  • ORPALIS PDF Reducer Pro(免费pdf压缩器工具)官方正式版V4.0.1 | pdf免费压缩软下载 | 怎样将pdf压缩得很小?

    ORPALIS PDF Reducer Pro 是一款优秀实用的离线单机版pdf免费压缩软件 xff0c 也就是大家说的免费pdf压缩器工具 xff0c 内置多种超高压缩比的PDF压缩算法和创新的页面布局分析以及自动颜色检测机制 xff0c
  • ubuntu系统文件夹作用

    opt 文件夹 用户级的程序目录 xff0c 可以理解为D Software xff0c opt有可选的意思 xff0c 这里可以用于放置第三方大型软件 xff08 或游戏 xff09 xff0c 当你不需要时 xff0c 直接rm rf掉
  • rhel7安装GUI

    check the rank of starting system systenmctl get default not found startx 查看光盘是否挂载 df 挂载 yum mount dev sr0 mnt mount dev
  • org-mode Properties-and-Columns翻译

    https orgmode org manual Properties and Columns html Properties and Columns 文章目录 属性属性语法特殊属性属性查询属性继承 Column View 列视图定义列列定