Je veux faire ce que dit le titre. Notre environnement de développement initial ne contient rien, et jj a tendance à être affiché sans le savoir (je pense qu'il y a vim). Comme il est personnellement souhaitable que Jupyter dispose également d'un environnement vim de base, la procédure de configuration est décrite. L'environnement de l'entreprise est Linux, mais comme j'écris un article sur mon PC personnel avec une installation propre, il s'agit de macOS. Cependant, c'est presque la même chose.
Fondamentalement, je pense que this est bien. Je pense qu'il y en a d'autres, mais cette fois j'écrirai avec ceci. Tout d'abord, installez le notebook jupyter avec pip. J'utilise quand même des pandas.
pip install jupyter
pip install pandas
Suivez la procédure écrite sur github pour la mort cérébrale.
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
Pour le moment, si vous ouvrez jupyter à ce stade, vous verrez quelque chose comme ce qui suit.
cd
jupyter notebook
Ceci est le répertoire personnel, mais pour le moment, si vous sélectionnez python3 dans Nouveau en haut à droite et que vous l'ouvrez,
Untitled.ipynb est créé avec cela. Lorsqu'il est crémeux, il est en mode normal et appuyez sur i pour passer en mode insertion. Voir la page originale pour plus de détails. Ceci.
Si vous ne le définissez pas, vous ne pourrez pas quitter le mode d'insertion avec jj et vous fâcher, alors modifiez le mappage de touches.
Dans cet article, éditez avec nvim (veuillez utiliser un éditeur approprié). Il semble que le paramètre jupyter soit placé dans ~ / .jupyter. Créez ou modifiez custom.js sous custom.
nvim ~/.jupyter/custom/custom.js
Lorsque l'éditeur s'ouvre, enregistrez les éléments suivants. C'est le paramètre officiellement écrit, à l'exception du paramètre pour revenir au mode normal avec jj.
// 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');
});
});
Vous pouvez maintenant le modifier assez confortablement. Vous devez comprendre si vous l'utilisez.
Dans l'environnement de l'entreprise, il était difficile d'installer quelque chose pour des raisons de sécurité, mais j'ai réussi à obtenir git. Quand cela deviendra un autre environnement, je le ferai comme cet article pour le moment. Pour vimmer, au moins le mouvement de jkhl est une question vitale, donc je pense qu'il est préférable de définir uniquement jupyter-vim-binding.
Recommended Posts