Я пытаюсь полностью понять следующую команду в Vim:
:exe "grep -R " . shellescape(expand("<cWORD>")) . " ."<cr>
Я получил использование функции expand (принудительно развернуть в текущую строку, прежде чем она получитпередается в шеллскейп) и самой команде shellescape (со страницы справки Vim: Escape {string} для использования в качестве аргумента команды оболочки).
Что я не понимаю, из самой справки,заключается в том, что используются точки, одна до и одна после команды shellescape .
Снова обеим точкам предшествует пустой пробел.И если я использую:
:exe "grep -R "shellescape(expand("<cWORD>"))" ."<cr>
, которая является той же командой без этих точек, я (очевидно) получаю тот же результат.
Кто-нибудь может дать подробное объяснение?
Спасибо