2017-01-09 21 views
7

Jak wybrać pasujące słowa kluczowe w notebooku Jupyter za pomocą skrótu klawiaturowego? Na przykład w edytorze Atom/Sublime mogę nacisnąć cmd + D na komputerze Mac (lub Ctrl + d w systemie Windows), gdy kursor znajduje się nad "var" i za każdym razem, gdy to zrobię, podświetlony zostanie następny "var". Mogę wtedy wpisać nową nazwę zmiennej, a "var" zastąpić cokolwiek, co wpisałem.Atom/Sublime jak wiele wyborów w Jupyter

var = "hello" 
print(var) 
print(var) 

Czy istnieje odpowiednik w notatniku Jupyter?

+0

Nie wierzę, nie. Podczas gdy notebooki Jupyter są przydatne do majsterkowania, znalazłem je denerwujące (w najlepszym wypadku) do użycia jako zamiennik IDE/edytora tekstów z powodu brakujących funkcji takich jak to (nie wspominając o prostej funkcji znajdowania i zamiany!). –

+0

Myślę, że masz rację - udało mi się znaleźć obejście problemu. Mam wbudowane klawisze VIM w Jupyter alread, i googlełem dookoła Stwierdziłem, że VIM ma już sposób na obsługę takich rzeczy: http://vim.wikia.com/wiki/Search_and_replace – RancheroBeans

Odpowiedz

-1

Tak, jest sposób na zrobienie tego.

W uruchomionym Jupyter Notebook:

Naciśnij

Esc

Następnie naciśnij

F

f/F oba będą działać.

Można też zobaczyć inne skróty Jupyter notebooka w

Pomoc> Skróty klawiaturowe

Szczęśliwy kodowania.

+0

OP wymaga wielokrotnego wyboru, jak w Sublime Tekst, nie znajduj/zamień. – Nick

+0

@Następnie przeczytaj uważnie pytanie OP, po wybraniu wszystkich dopasowań chce je zastąpić nową nazwą zmiennej. Powyższe jest doskonałym sposobem na zrobienie tego. –

+0

Znajdź/zamień, nie jest idealny w następujący sposób: 1.Znajdź/zamień zastąpi wszystkie wystąpienia ciągu, podczas gdy wiele kursorów może edytować ciąg znaków w pobliżu. 2. Znajdź/zastąp jest uciążliwy w porównaniu do wielu kursorów. – Nick

1

Dodaj custom.js do

C:\Users\username\.jupyter\custom  # for Windows and 
~/.jupyter/custom/      # for Mac 

treści

require(["codemirror/keymap/sublime", "notebook/js/cell", "base/js/namespace"], 
    function(sublime_keymap, cell, IPython) { 
     cell.Cell.options_default.cm_config.keyMap = 'sublime'; 
     cell.Cell.options_default.cm_config.extraKeys["Ctrl-Enter"] = function(cm) {} 
     var cells = IPython.notebook.get_cells(); 
     for(var cl=0; cl< cells.length ; cl++){ 
      cells[cl].code_mirror.setOption('keyMap', 'sublime'); 
      cells[cl].code_mirror.setOption("extraKeys", { 
       "Ctrl-Enter": function(cm) {} 
      }); 
     } 
    } 
); 

i ponownie jupyter. Teraz Ctrl+D powinien działać tak, jak w przypadku Sublime.

Możesz zobaczyć, że funkcja Ctrl-Enter jest wyłączona, ponieważ byłoby bardzo wygodne uruchomienie bieżącej komórki, zamiast tworzenia nowej linii dla większości użytkowników. Możesz wybrać tę funkcję, komentując ten wiersz.

Możesz wyłączyć inną konfigurację klawiszy, której nie chcesz w podobny sposób.

enter image description here