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.
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
Dies ist das Ausgangsverzeichnis. Wenn Sie jedoch vorerst python3 unter Neu oben rechts auswählen und öffnen,
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.
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.
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