[PYTHON] Grundeinstellung des Jupyter-Notizbuchs für Vim-Liebhaber ・ Beenden mit jj (jupyter-vim-Bindung)

Vorwort

Ich möchte tun, was der Titel sagt. Unsere anfängliche Entwicklungsumgebung enthält nichts und jj wird in der Regel unwissentlich angezeigt (ich denke, es gibt vim). Da es persönlich wünschenswert ist, dass Jupyter auch eine grundlegende vim-Umgebung hat, wird das Verfahren zum Einstellen dieser beschrieben. Die Unternehmensumgebung ist Linux, aber da ich einen Artikel mit einer Neuinstallation auf meinem Heim-PC schreibe, geht es um macOS. Es ist jedoch fast das gleiche.

Umwelt / Vorbereitung

Methode

Einführung der Jupyter-Vim-Bindung

Grundsätzlich denke ich, dass dies in Ordnung ist. Ich denke, es gibt andere, aber dieses Mal werde ich damit schreiben. Installieren Sie zuerst das Jupiter-Notebook mit Pip. Ich benutze sowieso Pandas.

pip install jupyter
pip install pandas

Befolgen Sie das auf Github beschriebene Verfahren für den Hirntod.

mkdir -p $(jupyter --data-dir)/nbextensions
cd $(jupyter --data-dir)/nbextensions
git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding
jupyter nbextension enable vim_binding/vim_binding

Wenn Sie jupyter an dieser Stelle öffnen, sehen Sie vorerst Folgendes.

cd
jupyter notebook
スクリーンショット 2020-04-30 15.16.52.png

Dies ist das Ausgangsverzeichnis. Wenn Sie jedoch vorerst python3 unter Neu oben rechts auswählen und öffnen, スクリーンショット 2020-04-30 15.18.41.png

Untitled.ipynb wird damit erstellt. Wenn es cremig ist, befindet es sich im normalen Modus und drücken Sie i, um den Einfügemodus aufzurufen. Einzelheiten finden Sie auf der Originalseite. Dies.

Wenn Sie es nicht einstellen, können Sie den Einfügemodus mit jj nicht verlassen und werden wütend. Bearbeiten Sie daher die Tastenbelegung.

Tastenbelegung bearbeiten

In diesem Artikel bearbeiten Sie mit nvim (bitte verwenden Sie einen geeigneten Editor). Es scheint, dass die Jupyter-Einstellung in ~ / .jupyter platziert ist. Erstellen oder bearbeiten Sie custom.js unter custom darin.

nvim ~/.jupyter/custom/custom.js

Speichern Sie beim Öffnen des Editors Folgendes. Dies ist die offiziell geschriebene Einstellung, mit Ausnahme der Einstellung, mit jj in den normalen Modus zurückzukehren.

// Configure CodeMirror Keymap
require([
  'nbextensions/vim_binding/vim_binding',   // depends your installation
], function() {
  CodeMirror.Vim.map("jj", "<Esc>", "insert"); // jj setting!
});

// Configure Jupyter Keymap
require([
  'nbextensions/vim_binding/vim_binding',
  'base/js/namespace',
], function(vim_binding, ns) {
  // Add post callback
  vim_binding.on_ready_callbacks.push(function(){
    var km = ns.keyboard_manager;
    // Allow Ctrl-2 to change the cell mode into Markdown in Vim normal mode
    km.edit_shortcuts.add_shortcut('ctrl-2', 'vim-binding:change-cell-to-markdown', true);
    // Update Help
    km.edit_shortcuts.events.trigger('rebuild.QuickHelp');
  });
});

Jetzt können Sie es ganz bequem bearbeiten. Sie sollten verstehen, wenn Sie es verwenden.

abschließend

In der Unternehmensumgebung war es aus Sicherheitsgründen schwierig, etwas zu installieren, aber ich habe es geschafft, Git zu bekommen. Wenn es eine andere Umgebung wird, werde ich es vorerst wie diesen Artikel tun. Für vimmer ist zumindest die Bewegung von jkhl ein wichtiges Thema, daher denke ich, dass es besser ist, nur jupyter-vim-Bindung zu setzen.

Recommended Posts

Grundeinstellung des Jupyter-Notizbuchs für Vim-Liebhaber ・ Beenden mit jj (jupyter-vim-Bindung)
Datenanalyse zur Verbesserung von POG 2 ~ Analyse mit Jupiter-Notebook ~
Füllen Sie die Breite des Jupyter-Notizbuchs, um den Browser zu füllen
Empfehlung von Jupyter Notebook, einer Codierungsumgebung für Datenwissenschaftler
Tastenkombination für Jupyter-Notebook
Verwenden von Graphviz mit Jupyter Notebook
Verwenden Sie pip mit Jupyter Notebook
Verwenden Sie Cython mit Jupyter Notebook
Spielen Sie mit Jupyter Notebook (IPython Notebook)
[Linux Nginx] Eine Sammlung von Befehlen, die in den Grundeinstellungen des Webservers verwendet werden
Git-Management von Jupyter Notebook (ipynb) Unterschieden in JupyterLab für einfache Anzeige
Protokolldatei mit Job (Notizbuch) von Cloud Pak for Data ausgeben