Size: a a a

2021 May 02

EG

Emmanuel Goldstein in pro.vim
И делает ровно то, что ты хочешь
источник

A

A in pro.vim
Супер!
источник

A

A in pro.vim
Все верно! Прямо то, что я хочу!
источник

A

A in pro.vim
Спасибо огромное!!!
источник

Pavel ×.× in pro.vim
А откуда ты все эти репы берёшь? Гуглинг в реальном времени, или склад какой-то есть?
источник

EG

Emmanuel Goldstein in pro.vim
Память
источник

EG

Emmanuel Goldstein in pro.vim
То есть линк я гуглю, а название помню
источник

AM

AlexShell Makise in pro.vim
А сделай список
источник

NG

Nicholas Guriev in pro.vim
это обычно не легко составить список того что помнишь
источник

u

username in pro.vim
Наткнулся на интересную статью в хабре, возможно кому-то будет интересно.

https://m.habr.com/ru/post/210826/
источник
2021 May 03

A

Alexander. in pro.vim
Слишком много букаф
источник

u

username in pro.vim
источник

u

username in pro.vim
источник

D

Denis GDevv in pro.vim
Кто может объяснить, по какому принципу экранируются спец символы в регулярках, которые в строке?

Мне нужно ко всем скобкам добавить отступ пробелом внутрь:

test t(es)t
test t(es)t
test t(es)t
test t[es]t
test t[es]t
test t{es}t
test t{es}t

Я делаю это так:
let boundCharPattern = "[a-zA-Z0-9\"]"

execute line_start . "," . line_end . "s/(\\(" . boundCharPattern . "\\)/( \\1/ge"
execute line_start . "," . line_end . "s/\\\[\\(" . boundCharPattern . "\\)/[ \\1/ge"
execute line_start . "," . line_end . "s/\{\\(" . boundCharPattern . "\\)/{ \\1/ge"

Оно работает. Но это же дичь какая-то. Здесь я просто подобрал количество слэшей. Как это вообще работает? Почему в случае с фигурной ей нужен 1 слэш, а квадратной - 3? Да оно и то, и другой спец символ, который нужно экранировать. Но если экранируешь одинаково - это работать уже не будет. В чём у них логика?
источник

D

Denis GDevv in pro.vim
Ещё и так:
1 слэш перед квадратной не работает (ошибка матчинга), 2 слэша - работает.
1 слэш перед фигурной работает, 2 - не работает
источник

G

GNU/Vsevolod in pro.vim
Почему бы не
%s/\([[{(]\)\([a-zA-Z0-9\"]\+\)\([})\]]\)/\1 \2 \3/
источник

D

Denis GDevv in pro.vim
Хотелось бы в принципе понять как они работают... Я реально не понимаю чем отличаются вот эти две регулярки? Почему первая не работает, вторая работает?

:1,7s/\([a-zA-Z0-9"]\)\)/\1 )/ge
:1,7s/\([a-zA-Z0-9"]\)\]/\1 )/ge
источник

D

Denis GDevv in pro.vim
Разве первая не должна матчить закрытую скобку и символ перед ней?
источник

G

GNU/Vsevolod in pro.vim
Тут двойные кавычки, поэтому экранирование слешей дублируется. В capture group скобки должны экранироваться, если :h /\v , т.е. 2 слеша в твоем случае.
Квадратная сэкранирована, чтобы не парсилось, как группа символов [abcd], а как скобка (на самом деле там достаточно 2-х слешей)
источник

V

Vim Help in pro.vim
источник