Таблиці - Emacs та org-mode

На хабре вже є пости про дивовижні можливості org-mode — раз, два і три. У цьому екскурсі я хочу розповісти ще про одну можливість, з допомогою якої можна користуватися таблицями в текстовому редакторі (так, я про Emacs) без болю і приниження. А в org-mode таблиці досить прості і зручні:

| ip | description | users |
|--------------+----------------------+-------|
| 192.168.0.11 | Бухгалтерія | 2 |
| 192.168.0.12 | Касса1 | 1 |
| 192.168.0.13 | Касса2 | 1 |
| 192.168.0.14 | Приймальна | 2 |
|--------------+----------------------+-------|
| | Всього користувача=> | 6 |

Отже, поїхали: активуємо org-mode виконавши M-x org-mode RET або відкривши файл .org в emacs.

1. Створення і навігація по таблиці
Таблиці створюються просто: C-c | (shift + \ в англійській розкладці). Цієї ж комбінацією можна перетворити виділення тексту в таблицю.
На запит 'Table size Columns x Rows [e.g. 5x2]:' в минибуфере вибираємо розмір таблиці — і emacs малює нам симпатичну таблицю ASCII:

| | | |
|---+---+---|
| | | |
| | | |
| | | |

Переміщення між комірками — Tab, Shift+Tab, RET. Оновлення та вирівнювання таблиці відбувається при кожному переміщенні або -. Заповнена таблиця виглядає приблизно так:

| ip | description | users |
|--------------+----------------------+-------|
| 192.168.0.11 | Бухгалтерія | 2 |
| 192.168.0.12 | Касса1 | 1 |
| 192.168.0.13 | Касса2 | 1 |

2. Редагування структури таблиці
Emacs автоматично додає рядок, якщо натиснути Tab/RET в останній комірці.
Додавання стовпця виглядає інтуїтивно, якщо розуміти додавання і видалення стовпців як розширення/звуження таблиці:
Видалити стовпець — M-S-Left, додати — M-S-Right
Видалити рядок — M-S-Up, додати — M-S-Down

Переміщення колонки вліво/вправо — M-Left / M-Right. За аналогією, переміщення рядка вверх/вниз: M-Up/ M-Down

3. Оформлення та вирівнювання таблиці
Якщо у початку першої комірки поставити мінус, emacs домалює горизонтальну лінію:

| ip | description | users | | ip | description | users |
|--------------+-------------+-------| |--------------+-------------+-------|
| 192.168.0.11 | Бухгалтерія | 2 | | 192.168.0.11 | Бухгалтерія | 2 |
| 192.168.0.12 | Касса1 | 1 | | 192.168.0.12 | Касса1 | 1 |
| 192.168.0.12 | Касса1 | 1 | | 192.168.0.12 | Касса1 | 1 |
| 192.168.0.14 | Приймальна | 2 | | 192.168.0.14 | Приймальна | 2 |
|- | | | => |--------------+-------------+-------|

Вирівнювання таблиці відбувається автоматично, але можна і вказати фіксовану ширину стовпця — задавши число трикутних дужках у будь-якій комірці цього стовпця:

| ip | description | users | | ip | description | users |
|--------------+---------------------------------+-------| |--------------+----------------------+-------|
| 192.168.0.11 | Бухгалтерія | 2 | | 192.168.0.11 | Бухгалтерія | 2 |
| 192.168.0.12 | Касса1 | 1 | | 192.168.0.12 | Касса1 | 1 |
| 192.168.0.13 | Касса2 | 1 | | 192.168.0.13 | Касса2 | 1 |
| 192.168.0.14 | Приймальна | 2 | | 192.168.0.14 | Приймальна | 2 |
|--------------+---------------------------------+-------| |--------------+----------------------+-------|
| | Число користувачів комп'ютерів | | => | | Число користувача=> | |
| | <20> | | | | <20> | |

Занадто довгі осередку коротшають і позначаються знаком =>, такі комірки можна редагуватиC-c ` в окремому буфері, після закінчення редагування — натиснути C-c.

4. Функції в таблиці
Уваги заслуговує, мабуть, тільки підсумовування: C-c + підсумовує всі числа в колонці, а y вставляє результат в поточну комірку:

| ip | description | users |
|--------------+----------------------+-------|
| 192.168.0.11 | Бухгалтерія | 2 |
| 192.168.0.12 | Касса1 | 1 |
| 192.168.0.13 | Касса2 | 1 |
| 192.168.0.14 | Приймальна | 2 |
|--------------+----------------------+-------|
| | Число користувача=> | 6 |
| | <20> | |

Висновок
Описані можливості покривають більшість базових потреб у таблицях. Після цього екскурсу можете сміливо видаляти свій Calc/Excel і повністю пересідати на Emacs ;)

Ще можна почитати по темі мануал по таблиць org-mode.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.