Toggle vim mode

Use case or problem

When activating the vim plugin, I want to activate and de-activate it via palette/key command, rather than it being the default editor mode until it’s disabled as a plugin.

Proposed solution

toggle vim mode palette function, similar to togglevim in Visual Studio Code. Note that there should be a default state set when starting Obsidian, such as vim off and only on when activated, unlike togglevim that always starts with vim mode on.

Current workaround (optional)

Gave up on vim as I don’t want to run it all the time, only to do regex changes as Obsidian does not have search/replace with regex.

Related feature requests (optional)

7 Likes

I agree with this! I use vim mode 99% percent of the time in Obsidian. But there are certain community plugins and aspects of Obsidian core features that don’t work great with vim-mode on.

I’d also love to have a quick toggle in the command palette. Even better if it can also be a shortcuts.

I know that a lot of people accidently turn on vim and get confused, so this could be a feature that is only available after turning off the “child lock” in the settings

1 Like

Yes, I am in support for it, It will be another reason for me to learn vim. :slight_smile:

1 Like

Hey there! I created a solution for you via a Community Plugin! You can check it out here. It provides you with a new Command to toggle the Vim Mode on or off.

3 Likes

thank you so much for making that plugin. I’ve never clicker quicker on a link :laughing: ! Truly appreciate it.


I couldn’t find it in the Community plugins is it not available yet?

I can still download it manually, but to keep it easily updated let me know if it should be found in the Community plugins search.

Thanks!

Until the plugin will be submitted and released “officially” you could watch plugin releases in GitHub
image

I do this for updates of my favourite plugins even after they are merged officially in the obsidian repo, this way I have the fastest updates :slight_smile:

2 Likes

awesome thanks for the pro-tip!

If there is so much demand for it i might release it officially, i just thought it wont be used by many. Also i found quite a few bugs today (for example it wont properly work with multiple panes open), once i fix them i will submit it!

2 Likes

Absolutely, please release it! I’m sure I’m not the only one that really needs this. Specially with the new confirmation setting to turn on vim mode (to avoid issues for non-users) this plugin is even more essential for those of us who need to toggle vim-mode frequenty.

My main reason to need to toggle vim-mode is for some things that are not yet fully comaptible for vim-mode. Some plugins, and using the [[ to create a link around [[some selected text]]

Thanks a lot!

The Bugs are fixed, it works fine with multiple panes now! I thought about it a little more and I think I will not add it to the Community Plugins, because the Plugin completely relies on the CodeMirror 5 methods (CodeMirror ist the Editor Obsidian uses) and it will get replaced pretty soon by CodeMirror 6. Once that happens I might rewrite the Plugin and also add it to the Community Plugins!

In the meantime you can manually download it on GitHub. The post by @echej also explains how to watch a Repository: here

2 Likes

Hello @phibr0, is your plugin supposed to work with latest Obsidian version on Windows (0.13.14) ? If not, are there any plans to support it ?

Thanks !

1 Like

that’d be incredible, as far as I know the vimrc obsidian plugin doesn’t work with live preview! I’m happy to see I’m not alone really wanting this plugin to work with live preview. Let us know your thoughts on it @phibr0 thank you for your great work!

Thanks for the info @santi ! I can’t figure out yet how to use exclusively vim mode, so this toggle would help a lot :wink:

Do you still have issues with the Vimrc plugin in live preview? AFAIK the latest version is supposed to fix all major known issues for everybody.
There are still features that don’t work (mostly surround and its derivatives), but almost everything else does.