Vim: Support more commands in Live Preview Tables

Hi! The new table display looks cool, but it’s interfering with a lot of my vim workflows for navigating and editing the table. For example, doing 5k no longer goes up 5 lines, the cursor just stays there. Are there plans to fix this?
Alternatively, can I disable this UI?

5 Likes

move to help

2 Likes

You can switch to Source Mode (via command palette or the “…” menu).

1 Like

Hi! I am having the same issue for vim workflow, being able to use only keyboard for table is a big plus for me.

After the updates, I am experiencing these problems:
‘dd’ no longer deletes a row.
‘o’ is creating a new line in the same table cell.

It’s harder to navigate, is there a plan to fix this in the future release other than resorting to Source Mode? (I’d prefer to not use table at all in this case…)

Much appreciate your updates in advance.

1 Like

renamed and moved to feature requests

1 Like

Hi everyone! Just to say I’m having a similar issue and miss being able to easily copy/paste/insert/delete rows from tables via VIM bindings. the main commands I use a lot (similar to the above folks) are ‘y’ to copy a row, ‘dd’ to delete & copy, ‘p’ to paste an entire new row, and ‘o’ to open a new row.

Thanks to @CawlinTeffid for the reminder about source mode. :+1: That’s a helpful work-around until more complete VIM support can be restored.

Make no mistake: the new table features are indeed very cool (can we get column sorting next?) :wink:

It’ll be really great when we can use the ol’ VIM bindings the same way again.

Thanks for keeping Obsidian awesome :raised_hands:

2 Likes

Same issue here: vim bindings were lost for the tables. dd and o as noted above, and I’ve also seen . (repeat previous command) is not working as well.

This is a huge deal for me: I live in vim as a software developer, and “vim in obsidian” is what made Obsidian the right choice for me. I accepted the fact that I couldn’t migrate my macros and such, but fundamental vim is a must have… and dd, o, .` are about as fundamental as it gets.

Now that the team has started breaking the most basic of vim commands, I wonder what the next step will be? Is it really to be “Yes, vim, until we decide it’s not?”

Why is basic vim that used to work and now is broken a “feature request”?

And dd is not a navigation command… it’s basic editing.

renamed again for clarity.

Live Preview Tables is a new feature and doesn’t fully work with vim yet.
There was no real editing of tables in live preview. It was just a matter of flipping from the raw markdown to the rendered view of the whole table (and viceversa). This was a major pain point for a vast chunk of our userbase.

You can always use source mode if you want a vim experience.

First off, thanks for clarifying the request. That helps.

Hmm… I think I’ve been using live preview for quite a while, but when in tables, it used to switch… to what looked like markdown, so I guess that’s what you’re calling “source mode”. OK. I get that the new approach is easier for non-vim folks. It was just a shock to me.

I do hope this is not the beginning of making Vim a second-class citizen. Having to remember “parts of Vim don’t work here” would make things frustrating.

It’s been absolutely wonderful having a real word-processing program that speaks Vim.

1 Like

This explains Obsidian’s views and modes: Edit and preview Markdown - Obsidian Help

Thanks for all the feedbacks.

I talked to the discord mod about this a month back before my comments and he clearly suggested this was a bug.

I agree with @jesii7 100%.

Obviously there was real VIM editing of tables in live preview before the new table were introduced, now I am stuck between the following options:

  1. abandon VIM flow completely to use new table in live preview
  2. abandon live preview completely to use VIM flow with source code table (plain md)
  3. abandon table completely to use VIM and live preview, but my old notes are rendered unmodifiable unless I switch to source mode.

(Personally I choose number 3)

Either way this is clearly counter productive and obsidian should provide some backward compatibility when they introduce the new table, mainly
a button to select new/old table in live preview.

1 Like

There is a feature request for this already, you can add your voice to it.

Here are some additional limitations I’m running into that haven’t been mentioned:

Pressing ‘w’ and ‘b’ does not move to the cursor the next / previous column (even though ‘l’ and ‘h’ do).

Selection started with ‘v’ or ‘shift+v’ get canceled once you move to a different cell. It would be nice to be able to select multiple rows in line select mode, or multiple cells with normal select mode.

I do think Live Preview Tables are awesome, even with the current Vim limitations.

Steps to reproduce

  1. Open the sandbox vault.
  2. Insert a table in any note.
  3. Add some text to the first cell of the table.
  4. Go to the settings and enable vim key bindings.
  5. In normal mode with the cursor on the last character of the text in the first cell, press x.

Before

Did you follow the troubleshooting guide? [Y/N]

Y

Expected result

The last character in the cell should be deleted and the cursor should move the blank position beyond it, as if you had pressed h when in the next cell.

Expected

Actual result

The character is not deleted and the cursor moves to the next cell.

Actual

Environment

SYSTEM INFO:
Obsidian version: v1.5.3
Installer version: v1.4.13
Operating system: Windows 10 Home 10.0.19045
Login status: not logged in
Insider build toggle: off
Live preview: on
Base theme: adapt to system
Community theme: none
Snippets enabled: 0
Restricted mode: on

RECOMMENDATIONS:
none

1 Like

I don’t know how to keep this alive without a useless comment like the one I’m writing now. My reply does not improve the conversation, but I don’t think this should close just because there’s no conversation left to have about it.

This topic will close 3 months after the last reply.

For some reason there was a timer associated with this thread. I removed it now.

1 Like