$30 off During Our Annual Pro Sale. View Details »

Употреба и скриптиране на Vim във ФМИ 2023

Andrew Radev
February 23, 2023

Употреба и скриптиране на Vim във ФМИ 2023

Уводна лекция на курса "Употреба и скриптиране на Vim" във ФМИ.

Andrew Radev

February 23, 2023
Tweet

More Decks by Andrew Radev

Other Decks in Programming

Transcript

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

    View Slide

  2. Историята

    Стандартния Unix-ки редактор

    … ed (1973)

    Ed Vi Vim (1991)
    → →

    32 години и още се ползва, че и развива

    Bram Moolenaar и една купчина други хора

    View Slide

  3. Историята

    Vim, Emacs – дълго време mostly for nerds

    Rails.vim (може би) trigger-на ренесанса на
    Vim в модерни времена

    Tim Pope – Rails, но и базови (днешно време)
    неща като pathogen

    (Emacs – все още for nerds, но haskell го
    дръпна малко)

    Neovim… повече за него по-късно

    View Slide

  4. Защо Vim?

    Клавишни комбинации

    Плъгини

    Конфигурация == Скриптиране

    Употреба ~~ Скриптиране

    Users == Makers

    View Slide

  5. Защо курс по Vim?

    За да научите Vim

    За да се научите да бърникате в редактора си
    (и отвъд него)

    Контролиран хаос, 90%-ови решения

    View Slide

  6. Neovim

    Thiago de Arruda (2014) – пач за background
    jobs (или multithreading?)

    Не се разбират, отцепва се и fundraise-ва

    Vim приоритизира стабилност, има смисъл в
    експериментален форк

    View Slide

  7. Neovim drama

    “Брам е тиранин!”

    “Брам саботира нашия проект!”

    В един момент нещата се успокоиха, core
    members нямат конфликти, просто си вършат
    работата

    Пачове спокойно се разменят напред-назад

    View Slide

  8. “Neovim е blazing fast!”

    Технически вярно, защото е предимно Vim

    Технически, lua (5.1) е по-бърз от Vimscript

    (което почти няма значение)

    При нужда от performance, винаги има
    външни инструменти

    View Slide

  9. “Neovim е blazing fast!”

    View Slide

  10. “Neovim е blazing fast!”

    View Slide

  11. “Neovim е модерен!”

    Lua 5.1 е от 2006та година.

    Модерната версия на lua е 5.4.

    View Slide

  12. “Neovim е user-friendly!”

    View Slide

  13. Neovim не е проблема

    Хората не знаят какво правят

    За да ползвате Neovim, трябва да знаете
    какво правите

    За да ползвате Vim, трябва да знаете какво
    правите

    Можете да се научите (очевидно), но трябва
    да се научите. Neovim не е shortcut, а е
    tradeoff

    View Slide

  14. In this house, we learn Vimscript

    Ще учим Vim, ще учим Vimscript, от нулата

    Нищо не ви пречи да ползвате Neovim, ще
    давам акъл за разликите (не са много)

    Не очаквайте да ви уча на lua – научете как
    работи Vim, пък с lua ще се оправите

    Не е ли ужасен Vimscript??? Няма ли да
    сънувате кошмари от него?!?

    View Slide

  15. View Slide

  16. ?

    View Slide

  17. Предупреждения

    Курса е първа година, ще се експериментира
    малко

    Присъствието не е задължително, но силно
    препоръчително

    Иска практика. Не много, но редовна

    View Slide

  18. Административни неща

    Упражнения: 60т, ежедневно, да кажем 80-
    90% са за максимума

    Проект: 1 x 60 = 60т (задължителен)

    + бонуси от участие в час, от предоставяне на
    помощ в discord
    ● 60т: 3
    ● 75т: 4
    ● 90т: 5
    ● 105т: 6

    View Slide

  19. Оценяване на проекта

    Плъгин на Vimscript, може и на нещо друго

    30т за функционалност – плъгина прави
    каквото сте казали, че ще прави

    20т за употреба – не е нужно да сте бързи,
    нужно е да го можете

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

    View Slide

  20. Административни неща

    Четвъртък, зала 321… освен ако не я сменя

    Време: 19:15 – 21:00

    Ще опитам да правя видео записи в секция
    “Материали”

    За важни неща, следете https://vim-fmi.bg,
    или #announcements в Discord:
    https://discord.gg/nsjmMUaaC5

    За контакт, пишете в Discord, или на
    [email protected]

    View Slide

  21. Административни неща

    Регистрирайте се: https://vim-fmi.bg/

    Ако ви няма в списъците, пишете

    Качете си снимка, ще ви дам 1 точка

    View Slide

  22. Ако искате да пробвате

    Отивате във vim.org и следвате инструкции:
    https://www.vim.org/download.php

    Ако искате да пробвате, vimtutor е добро
    начало

    (но ще почнем от него следващия път
    anyway)

    Ако искате да излезете?

    View Slide

  23. View Slide

  24. ?

    View Slide