Slide 1

Slide 1 text

Употреба и скриптиране на

Slide 2

Slide 2 text

Историята ● Стандартния Unix-ки редактор ● … ed (1973) ● Ed Vi Vim (1991) → → ● 32 години и още се ползва, че и развива ● Bram Moolenaar и една купчина други хора

Slide 3

Slide 3 text

Историята ● Vim, Emacs – дълго време mostly for nerds ● Rails.vim (може би) trigger-на ренесанса на Vim в модерни времена ● Tim Pope – Rails, но и базови (днешно време) неща като pathogen ● (Emacs – все още for nerds, но haskell го дръпна малко) ● Neovim… повече за него по-късно

Slide 4

Slide 4 text

Защо Vim? ● Клавишни комбинации ● Плъгини ● Конфигурация == Скриптиране ● Употреба ~~ Скриптиране ● Users == Makers

Slide 5

Slide 5 text

Защо курс по Vim? ● За да научите Vim ● За да се научите да бърникате в редактора си (и отвъд него) ● Контролиран хаос, 90%-ови решения

Slide 6

Slide 6 text

Neovim ● Thiago de Arruda (2014) – пач за background jobs (или multithreading?) ● Не се разбират, отцепва се и fundraise-ва ● Vim приоритизира стабилност, има смисъл в експериментален форк

Slide 7

Slide 7 text

Neovim drama ● “Брам е тиранин!” ● “Брам саботира нашия проект!” ● В един момент нещата се успокоиха, core members нямат конфликти, просто си вършат работата ● Пачове спокойно се разменят напред-назад

Slide 8

Slide 8 text

“Neovim е blazing fast!” ● Технически вярно, защото е предимно Vim ● Технически, lua (5.1) е по-бърз от Vimscript ● (което почти няма значение) ● При нужда от performance, винаги има външни инструменти

Slide 9

Slide 9 text

“Neovim е blazing fast!”

Slide 10

Slide 10 text

“Neovim е blazing fast!”

Slide 11

Slide 11 text

“Neovim е модерен!” ● Lua 5.1 е от 2006та година. ● Модерната версия на lua е 5.4.

Slide 12

Slide 12 text

“Neovim е user-friendly!”

Slide 13

Slide 13 text

Neovim не е проблема ● Хората не знаят какво правят ● За да ползвате Neovim, трябва да знаете какво правите ● За да ползвате Vim, трябва да знаете какво правите ● Можете да се научите (очевидно), но трябва да се научите. Neovim не е shortcut, а е tradeoff

Slide 14

Slide 14 text

In this house, we learn Vimscript ● Ще учим Vim, ще учим Vimscript, от нулата ● Нищо не ви пречи да ползвате Neovim, ще давам акъл за разликите (не са много) ● Не очаквайте да ви уча на lua – научете как работи Vim, пък с lua ще се оправите ● Не е ли ужасен Vimscript??? Няма ли да сънувате кошмари от него?!?

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

?

Slide 17

Slide 17 text

Предупреждения ● Курса е първа година, ще се експериментира малко ● Присъствието не е задължително, но силно препоръчително ● Иска практика. Не много, но редовна

Slide 18

Slide 18 text

Административни неща ● Упражнения: 60т, ежедневно, да кажем 80- 90% са за максимума ● Проект: 1 x 60 = 60т (задължителен) ● + бонуси от участие в час, от предоставяне на помощ в discord ● 60т: 3 ● 75т: 4 ● 90т: 5 ● 105т: 6

Slide 19

Slide 19 text

Оценяване на проекта ● Плъгин на Vimscript, може и на нещо друго ● 30т за функционалност – плъгина прави каквото сте казали, че ще прави ● 20т за употреба – не е нужно да сте бързи, нужно е да го можете ● 10т за je ne sais quoi – документация, тестове, ефективна вимаджийщина… ще измисля начини да си ги спечелите, или ще се откажа от тази графа

Slide 20

Slide 20 text

Административни неща ● Четвъртък, зала 321… освен ако не я сменя ● Време: 19:15 – 21:00 ● Ще опитам да правя видео записи в секция “Материали” ● За важни неща, следете https://vim-fmi.bg, или #announcements в Discord: https://discord.gg/nsjmMUaaC5 ● За контакт, пишете в Discord, или на [email protected]

Slide 21

Slide 21 text

Административни неща ● Регистрирайте се: https://vim-fmi.bg/ ● Ако ви няма в списъците, пишете ● Качете си снимка, ще ви дам 1 точка

Slide 22

Slide 22 text

Ако искате да пробвате ● Отивате във vim.org и следвате инструкции: https://www.vim.org/download.php ● Ако искате да пробвате, vimtutor е добро начало ● (но ще почнем от него следващия път anyway) ● Ако искате да излезете?

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

?