表格操作占用快捷键过多的解决方案

表格操作占用快捷键过多的解决方案

前一阵子 Obsidian 对表格进行了一大波优化,表格的编辑体验有了一次大的改善,但同时也带来了一些新的问题,比如:快捷键不够用了……

数量众多的表格相关操作都放在了 Obsidian 命令中,如果不设快捷键,每次操作都要输入命令,怪麻烦的。但如果给它们设置了快捷键,又会出现快捷键不够用的情况。

对此,有两种解决方案:

用 Quicker 动作解决

  • 动作信息
  • 动作:Obsidian Table Vim
  • 简介:加强 ob 插入表格的功能,解决 ob 表格功能太多,快捷键不够用的问题。

该动作把快捷键分为了两步操作:

  1. 运行动作;
  2. 按下功能对应的按键,比如:
    1. 删除当前列:C
    2. 删除当前行:R
    3. 新键 3x3 的表格:33
    4. ……

具体操作介绍,可在动作网页中看到,非常简单。如果想要全键盘操作,还可为该动作设置一个快捷键,比如 Ctrl+T

该方法只适用于同时使用 Obsidian 和 Quicker 的用户。

用 Vim 解决

该方法只对使用 Vim 模式的用户有效,而且要借助插件 Vimrc Support

将下列代码放入文件 .obsidian.vimrc 中即可:

" =============
" === Table ===
" =============

" 插入表格
exmap new_table obcommand editor:insert-table
nnoremap tt :new_table
" 删除当前列
exmap table_delete_column obcommand editor:table-col-delete
nnoremap tc :table_delete_column
" 删除当前行
exmap table_delete_row obcommand editor:table-row-delete
nnoremap tr :table_delete_row
" 在左侧新增列
exmap table_add_before_column obcommand editor:table-col-before
nnoremap tH :table_add_before_column
" 在右侧新增列
exmap table_add_after_column obcommand editor:table-col-after
nnoremap tL :table_add_after_column
" 在上方新增行
exmap table_add_before_row obcommand editor:table-row-before
nnoremap tK :table_add_before_row
" 在下方新增行
exmap table_add_after_row obcommand editor:table-row-after
nnoremap tJ :table_add_after_row
" 将当前列左移
exmap table_move_before_column obcommand editor:table-col-left
nnoremap th :table_move_before_column
" 将当前列右移
exmap table_move_after_column obcommand editor:table-col-right
nnoremap tl :table_move_after_column
" 将当前行上移
exmap table_move_up_row obcommand editor:table-row-up
nnoremap tk :table_move_up_row
" 将当前行下移
exmap table_move_down_row obcommand editor:table-row-down
nnoremap tj :table_move_down_row
" 左对齐
exmap table_align_left_column obcommand editor:table-col-align-left
nnoremap t<A-l> :table_align_left_column
" 右对齐
exmap table_align_right_column obcommand editor:table-col-align-right
nnoremap t<A-r> :table_align_right_column
" 居中对齐
exmap table_align_center_column obcommand editor:table-col-align-center
nnoremap t<A-c> :table_align_center_column

下面是各按键对应的功能:

命令用处
tt在当前位置插入新的表格
tc删除当前列
tr删除当前行
th将当前列左移
tj将当前行下移
tk将当前行上移
tl将当前列右移
tH在左侧新增列
tJ在下侧新增行
tK在上侧新增行
tL在右侧新增列
t<A-l>将当前列居左对齐
t<A-r>将当前列居右对齐
t<A-c>将当前列居中对齐

讨论

若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。



反馈交流

其他渠道

版权声明