Skip to content

ok97465/spyder_okvim

Repository files navigation

Spyder Okvim

Linux tests Macos tests Window tests codecov

Spyder Plugin for executing Vim commands inside the code editor. This repository is reusing some codes of spyder-ide/spyder-vim

Don't make an issue to spyder github after install okvim.

If you have a problem after installing this, please retry after uninstalling okvim.

Known Issues

  • Okvim is not working when the spyder editor is undocked from mainwindow.

Overview

This plugin supports movements.

  • hjkl, ^u, %, iw, i(, /, n, N, ;, ...

This plugin supports a combination of operators and motions

  • diw, di(, c%, c/foo, cn, ygg, d2w, 2d2W ...

This plugin supports spyder command.

  • run selection, formatting, toggle break, toggle comment, ...

This plugin support macro(experimental).

Movements Combination Spyder command
movement gif combination gif spyder cmd gif

Installation

To install this plugin, you can install the package locally using pip as it follows.

pip install -U .

If spyder-vim is installed, you need to uninstall it.

Modes

The following modes are supported:

  • Normal
  • Visual
  • Visual Line

Actions

The following actions are supported:

  • x, s, r
  • C, D, S
  • dd, cc, yy
  • <<, >>
  • p, P
  • d{motion}, c{motion}
  • <{motion}, >{motion}
  • gu{motion}, gU{motion} g~{motion}, ~
  • u, ^R
  • J
  • .

Motions

The following motions are supported:

  • hjkl
  • 0, ^, $
  • w, W, b, e
  • iwW, i()[]{}bB, i'"
  • G, g
  • ^D, ^U, ^F, ^B
  • HLM
  • %
  • f, F, t, T, ;, ,
  • /, N, n
  • Enter, Space, Backspace
  • easymotion

Vim keys

  • ^A : Add [count] to number
  • ^X : Subtract [count] to number
  • K : Inspect current object
  • gd : Go to definition.
  • gt, gT : Cycle to next/previous file.
  • zz, zt, tb : Cursor line to some locations of screen.
  • ZZ : Save and close current file.
  • q, @: macro

Special keys

  • <leader>f : autoformatting
  • <leader>b : Toggle break point
  • <leader>r : run selected text or current line in console.
  • <leader>enter : run cell and advance
  • <leader>p : spyder switcher
  • <leader>s : spyder symbol switcher
  • [d : goto previous warning/error
  • ]d : goto next warning/error
  • gc{motion} : toggle comment (support visual mode)
    • gcc : toggle comment of current line

Vim Surround

  • surroundings : '"()[]{}bB

The following action are supported:

  • ys{motion}{surroundings} in normal mode: add surroundings in pairs.
  • ds{surroundings} in normal mode: delete surroundings in pairs.
  • cs{surroundings}{surroundings} in normal mode: change surroundings in pairs.
  • S{surroundings} in visual mode: add surroundings in pairs.

Fuzzy path finder

The shortcut to invoke the fuzzy path finder is Ctrl+p. You can use ^p, ^n, ^f, ^b, ^u, ^d to navigate the path list.

fuzzy path finder

Config page

config page

Easymotion

easymotion

You can use EasyMotion commands as an argument for d, c, or any other command that takes motion as an argument.

Motion Command Description
<leader><leader> w Start of word forwards
<leader><leader> b Start of word backwards
<leader><leader> j Start of line forwards
<leader><leader> k Start of line backwards
<leader><leader> f <char> Find character forwards
<leader><leader> F <char> Find character backwards

Search 2ch(like vim-sneak)

Jump to any location specified by two characters.

It works with multiple lines, operators (including repeat .) motion-repeat (; and ,), visual mode.

This search is invoked with s by exactly two characters. This search is invoked with operators via z (because s is taken by vim surround)

After searching for two characters, if there are the characters in another group, a comment is displayed around the group. sneak

About

A plugin for Spyder to enable Vim keybindings

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages