ืฉื—ืจื•ืจ ืขื•ืจืš ื”ื˜ืงืกื˜ Vim 8.2

ืœืื—ืจ ืฉื ื” ื•ื—ืฆื™ ืฉืœ ืคื™ืชื•ื— ื”ืชืงื™ื™ื ืฉื—ืจื•ืจ ืขื•ืจืš ื˜ืงืกื˜ ื›ื™ 8.2, ืืฉืจ ืžืกื•ื•ื’ืช ื›ืฉื—ืจื•ืจ ืžื™ื ื•ืจื™, ื‘ื• ืžื‘ื•ื˜ืœื•ืช ื˜ืขื•ื™ื•ืช ืžืฆื˜ื‘ืจื•ืช ื•ืžื•ืฆืขื™ื ื—ื™ื“ื•ืฉื™ื ื‘ื•ื“ื“ื™ื.

ืงื•ื“ Vim ืžื•ืคืฅ ืขืœ ื™ื“ื™ ืชื—ืช copyleft ืžืฉืœืš ืจื™ืฉื™ื•ืŸ, ืชื•ืื ืœ-GPL, ื•ืžืืคืฉืจ ืœืš ืœื”ืฉืชืžืฉ, ืœื”ืคื™ืฅ ื•ืœืขื‘ื“ ืžื—ื“ืฉ ืืช ื”ืงื•ื“ ืœืœื ื”ื’ื‘ืœื•ืช. ื”ืžืืคื™ื™ืŸ ื”ืขื™ืงืจื™ ืฉืœ ืจื™ืฉื™ื•ืŸ Vim ืงืฉื•ืจ ืœื‘ื™ื˜ื•ืœ ืฉื™ื ื•ื™ื™ื - ื™ืฉ ืœื”ืขื‘ื™ืจ ืฉื™ืคื•ืจื™ื ื”ืžื™ื•ืฉืžื™ื ื‘ืžื•ืฆืจื™ ืฆื“ ืฉืœื™ืฉื™ ืœืคืจื•ื™ืงื˜ ื”ืžืงื•ืจื™ ืื ืžืชื—ื–ืง ื”-Vim ืจื•ืื” ื‘ืฉื™ืคื•ืจื™ื ื”ืœืœื• ืจืื•ื™ื™ื ืœืชืฉื•ืžืช ืœื‘ ื•ืžื’ื™ืฉ ื‘ืงืฉื” ืžืชืื™ืžื”. ืœืคื™ ืกื•ื’ ื”ื”ืคืฆื”, Vim ืžืกื•ื•ื’ืช ื‘ืชื•ืจ Charityware, ื›ืœื•ืžืจ. ื‘ืžืงื•ื ืœืžื›ื•ืจ ืืช ื”ืชื•ื›ื ื™ืช ืื• ืœืืกื•ืฃ ืชืจื•ืžื•ืช ืœืฆืจื›ื™ ื”ืคืจื•ื™ืงื˜, ืžื—ื‘ืจื™ Vim ืžื‘ืงืฉื™ื ืœืชืจื•ื ื›ืœ ืกื›ื•ื ืœืฆื“ืงื” ืื ื”ืžืฉืชืžืฉ ืื•ื”ื‘ ืืช ื”ืชื•ื›ื ื™ืช.

ะ’ ื”ื—ื“ืฉ ื’ืจืกื”:

  • ื”ื•ื˜ืžืขื” ืชืžื™ื›ื” ื‘ื—ืœื•ื ื•ืช ืงื•ืคืฆื™ื, ืืฉืจ ื™ื—ื“ ืขื ืžืืคื™ื™ื ื™ ื˜ืงืกื˜, ืฆื•ื™ื ื• ืขืœ ื™ื“ื™ ืžืคืชื—ื™ ืชื•ืกืคื™ื ื›ืชื›ื•ื ื•ืช ื”ืžื‘ื•ืงืฉื•ืช ื‘ื™ื•ืชืจ ืฉื—ืกืจื” ืœ-Vim ื‘ืกืงืจ ื‘ื›ื ืก VimConf 2018. ื—ืœื•ื ื•ืช ืงื•ืคืฆื™ื ืžืืคืฉืจื™ื ืœืš ืœื”ืฆื™ื’ ื”ื•ื“ืขื•ืช, ืงื˜ืขื™ ืงื•ื“ ื•ื›ืœ ืžื™ื“ืข ืื—ืจ ืขืœ ื’ื‘ื™ ื˜ืงืกื˜ ื”ื ื™ืชืŸ ืœืขืจื™ื›ื”. ื—ืœื•ื ื•ืช ืืœื• ื ื™ืชื ื™ื ืœื”ืืจื” ื‘ื“ืจื›ื™ื ืฉื•ื ื•ืช ื•ื ื™ืชื ื™ื ืœืคืชื™ื—ื” ื•ืกื’ื™ืจื” ืžื”ื™ืจื”. ื”ื™ื™ืฉื•ื ืฉืœ ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื–ื• ื“ืจืฉ ืฉื™ืคื•ืจื™ื ืžืฉืžืขื•ืชื™ื™ื ื‘ืžื ื’ื ื•ื ื™ ืชืฆื•ื’ืช ื”ืžืกืš ืฉื”ื™ื• ื‘ืฉื™ืžื•ืฉ ื‘ืขื‘ืจ, ื›ืžื• ื’ื ื”ืจื—ื‘ืช API ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืขื‘ื•ื“ื” ืขื ื—ืœื•ื ื•ืช ืงื•ืคืฆื™ื ืžืชื•ืกืคื™ ืคืœืื’ื™ืŸ.
  • ื ื•ืกืคื” ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืžืืคื™ื™ื ื™ ื˜ืงืกื˜, ืฉื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ื ื›ื“ื™ ืœื”ื“ื’ื™ืฉ ืคื™ืกื•ืช ื˜ืงืกื˜ ืื• ืœื”ื“ื’ื™ืฉ ืื–ื•ืจื™ื ืฉืจื™ืจื•ืชื™ื™ื. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืืคื™ื™ื ื™ ื˜ืงืกื˜ ื‘ืฆื•ืจื” ืฉืœ ืžื ื•ืข ื”ื“ื’ืฉืช ื˜ืงืกื˜ ืืกื™ื ื›ืจื•ื ื™, ื—ืœื•ืคื” ืœื™ื›ื•ืœื•ืช ื”ื“ื’ืฉืช ืชื—ื‘ื™ืจ ืžื‘ื•ืกืกื•ืช ืชื‘ื ื™ื•ืช ื”ื–ืžื™ื ื•ืช ื‘ืขื‘ืจ. ืชื›ื•ื ื” ืžื™ื•ื—ื“ืช ื ื•ืกืคืช ืฉืœ ืžืืคื™ื™ื ื™ ื˜ืงืกื˜ ื”ื™ื ืฉื”ื ืžืฆื•ืจืคื™ื ืขื ื”ื˜ืงืกื˜ ื”ืžืฉื•ื™ืš ืืœื™ื”ื ื•ื ืฉืžืจื™ื ื’ื ื›ืืฉืจ ืžื™ืœื™ื ื—ื“ืฉื•ืช ืžื•ื›ื ืกื•ืช ืœืคื ื™ ื”ื˜ืงืกื˜ ื”ื ื‘ื—ืจ.
  • ื›ื“ื™ ืœื”ื“ื’ื™ื ื‘ื‘ื™ืจื•ืจ ืืช ื”ืชื›ื•ื ื•ืช ื”ื—ื“ืฉื•ืช ืฉืœ Vim 8.2 ืžื•ึผื›ึธืŸ ืชื•ืกืฃ ืขื ืžืฉื—ืง ื”ืžืืคืฉืจ ืœืš ืœื™ืจื•ืช ื›ื‘ืฉื™ื ืจืฆื•ืช ืขืœ ื”ืžืกืš. ื›ื‘ืฉื™ื ืจืฆื•ืช ืžื•ืฆื’ื•ืช ื‘ืืžืฆืขื•ืช ื—ืœื•ื ื•ืช ืงื•ืคืฆื™ื, ื•ืฆื‘ื™ืขื” ืžื™ื•ืฉืžืช ื‘ืืžืฆืขื•ืช ืžืืคื™ื™ื ื™ ื˜ืงืกื˜.

    ืฉื—ืจื•ืจ ืขื•ืจืš ื”ื˜ืงืกื˜ Vim 8.2

  • ืชื•ืกืฃ ืคื•ืจืกื ื‘ื ื•ืกืฃ ื›ื“ื™ ืœื”ื“ื’ื™ื ืžืืคื™ื™ื ื™ ื˜ืงืกื˜ ื’ื•ื‘ื™ื, ืžืฉืžืฉ ืœื”ื“ื’ืฉืช ืชื—ื‘ื™ืจ ื‘ืชื•ื›ื ื™ื•ืช Go, ืงื‘ืœืช ืžื™ื“ืข ืขืœ ื”ืกืžื ื˜ื™ืงื” ืฉืœ ื”ืฉืคื” ืžืฉืจืช LSP ื—ื™ืฆื•ื ื™ (ืคืจื•ื˜ื•ืงื•ืœ ืฉืจืช ืฉืคื•ืช). ื—ืœื•ื ื•ืช ืงื•ืคืฆื™ื ื‘-govim ืžืฉืžืฉื™ื ืœื”ืฆื’ืช ืจืžื–ื™ื ื”ืงืฉืจื™ื™ื ืœื”ืฉืœืžืช ืฉืžื•ืช ื•ื”ืฆื’ืช ืชื™ืื•ืจื™ ืคื•ื ืงืฆื™ื•ืช.
    ืฉื—ืจื•ืจ ืขื•ืจืš ื”ื˜ืงืกื˜ Vim 8.2

  • ื”ื•ืฆืขื” ืคืงื•ื“ืช ":const" ื—ื“ืฉื” ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืžืฉืชื ื™ื ืฉืœื ื ื™ืชืŸ ืœืฉื ื•ืช:

    ืงื‘ื•ืข TIMER_DELAY = 400

  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœื”ื’ื“ื™ืจ ืžื™ืœื•ื ื™ื ืขื ืžืคืชื—ื•ืช ืžื™ืœื•ืœื™ื™ื ืžื‘ืœื™ ืœื”ืฉืชืžืฉ ื‘ืžื™ืจื›ืื•ืช:

    let options = #{ืจื•ื—ื‘: 30, ื’ื•ื‘ื”: 24}

  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœื—ืกื•ื ื”ืงืฆืื•ืช, ืžื” ืฉืžืงืœ ืขืœ ื”ืงืฆืืช ืงื˜ืขื™ ื˜ืงืกื˜ ืžืจื•ื‘ื™ ืฉื•ืจื•ืช ืœืžืฉืชื ื™ื:

    ืชืŸ ืฉื•ืจื•ืช =<< ืœื—ืชื•ืš END
    ืฉื•ืจื” ืื—ืช
    ืฉื•ืจื” ืฉืชื™ื™ื
    ื”ืกื•ืฃ

  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœื‘ื ื•ืช ืฉืจืฉืจืื•ืช ืคื•ื ืงืฆื™ื•ืช ื‘ืขืช ืงืจื™ืื” ืœืฉื™ื˜ื•ืช:

    mylist->filter(filterexpr)->map(mapexpr)->sort()->join()

  • ื”ืžื‘ื ื” ื”ืจืืฉื™ ื›ื•ืœืœ ืืช ืกืคืจื™ื™ืช xdiff, ืืฉืจ ืฉื™ืคืจื” ืžืฉืžืขื•ืชื™ืช ืืช ื™ื™ืฆื•ื’ ื”ื”ื‘ื“ืœื™ื ื‘ื™ืŸ ื’ืจืกืื•ืช ื˜ืงืกื˜ ืฉื•ื ื•ืช;
  • ื ื•ืกืคื” ื”ื’ื“ืจื” ืฉืœ "ืฉื ื” ืžืคืชื—ื•ืช ืื—ืจื™ื" ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืฉื™ืœื•ื‘ื™ ืžืงืฉื™ื ืžื•ืจื—ื‘ื™ื
  • ื ื•ืกืคื” ืชืžื™ื›ื” ื‘ืงื•ื ืกื•ืœืช ConPTY, ื”ืžืืคืฉืจืช ืœืš ืœื”ืฆื™ื’ ืืช ื›ืœ ื”ืฆื‘ืขื™ื ื‘ืงื•ื ืกื•ืœืช Windows 10;
  • ืชื•ื›ื ื™ืช ื”ื”ืชืงื ื” ืฉืœ Windows ืขื‘ืจื” ืžื•ื“ืจื ื™ื–ืฆื™ื”.

ื‘ื ื•ืกืฃ, ื ื™ืชืŸ ืœืฆื™ื™ืŸ ื”ึทื“ึฐืจึธื›ึธื” ืกื ื™ืฃ ืขื•ืจืš ื ื™ืกื™ื•ื ื™ ื ืื‘ื™ื 0.5. Neovim ื”ื•ื ืžื–ืœื’ ืฉืœ Vim ื”ืžืชืžืงื“ ื‘ื”ื’ื“ืœืช ื”ื”ืจื—ื‘ื” ื•ื”ื’ืžื™ืฉื•ืช. ื”ืคืจื•ื™ืงื˜ ืžืชืงื™ื™ื ื›ื‘ืจ ื™ื•ืชืจ ืžื—ืžืฉ ืฉื ื™ื ืžื•ื—ื–ืง ืฉื™ืคื•ืฅ ืื’ืจืกื™ื‘ื™ ืฉืœ ื‘ืกื™ืก ื”ืงื•ื“ ืฉืœ Vim, ื”ื›ื•ืœืœ ืฉื™ื ื•ื™ื™ื ืฉืžืงืœื™ื ืขืœ ืชื—ื–ื•ืงืช ื”ืงื•ื“, ืžืกืคืงื™ื ืืžืฆืขื™ ืœื—ืœื•ืงืช ืขื‘ื•ื“ื” ื‘ื™ืŸ ืžืกืคืจ ืžืชื—ื–ืงื•ืช, ื”ืคืจื“ืช ื”ืžืžืฉืง ืžื”ืœื™ื‘ื” (ื ื™ืชืŸ ืœืฉื ื•ืช ืืช ื”ืžืžืฉืง ืžื‘ืœื™ ืœื’ืขืช ื‘ื—ืœืง ื”ืคื ื™ืžื™) ื•ื™ื™ืฉื•ื ื—ื“ืฉ ืืจื›ื™ื˜ืงื˜ื•ืจื” ื ื™ืชื ืช ืœื”ืจื—ื‘ื” ื”ืžื‘ื•ืกืกืช ืขืœ ืชื•ืกืคื™ื. ืชื•ืกืคื™ื ืขื‘ื•ืจ Neovim ืžื•ืฉืงื™ื ื›ืชื”ืœื™ื›ื™ื ื ืคืจื“ื™ื, ืœืื™ื ื˜ืจืืงืฆื™ื” ืื™ืชื ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคื•ืจืžื˜ MessagePack.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”