DEV Community

SpaceVim
SpaceVim

Posted on • Originally published at spacevim.org on

4 2

Use Vim as a Python IDE

Use Vim as a Python IDE

This is a general guide for using SpaceVim as a python IDE, including layer configuration and usage. Each of the following sections will be covered:

  • Enable language layer
  • Code completion
  • Syntax lint
  • Import packages
  • Jump to test file
  • running code
  • Code formatting
  • REPL
  • Debug <!-- vim-markdown-toc --> ### Enable language layer

To add python language support in SpaceVim, you need to enable lang#python layer. Just press SPC f v d to openSpaceVim configuration file, and add following configuration:

[[layers]]
  name = "lang#python"

Enter fullscreen mode Exit fullscreen mode

for more info, you can read the lang#python layer documentation.

Code completion

Base on which completion engine is used, lang#python layer load the jedi plugin automatically.The completion menu will be opened as you type.

complete python code

Syntax lint

  1. neomake - Asynchronous linting and make framework for Neovim/Vim

I am maintainer of javac maker in neomake, the javac maker support maven project, gradle project or eclipse project.also you can set the classpath.

Import packages

When edit python file, you can import the package automatically, remove unused package and format package list.

pip install --user isort

Enter fullscreen mode Exit fullscreen mode

Jump to test file

SpaceVim use vim-project to manager the files in a project, you can add a .projections.json to the root of your project with following content:

{
  "src/*.py": {"alternate": "test/{dirname}/{basename}Test.py"},
  "test/**/Test*.py": {"alternate": "src/{}.py"}
}

Enter fullscreen mode Exit fullscreen mode

with this configuration, you can jump between the source code and test file via command :A

running code

To run current script, you can press SPC l r, and a split windowswill be openen, the output of the script will be shown in this windows.It is running asynchronously, and will not block your vim.

code runner

Code formatting

  1. neoformat - A (Neo)vim plugin for formatting code.

For formatting java code, you also nEed have uncrustify or astyle in your PATH.BTW, the google’s java formatter also works well with neoformat.

REPL

you need to install jdk9 which provide a build-in tools jshell, and SpaceVim use the jshell as default inferior REPL process:

REPl-JAVA

Debug

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →