3.1 KiB
title | categories | excerpt | type | comments | commentsID | ||
---|---|---|---|---|---|---|---|
Use Vim as a Python IDE |
|
A general guide for using SpaceVim as Python IDE, including layer configuration, requiems installation and usage. | BlogPosting | true | Use Vim as a Python IDE |
Blogs >> 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 linting
- Import packages
- Jump to test file
- running code
- Code formatting
- REPL
- Debug
Enable language layer
To add python language support in SpaceVim, you need to enable the lang#python
layer. Press SPC f v d
to open
SpaceVim configuration file, and add following configuration:
[[layers]]
name = "lang#python"
for more info, you can read the lang#python layer documentation.
Code completion
lang#python
layer will load the jedi plugin automatically, unless overriden in your init.toml
.
The completion menu will be opened as you type.
Syntax linting
- neomake - Asynchronous linting and make framework for Neovim/Vim
Import packages
When edit python file, you can import the package automatically, remove unused package and format package list.
pip install --user isort
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"}
}
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 windows
will be openen, the output of the script will be shown in this windows.
It is running asynchronously, and will not block your vim.
Code formatting
- 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: