search
HomeSystem TutorialLINUXPython-mode: Vim plugin for developing Python applications in the Vim editor

Python-mode: Vim plugin for developing Python applications in the Vim editor

Mar 17, 2024 pm 09:10 PM
linuxlinux tutorialRed Hatlinux systemlinux commandlinux certificationred hat linuxlinux video

Python-mode is a Vim plug-in that enables you to write Python code faster in the Vim editor using various libraries including pylint, rope, pydoc, pyflakes, pep8, autotopep8, pep257 and mccable , these libraries provide some coding functions, such as static analysis, feature reconstruction, folding, completion and documentation, etc.

Python-mode:在 Vim 编辑器中开发 Python 应用的 Vim 插件

Recommended reading: How to use the Bash-Support plug-in to turn the Vim editor into an IDE for writing Bash scripts

This plug-in contains all the features you can use to develop Python applications in the Vim editor.

Features of Python-mode

It contains the following features worth mentioning:

  • Supports Python 2.6 to Python 3.2 versions
  • Syntax Highlighting
  • Provide virtualenv support
  • Supports Python-style folding
  • Provides enhanced Python indentation
  • Ability to run Python code in Vim
  • Ability to add/delete breakpoints
  • Support Vim actions and operators for Python objects
  • Ability to inspect code while running (pylint, pyflakes, pylama...)
  • Support automatic repair of PEP8 errors
  • Allow searching in Python documentation
  • Support code refactoring
  • Support strong code completion
  • Support definition jump

In this tutorial, I will explain how to set up Python-mode for Vim installation in Linux to develop Python applications in the Vim editor.

How to install Python-mode for Vim in Linux system

Install Pathogen first (it makes installing plugins super easy, and the run files are in a private directory), making it easier to install Python-mode

Run the following command to obtain the pathogen.vim file and the directory it requires:

# mkdir -p ~/.vim/autoload ~/.vim/bundle && /
# curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

Then add the following content to the ~/.vimrc file:

execute pathogen#infect()
syntax on
filetype plugin indent on

After installing pathogen, you can put the Python-mode plug-in into the ~/.vim/bunble directory as follows:

# cd ~/.vim/bundle
# git clone https://github.com/klen/python-mode.git

Then rebuild helptags in Vim like this:

:helptags

You need to enable filetype-plugin (:help filetype-plugin-on) and filetype-indent (:help filetype-indent-on) to use Python-mode.

Installing Python-mode in Debian and Ubuntu

Another way to install Python-mode in Debian and Ubuntu is to use a PPA, like below

$ sudo add-apt-repository https://klen.github.io/python-mode/deb main
$ sudo apt-get update
$ sudo apt-get install vim-python-mode

If you encounter the message: “The following signatures couldn’t be verified because the public key is not available”, please run the following command:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B5DF65307000E266

Now, use vim-addon-manager to enable Python-mode:

$ sudo apt install vim-addon-manager
$ vim-addons install python-mode
Customizing Python-mode in Linux

If you want to override the default key bindings, you can redefine them in the .vimrc file, such as:

" Override go-to.definition key shortcut to Ctrl-]
let g:pymode_rope_goto_definition_bind = "<c->"
" Override run current python file key shortcut to Ctrl-Shift-e
let g:pymode_run_bind = "<c-s-e>"
" Override view python doc key shortcut to Ctrl-Shift-d
let g:pymode_doc_bind = "<c-s-d>"
</c-s-d></c-s-e></c->

Note that by default, Python-mode uses Python 2 for syntax checking. You can enable Python 3 syntax checking by adding the following line to your .vimrc file.

let g:pymode_python = 'python3'

You can find more configuration options in the Python-mode GitHub repository: https://github.com/python-mode/python-mode

That’s all. In this tutorial, I show you how to configure Vim using Python-mode in Linux. Please remember to share your thoughts with us via the feedback form below.


About the Author:

Aaron Kili is a Linux and F.O.S.S enthusiast, Linux sysadmin, web developer, and now content creator at TecMint who loves working with computers and believes in sharing knowledge.


The above is the detailed content of Python-mode: Vim plugin for developing Python applications in the Vim editor. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:Linux就该这么学. If there is any infringement, please contact admin@php.cn delete
How does process management differ between Linux and Windows?How does process management differ between Linux and Windows?May 04, 2025 am 12:04 AM

The main difference between Linux and Windows in process management lies in the implementation and concept of tools and APIs. Linux is known for its flexibility and power, relying on kernel and command line tools; while Windows is known for its user-friendliness and integration, mainly managing processes through graphical interfaces and system services.

What are the typical use cases for Linux versus Windows?What are the typical use cases for Linux versus Windows?May 03, 2025 am 12:01 AM

Linuxisidealforcustomization,development,andservermanagement,whileWindowsexcelsineaseofuse,softwarecompatibility,andgaming.Linuxoffershighconfigurabilityfordevelopersandserversetups,whereasWindowsprovidesauser-friendlyinterfaceandbroadsoftwaresupport

What are the differences in user account management between Linux and Windows?What are the differences in user account management between Linux and Windows?May 02, 2025 am 12:02 AM

The main difference between Linux and Windows in user account management is the permission model and management tools. Linux uses Unix-based permissions models and command-line tools (such as useradd, usermod, userdel), while Windows uses its own security model and graphical user interface (GUI) management tools.

How does the command line environment of Linux make it more/less secure than Windows?How does the command line environment of Linux make it more/less secure than Windows?May 01, 2025 am 12:03 AM

Linux'scommandlinecanbemoresecurethanWindowsifmanagedcorrectly,butrequiresmoreuserknowledge.1)Linux'sopen-sourcenatureallowsforquicksecurityupdates.2)Misconfigurationcanleadtovulnerabilities.Windows'commandlineismorecontrolledbutlesscustomizable,with

How to Make a USB Drive Mount Automatically in LinuxHow to Make a USB Drive Mount Automatically in LinuxApr 30, 2025 am 10:04 AM

This guide explains how to automatically mount a USB drive on boot in Linux, saving you time and effort. Step 1: Identify Your USB Drive Use the lsblk command to list all block devices. Your USB drive will likely be labeled /dev/sdb1, /dev/sdc1, etc

Best Cross-Platform Apps for Linux, Windows, and Mac in 2025Best Cross-Platform Apps for Linux, Windows, and Mac in 2025Apr 30, 2025 am 09:57 AM

Cross-platform applications have revolutionized software development, enabling seamless functionality across operating systems like Linux, Windows, and macOS. This eliminates the need to switch apps based on your device, offering consistent experien

Best Linux Tools for AI and Machine Learning in 2025Best Linux Tools for AI and Machine Learning in 2025Apr 30, 2025 am 09:44 AM

Artificial Intelligence (AI) is rapidly transforming numerous sectors, from healthcare and finance to creative fields like art and music. Linux, with its open-source nature, adaptability, and performance capabilities, has emerged as a premier platfo

5 Best Lightweight Linux Distros Without a GUI5 Best Lightweight Linux Distros Without a GUIApr 30, 2025 am 09:38 AM

Looking for a fast, minimal, and efficient Linux distribution without a graphical user interface (GUI)? Lightweight, GUI-less Linux distros are perfect for older hardware or specialized tasks like servers and embedded systems. They consume fewer res

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools