Как разбить слова в строке запятой, каждая с новой строкой и совпадением уровня отступа? [Дубликат]

Давайте посмотрим на лес сначала, прежде чем смотреть на деревья.

Здесь есть много информативных ответов с большими подробностями, я не буду повторять ни одного из них. Ключ к программированию в JavaScript имеет сначала правильную ментальную модель общего исполнения.

  1. Ваша точка входа (ов) выполняется в результате события. Например, в браузер загружается тег сценария с кодом. (Соответственно, поэтому вам, возможно, придется заботиться о готовности страницы запускать ваш код, если он требует, чтобы элементы dom были сконструированы первыми и т. Д.)
  2. Ваш код выполняется до завершения, однако многие асинхронные вызовы, которые он делает, без выполнения каких-либо ваших обратных вызовов, включая запросы XHR, установку тайм-аутов, обработчиков событий dom и т. д. Каждый из этих обратных вызовов, ожидающих выполнения, будет находиться в очереди, ожидая, что их очередь будет запущена после других событий
  3. Каждый отдельный обратный вызов XHR-запроса, установленного таймаута или dom события после вызова будет завершен.

Хорошие новости заключается в том, что, если вы хорошо понимаете этот момент, вам никогда не придется беспокоиться о гоночных условиях. Прежде всего вы должны понимать, как вы хотите упорядочить свой код как по существу ответ на разные дискретные события, и как вы хотите объединить их в логическую последовательность. Вы можете использовать обещания или новые асинхронные / ожидающие более высокие уровни в качестве инструментов для этой цели, или вы можете откатывать свои собственные.

Но вы не должны использовать какие-либо тактические инструменты для решения проблемы, пока вам не понравится актуальная проблемная область. Нарисуйте карту этих зависимостей, чтобы знать, что нужно запускать, когда. Попытка ad-hoc подхода ко всем этим обратным вызовам просто не поможет вам.

16
задан hobbes3 31 May 2013 в 07:03
поделиться

3 ответа

Попробуйте:

:s/|/|\r/g

Вышеуказанное будет работать с текущей строкой.

Чтобы выполнить подстановку во всем файле, добавьте % до s:

:%s/|/|\r/g

Разбивка:

:    - enter command-line mode
%    - operate on entire file
s    - substitute
/    - separator used for substitute commands (doesn't have to be a /)
|    - the pattern you want to replace
/    - another separator (has to be the same as the first one)
|\r  - what we want to replace the substitution pattern with
/    - another separator
g    - perform the substitution multiple times per line
45
ответ дан jahroy 5 September 2018 в 11:01
поделиться

Заменить каждый экземпляр | самим и новой строкой (\r):

:s/|/|\r/g

(убедитесь, что ваш курсор находится в соответствующей строке перед выполнением)

18
ответ дан Andrew Marshall 5 September 2018 в 11:01
поделиться

на самом деле вам не нужно добавлять | перед шаблоном, попробуйте s/,/,\r/g, он заменит запятую запятой после разрыва строки.

-3
ответ дан Pengfei.X 5 September 2018 в 11:01
поделиться