Es ist zu mühsam, Japanisch in Vims Python3 anzuzeigen.

Hinweis: Der folgende Inhalt wurde nur mit Kaori Ya Version Vim 7.3.865 (Version 2013/03/17) bestätigt.

Wenn in der Python 3-Oberfläche von Vim eine Zeichenfolge in der ersten Zeile des Puffers angezeigt wird, wenn die Zeichenfolge "abcde" ist

py3 text = "abcde"
py3 import vim
py3 vim.eval('setline(1, "{}")'.format(text))

Ist in Ordnung, aber wenn Sie eine japanische Zeichenfolge anzeigen möchten, z. B. "aiueo",

py3 text = "\u3042\u3044\u3046\u3048\u304A"  # == "AIUEO"
py3 import vim
py3 vim_encoding = vim.eval("&encoding")
py3 vim.eval('setline(1, "{}")'.format(''.join([r"\x{:02x}".format(x) for x in text.encode(vim_encoding)])))

Ich musste. Es ist ein Ärger.

Der Grund, warum die Anzeige von Japanisch so lange dauert, liegt in der Angabe von vim.eval () der Python 3-Oberfläche.

Die Python 3-Schnittstelle vim.eval () akzeptiert nur Python-Zeichenfolgen als Argumente. Es handelt sich jedoch um eine Mystery-Spezifikation, die diese Zeichenfolge mit UTF-8 codiert und anschließend mit Vim-Codierung decodiert. Es ist.

Wenn Sie daher eine japanische Zeichenfolge übergeben möchten, codieren Sie die Python-Zeichenfolge (Beispiel: "A") mit Vim-Codierung (Beispiel: b '\ x82 \ xa0') und anschließend mit hexadezimaler Escapezeichenfolge. (Beispiel: '\\ x82 \\ xa0'), konvertieren Sie es dann in eine Zeichenfolge in doppelten Anführungszeichen und übergeben Sie es an vim.eval () (Beispiel: 'setline (1, "\\ x82 \") Ich musste mir die Mühe machen, \ xa0 ") ').

Vielleicht gibt es einen einfacheren Weg. Wenn jemand es weiß, lass es mich wissen. m (__) m

Recommended Posts

Es ist zu mühsam, Japanisch in Vims Python3 anzuzeigen.
So zeigen Sie Python-Japanisch mit Lolipop an
Wie man mit Python-Flüchen Japanisch eingibt
[Python] Umgang mit japanischen Zeichen mit openCV
Erklärender Text, der mit Python> Funktion> Docstrings> help () / .__ doc__ angezeigt werden soll
Stellen Sie mit Python eine Verbindung zu BigQuery her
Senden Sie japanische Post mit Python3
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Japanische morphologische Analyse mit Python
Schalten Sie Python mit Alternativen auf 2.7 um
Schreiben Sie mit Python in csv
Es war zu einfach, eine vorhandene Datenbank mit Django zu verwenden
Ich habe verschiedene Methoden ausprobiert, um japanische Post mit Python zu senden
Versuchen Sie, verschiedene Informationen anzuzeigen, die für das Debuggen mit Python nützlich sind
[Ev3dev] So zeigen Sie ein BMP-Bild mit Python auf dem LCD an
Es ist Halloween, also werde ich versuchen, es mit Python zu verstecken
Überlassen Sie die mühsame Verarbeitung Python
Wie man Japanern nicht entgeht, wenn man mit json in Python umgeht
Python: So verwenden Sie Async mit
Link, um mit Python zu beginnen
[Python] Mit Python in eine CSV-Datei schreiben
Schön dich mit Python zu treffen
Versuchen Sie, Facebook mit Python zu betreiben
Ausgabe in eine CSV-Datei mit Python
Python 2.7 Fügen Sie Dash.app japanische Dokumentation hinzu
MP3 → WAV-Konvertierung mit Python
Schwanzrekursion mit Python2 durchführen
Erste Schritte mit Python
Was tun mit PYTHON Release?
Versuchen Sie, Google Map und Geography Map mit Python anzuzeigen
Wirf etwas mit Python in Kinesis und stelle sicher, dass es drin ist
Sprechen Sie japanischen Text mit OpenJTalk + Python
So berechnen Sie das Datum mit Python
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Mit Python 3 einfach auf Twitter posten
Ich möchte mit Python debuggen
Umgang mit Japanisch mit Python
[Es ist noch nicht zu spät, Python ab 2020 zu lernen] Teil 3 Python Language Basic (1)
Anzeigen von Legendenmarkierungen in einem mit Python 2D-Plot
(Mac) Anzeigen auf Japanisch mit Matplotlib und Seaborn bei MacOS Sierra
Es ist neuer, aber ich wollte die BMI-Berechnung mit Python ausprobieren.
[Python] Heatmap im Kalenderstil (mit Feiertagsanzeige)
Berechnen Sie das Standardgewicht und zeigen Sie es mit Python an
Versuchen Sie, Farbfilme mit Python zu reproduzieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Konvertieren Sie Memos sofort mit Python 2to3
Memo, um nach KPI mit Python zu fragen
Geben Sie Farbzeichen mit Python zu hübsch aus
Einführung in das Auffüllen von Python-Bildern Auffüllen von Bildern mit ImageDataGenerator
Python-Protokoll mit GAE an die Konsole ausgeben
Zeigen Sie Python 3 im Browser mit MAMP an
Konvertieren Sie Excel-Daten mit Python in JSON
Konvertiere Hiragana mit Python (Beta) in Romaji
Fraktal zum Erstellen und Spielen mit Python
Laden Sie japanische Aktienkursdaten mit Python herunter
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
So arbeiten Sie mit BigQuery in Python
Hinweise zur japanischen OCR mit Python