Schreiben Sie ein einfaches Vim-Plugin in Python 3

Einführung

――Ich wollte mehr über Vim wissen, also habe ich ein Vim-Plugin in Python geschrieben (ich benutze Neovim ...)

Was ich gemacht habe

--Dieses https://github.com/shase/passgen.vim

Verzeichnisse, Dateien

.
├── autoload
│   └── passgen.vim
├── plugin
│   └── passgen.vim
└── python3
    └── passgen.py

Schöpfungsfluss

Schreiben Sie zunächst den Hauptprozess als gewöhnliches Python

python3/passgen.py


  
import secrets
import string


def passgenvim_generate_password(size=''):
   chars = string.ascii_letters + string.digits
   return ''.join(secrets.choice(chars) for x in range(int(size)))

Schreiben Sie Vimscript, das Python unter Autoload aufruft

autoload/passgen.vim


let s:save_cpo = &cpo
set cpo&vim

py3file <sfile>:h:h/python3/passgen.py
python3 import vim

function! passgen#passgen(size)
  python3 vim.command("call setline('.', '%s')" % passgenvim_generate_password(vim.eval('a:size')))
endfunction

let &cpo = s:save_cpo
unlet s:save_cpo

Rufen Sie die in Autoload geschriebene Funktion über den Befehl auf

plugin/passgen.vim


let s:save_cpo = &cpo
set cpo&vim

command! -nargs=1 PASSGEN call passgen#passgen(<f-args>)

let &cpo = s:save_cpo
unlet s:save_cpo

OK so

Ich habe es als Referenz verwendet

Recommended Posts

Schreiben Sie ein einfaches Vim-Plugin in Python 3
Schreiben Sie das Vim-Plugin in Python
Schreiben Sie eine einfache Giermethode in Python
Schreiben Sie ein super einfaches molekulardynamisches Programm in Python
Erstellen Sie ein Plug-In, das Python Doctest auf Vim ausführt (2)
Erstellen Sie ein Plug-In, um Python Doctest mit Vim (1) auszuführen.
Schreiben Sie eine Dichotomie in Python
Schreiben Sie A * (A-Stern) -Algorithmen in Python
Schreiben Sie ein Kreisdiagramm in Python
Schreiben Sie eine Suche mit Tiefenpriorität in Python
Implementierung eines einfachen Algorithmus in Python 2
Führen Sie einen einfachen Algorithmus in Python aus
Ein einfacher HTTP-Client, der in Python implementiert ist
Versuchen Sie, eine einfache Animation in Python zu zeichnen
Erstellen Sie eine einfache GUI-App in Python
Schreiben Sie eine kurze Eigenschaftsdefinition in Python
Schreiben Sie ein Caesar-Verschlüsselungsprogramm in Python
Richten Sie mit Python 3 einen einfachen HTTPS-Server ein
Erstellen Sie in 1 Minute eine Vim + Python-Testumgebung
Einfache Pub / Sub-Programmhinweise in Python
Erstellen Sie in Python ein einfaches Momentum-Investmentmodell
Teilen Sie Dateien beim Schreiben des Vim-Plugins in Python
Vim-Plug-In, das automatisch Python-Stile formatiert
Richten Sie einen einfachen SMTP-Server in Python ein
Machen Sie einen Screenshot in Python
Erstellen Sie ein Wox-Plugin (Python)
Erstellen Sie eine Funktion in Python
Erstellen Sie ein Wörterbuch in Python
Schreiben Sie die Beta-Distribution in Python
Schreiben Sie Python in Rstudio (reticulate)
Erstellen Sie einen einfachen Slackbot mit einer interaktiven Schaltfläche in Python
Erstellen Sie ein Lesezeichen in Python
Schreiben Sie in Python ein logarithmisches Histogramm auf die x-Achse
Einfache Regressionsanalyse mit Python
Zeichne ein Herz in Python
Einfacher IRC-Client mit Python
Eine einfache Möglichkeit, mehrere for-Schleifen in Python zu vermeiden
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Schreiben Sie einen tabellengesteuerten Test in C.
[Python] Verwalten Sie Funktionen in einer Liste
Erste einfache Regressionsanalyse in Python
Drücken Sie einen Befehl in Python (Windows)
Einfaches OAuth 2 mit Python (urllib + oauthlib)
Schreiben Sie ein JSON-Schema mit Python DSL
Erstellen Sie einen DI-Container mit Python
Formatieren Sie Python-Code automatisch mit Vim
Schreiben Sie einen HTTP / 2-Server in Python
Zeichnen Sie eine Streudiagrammmatrix mit Python
Schreiben Sie die AWS Lambda-Funktion in Python
Erstellen Sie eine Binärdatei in Python
Löse ABC036 A ~ C mit Python
Schreiben Sie Python-Liste schnell vim Tipps
Löse ABC037 A ~ C mit Python
Schreiben Sie einen supereinfachen TCP-Server
Zeichnen Sie ein CNN-Diagramm in Python
Erstellen Sie eine zufällige Zeichenfolge in Python
Einfache Gacha-Logik in Python geschrieben
Schreiben Sie einen C-Sprach-Unit-Test in Python