Math Ajax

понедельник, 23 сентября 2019 г.

Полезные команды


Редактировать много файлов в разных вкладках вима:

vim -p $(grep "Attempted" -r ./tests/*.py | awk '{print substr($1, 1, length($1)-1)}')
Ищем определённое сообщение об ошибке в папке тестов, печатаем часть до пробела ($0 – вся строка, $1 – от начала до первого пробела, $2 – между первым и вторым пробелом и т.д.), потом срезаем последний символ (двоеточие).

UPD: чуть более правильная версия

vim -p $(grep "relative" -r . --include=*.py | awk -F : '{print $1}' | uniq)
Другой юз-кейс:

vim -p $(git status | grep "both modified" | awk '{print $3}')
Разрешаем конфликты оптом (если git mergetool не работает)

Пуллреквесты в битбакете, когда у вас дата сайенс

Джаваскрипт для пуллреквестов в битбакете, который скрывает ноутбуки и таблицы (оставляя заголовки)
let elements = document.getElementsByTagName("section");

Array.prototype.forEach.call(
    elements,
    elem => {
      if (elem.id.substr(-6, 6) == ".ipynb" || elem.id.substr(-4, 4) == ".csv") {
          console.log(elem.id);
      let container = elem.children[0];
      container.removeChild(container.children[1]);
  }
});  

Настроить скроллбары в джупитер ноутбуке

display(HTML("""<style>
div.output_html {  
    white-space: nowrap;  
}
div .output_subarea > pre {  
    white-space: pre;  
    word-wrap: normal;  
}
div .output_stdout > pre {  
    white-space: pre-wrap !important;  
    word-wrap:  break-word !important;  
}
</style>"""))  
Теперь ноутбук становится удобнее для просмотра длинного вывода.
Во-первых, он не переносит длинные строки (если они появились через display), а у длинных ячеек появляется горизонтальный скроллбар.
Во-вторых, длинные строки, которые появились из stdout (то есть через print), по-прежнему дробятся и переносятся.

Комментариев нет:

Отправить комментарий