Emacs Org-mode 3 表格


Org 使用內置的表格編輯器。可以進行簡單的表格編寫和計算。 Org中的表格 第一個非空字符“|” 視為表格的起始位置,后面的“|” 視為字段分隔符。

3.1 生成表格

編寫表格時,可以將字段先寫好,以“|”開頭和分隔,如: |Name|Phone|Age| 然后 C-c RET, 然后會在下一行新增兩行,一行類似結構“|—+—|”,導出時為一條橫線,另一行以“|”開頭和分隔,為新一行表格結構。 自動生成如下格式。 C-c RET 在任意一行都可以使用。都是相同的效果。

| name | phone | age |
|------+-------+-----|
|      |       |     |

3.2 為表格添加說明

在表格上方,我們可以為表格添加說明。格式如下:

#+caption: 表格說明

3.3 操作說明

Table 1:  表格的基本操作
操作   說明
C-c |   生成表格,在buffer區域會提示輸入N*M,代表N列M行的表格
|- TAB   生成一行 |—+----| 結構
C-c C-c org-table-align 表格對齊
TAB   從左到右,光標從前一個字段跳到下一個字段
S+TAB   從右到左,光標從后一個字段跳到前一個字段
RET   光標移動到下一行。如果下一行還沒有表格結構,則新增一行
Table 2:  column and row editing
操作 命令 說明
C-c space org-table-blank-field 清空當前格
M-a org-table-beginning-of-field 移動到當前表格的第一個格,或者移動前到一個格
M-e org-table-end-of-field 光標移動到當前格的尾部或者移到下一格的尾部。
M-left org-table-move-column-left 向左移動當前列,如果快捷鍵效果不對,可以使用前面的命令
M-right org-table-move-column-right 向右移動當前列,如果快捷鍵效果不對,可以使用前面的命令
M-S-left org-table-delete-column 刪除光標所在列。如果快捷鍵效果不對,可使用前面命令
M-S-rigth org-table-delete-column 在光標所在位置插入一列,如果快捷鍵效果不對,可使用命令
M-up org-table-move-row-up 將光標所在行向上移一列。即與上一行替換位置
M-down org-table-move-row-down 將光標所在行與下一行互換位置。
M-S-up org-table-kill-row 刪除當前行
M-S-down org-table-insert-row 插入一行
C-c - org-table-insert-hline 在下一行插入 |---------| 結構,導出時,會轉換為一條直線
CC    
C-c RET org-table-hline-and-move 添加一行 |–+--\vert結構 並新增一行表格
C-c ^ org-table-sort-lines 將最近的兩條橫線之間的區域進行排序,或者是整張表。如果光標在第一
    個格之前,則會提示輸入要排序的列。命令方式,會提示排序方式:
    alphabetically,numberically,or by time.可以升序或者降序排列,也可
    以按照自己想要的規則,比如提供給org一個處理函數。大小寫嚴格區分
     
Table 3:  regions
操作 命令 說明
C-c C-x M-w org-table-copy-region 復制一個長方形區域至Emacs剪切版。長方形的范圍由光標和mark標記來確定
C-c C-x C-w org-table-cute-region 剪切一個長方形區域至Emacs剪切版。
C-c C-x C-y org-table-paste-rectangle 按原有的列數與行數粘貼一個長方形區域至表中。此操作,忽略橫向分隔線。
    如果表格行列數不足,則自動補充。
     

3.4 表格格式化

  • 設置字符位置 字段中字符的位置有偏左,偏右,居中。 在表示一個表格的兩個'|' 之間使用<c|r|l> 來表示,其中c 代表center,r 代表right,l代表left 示例:

    |<c> |<l> |<r> |
    |----+----+----|
    |居中|居左|居右|
    
  • 設置單個表格寬度 寬度指的是字符數,表格中的一列中單行顯示最大字符數。比如<4>代表該列,每行最多顯示4個字符,如果超過4個字符會 被隱藏。

    |<4> |<2>|<10>|
    |----+---+----|
    |    |   |    |
    

    要查看被自動隱藏的字符怎么辦呢?光標移動格內,輸入C-c `, 會打開一個buffer,在這個buffer 內可以查看完整內容, 也可以進行編輯。編輯結束,使用C-c C-c 結束編輯和查看。

3.5 表格計算

示例:

 1: | 數量 | 單價 | 總價 |
 2: | <c>  | <c>  | <c>  |
 3: |------+------+------|
 4: | 6    | 18   |      |
 5: | 5    | 19   |      |
 6: | 4    | 20   |      |
 7: | 3    | 21   |      |
 8: | 2    | 22   |      |
 9: | 1    | 23   |      |
10: #+TBLFM: $3=$1*$2::@6$3=$2-$1::@4$3=$1+$2

數值的計算,需要在表格下方使用標簽 #+TBLFM: ,標簽后寫說明方法:
'$' 代表列
'@' 代表行
'::' 當有多個表達式時,使用兩個冒號進行分隔

將表達式應用到表格中,使用快捷鍵: C-ucc . 結果如下:

數量 單價 總價
6 18 108
5 19 95
4 20 80
3 21 18
2 22 44
1 23 22

可以驗證,第6行, 計算方式為第二列減去第一列的值,即21-3=18,第三列得出的值與驗證是一致的。而第三列其他行的值 都是前兩列的乘積。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM