Изучение и редактирование кода

Preview:

Citation preview

Игорь  Новак,  Школа  разработки  интерфейсов  

Редакторы  кода  

Зачем?  

2  

3  

github.com/languages  

4  

inovak.site44.com/yaru2000  

5  

Как  выбрать  редактор?  

6  

7  

 

 

 

 

 

   

 

 

 

 

 

8  

Классификация  редакторов  

 

 

 

 

–  простой  редактор/среда  разработки  

   

 

 

 

 

 

9  

Классификация  редакторов  

 

 

 

 

–  простой  редактор/среда  разработки  

–  окружение  (консоль/графический  интерфейс)    

 

 

 

 

 

10  

Классификация  редакторов  

 

 

 

 

–  простой  редактор/среда  разработки  

–  окружение  (консоль/графический  интерфейс)  –  лицензия  

 

 

 

 

 

11  

Классификация  редакторов  

 

 

 

 

–  простой  редактор/среда  разработки  

–  окружение  (консоль/графический  интерфейс)  –  лицензия  

–  операционная  система  

 

 

 

 

12  

Классификация  редакторов  

 

 

 

 

–  простой  редактор/среда  разработки  

–  окружение  (консоль/графический  интерфейс)  –  лицензия  

–  операционная  система  

–  ресурсоемкость  

 

 

 

13  

Классификация  редакторов  

 

 

 

 

–  простой  редактор/среда  разработки  

–  окружение  (консоль/графический  интерфейс)  –  лицензия  

–  операционная  система  

–  ресурсоемкость  

–  подход  к  настройке  

 

 

14  

Классификация  редакторов  

15  

–  Размер  команды  

 –  Code  style  

 –  Code  review  

 –  Парное  программирование  

–  Технологический  стек  

 –  Поддержка  важных  технологий    –  Поддержка  второстепенных  технологий  

–  Работа  с  удаленным  сервером  

16  

Особенности  разработки  

Что  с  этим    дальше  делать?  

17  

Настройка  редактора  

18  

Сделайте  его  “sexy”  

19  

Выложите  настройки  на  github  

20  

Хороший  редактор  можно  допиливать  бесконечно  

21  

Редактирование  текста  

22  

en.wikipedia.org/wiki/Bram_Moolenaar  

23  

 0.  Touch  typing  (gtypist)          

24  

 0.  Touch  typing  (gtypist)  1.  Передвигайтесь  по  тексту  быстро        

25  

 0.  Touch  typing  (gtypist)  1.  Передвигайтесь  по  тексту  быстро  2.  Don’t  repeat  yourself      

26  

 0.  Touch  typing  (gtypist)  1.  Передвигайтесь  по  тексту  быстро  2.  Don’t  repeat  yourself  3.  Работа  с  несколькими  файлами    

27  

 0.  Touch  typing  (gtypist)  1.  Передвигайтесь  по  тексту  быстро  2.  Don’t  repeat  yourself  3.  Работа  с  несколькими  файлами  4.  Сделайте  это  привычкой  

28  

Передвижение  по  файлу  

29  

–  переход  по  номеру  строки/символа  

–  переход  в  начало/конец  файла/строки  

–  переход  на  n%  часть  

–  скроллинг  на  пол-­‐экрана/экран  

–  перемещение  курсора  относительно  окна  

–  поиск  по  паттерну/токену  под  курсором  –  переход  к  символу  

–  переход  по  меткам  

–  движение  по  абзацам,  предложениям,  словам  

 

 

 

30  

–  переход  по  номеру  строки/символа  

–  переход  в  начало/конец  файла/строки  

–  переход  на  n%  часть  

–  скроллинг  на  пол-­‐экрана/экран  

–  перемещение  курсора  относительно  окна  

–  поиск  по  паттерну/токену  под  курсором  –  переход  к  символу  

–  переход  по  меткам  

–  движение  по  абзацам,  предложениям,  словам  

–  по  секциям  

–  по  тегам  

–  по  конструкциям  кода  (блоки,  фолдинг  etc)  

31  

 

 

 

–  выделение  по  переходам  

–  внутри  кавычек  

–  внутри  скобок  –  внутри  предложений,  абзацев  

–  внутри  тегов  

–  внутри  синтаксических  конструкций  

–  выделение  блока  

32  

Выделение  текста  

 

 

 

–  редактирование  

–  удаление  (и  вставка)  

–  отступ  –  окружение  кавычками/скобками  

–  комментирование  

–  форматирование  

–  global  ex  

33  

Работа  с  выделенным  текстом  

 

 

 

 

–  повторение  простой  операции  

–  повторение  составной  операции  (макрос)  –  global  ex  

–  команды  

–  автодополнение  по  паттерну  (токен/строка)  

–  плагины  

–  темплейты,  сниппеты  

 

34  

Автоматизация  

 

 

 

 

–  открыть  несколько  файлов  

–  открыть  дерево  файлов  –  открыть  файл  под  курсором  

–  найти  файл  в  проекте  по  имени  

–  открыть  буфер  

–  табы/сплиты  

–  diff  

–  создать,  переименовать,  удалить  файл  

35  

Работа  с  несколькими  файлами  

 

 

 

 

–  grep  

–  ack  –  ag  

 

 

 

 

 

36  

Поиск  по  коду  в  проекте  

37  

Системы  контроля  версий  

38  

SSH,  tmux  

 

 

 

 

 

 –  редактирование  настроек  внешнего  вида,  мапов,  

отображения  текста,  whatever  

–  редактирование  сниппетов,  макросов,  команд  

–  добавление/обновление/удаление  плагинов  

–  импорт/экспорт  

 

 

 

 

 39  

Управление  плагинами,  настройками  

Intellisense  

40  

Компилятор  

REPL  Spellchecker  

Поддержка  мультиязычности  

Большие  файлы  

Бинарные  файлы  

Поддержка  рефакторинга  

Live  reload  

41  

Дальше  не  придумали      импровизируй  

42  

openvim.com  

clck.ru/4h4nk  –  скринкасты  

github.com/ignovak/vimrc  

Ссылки  

 

vorian@yandex-­‐team.ru  

   

Игорь  Новак