Вы можете назвать таблицу и передать ее в качестве аргумента исходному блоку, а исходный блок будет перебирать строки. Вот реализация в python
:
#+NAME: commands
| Keybinding | Command | Action |
|-----------------------+----------------------+--------------------------|
| {{{mod}}} + Return | i3-sensible-terminal | Opens a new terminal |
| {{{mod}}} + Shift + q | kill | Kills the focused window |
#+begin_src python :var cmds=commands :results output raw
for row in cmds:
print("bindsym {} exec --no-startup-id {} ;; {}".format(row[0].replace(' ', ''), row[1], row[2]))
#+end_src
Здесь я предположил, что пробелы в первом столбце следует исключать, а не заключать в кавычки строку, но вы можете легко это изменить.
А вот результаты запуска вышеуказанного исходного блока:
#+RESULTS:
bindsym {{{mod}}}+Return exec --no-startup-id i3-sensible-terminal ;; Opens a new terminal
bindsym {{{mod}}}+Shift+q exec --no-startup-id kill ;; Kills the focused window