2017-01-09 12 views
7

Как выбрать подходящие ключевые слова в ноутбуке Jupyter с помощью сочетания клавиш? Например, в редакторе Atom/Sublime я могу нажать cmd + D на mac (или Ctrl + d на Windows), в то время как курсор находится над «var», и каждый раз, когда я делаю это, будет выделен следующий «var». Затем я могу ввести новое имя переменной, а «var» заменяется на все, что я набрал.Atom/Sublime, как множественный выбор в Jupyter

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

Есть ли эквивалент в ноутбуке Jupyter?

+0

Я так не верю, нет. В то время как ноутбуки Jupyter удобны для возиться, я нашел их раздражающими (в лучшем случае) для использования в качестве замены редактора IDE/текстового редактора из-за отсутствия таких функций (не говоря уже о простой функции поиска и замены!). –

+0

Я думаю, что вы правы - я нашел обходное решение. У меня есть VIM-привязки, активированные в Jupyter alread, и поиск по Google. Я обнаружил, что VIM уже имеет способ справиться с такими вещами: http://vim.wikia.com/wiki/Search_and_replace – RancheroBeans

ответ

-1

Да, есть способ сделать это.

В бегущего Jupyter ноутбук:

Press

Esc

А затем нажмите

F

f/F обе будет работать.

Вы также можете посмотреть другие ярлыки для Jupyter ноутбука в

Помощи> Сочетания клавиш

Счастливого кодирование.

+0

OP запрашивает множество выборов, как в Sublime Текст, не найти/заменить. – Nick

+0

@ Ник внимательно прочитайте вопрос OP, после выбора всех совпадений он хочет заменить их новым именем переменной. Выше сказано, что это идеальный способ сделать это. –

+0

Поиск/замена не является совершенным следующим образом: 1.Find/replace заменит все вхождения строки, в то время как несколько курсоров могут редактировать строку рядом. 2. Найти/заменить громоздко по сравнению с несколькими курсорами. – Nick

1

Добавить custom.js в

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

с содержанием

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) {} 
      }); 
     } 
    } 
); 

и перезапустить jupyter. Теперь Ctrl+D должен работать так, как в Sublime.

Вы можете видеть, что функция Ctrl-Enter отключена, так как было бы очень удобно запускать текущую ячейку, а не создавать новую строку для большинства пользователей. Вы можете использовать эту функциональность, комментируя эту строку.

Вы можете отключить другую конфигурацию ключей, которую вы не хотите аналогичным образом.

enter image description here