Копия Vim и вставка

Позвольте мне поделиться своими выводами со следующим слегка измененным кодом HTML / JS.

  1. Версия Chromium 73.0.3683.75 (сборка openSUSE) (64-разрядная версия) работает как положено.
  2. Firefox Developer Edition 67b6 (64-разрядная версия) иногда работает как ожидалось.
  3. Firefox Stable Quantum 60.6.1 ESR (64-разрядная версия) по-прежнему не работает должным образом.

Однако, если вы перейдете на задержку const delayBlocking = 50 миллисекунд, в браузере Firefox Stable Quantum 60.6.1 ESR также будет отображено «Блокирование ...».

Моя интерпретация (согласно тому, что Марк сказал в комментарии), что браузеру нужно дать время для обновления DOM. Браузер должен иметь возможность отображать хотя бы один кадр, показывающий сообщение о состоянии «Блокировка ...», отображаемое до перехода в заблокированное состояние (здесь в течение 5 секунд). Это можно сделать с помощью подходящего настроенного setTimeout, как показано ниже. - С уважением, М.

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <title>Document</title>
</head>
<body>
    <a id="block" href="#">Block</a>
    <div id="statusMessage"></div>
    <button>Click me!</button>

    <script>
     document.getElementById('block')
             .addEventListener('click', doBlock);

     function doBlock(event) {
         setStatus('Blocking...');

         // Introducing some ...
         const delayBlocking = 0;

         setTimeout(function() {
             sleep(5000);
             setStatus('Done');
         }, delayBlocking);
     }

     function sleep(milliseconds) {
         const start = Date.now();
         while ((Date.now() - start) < milliseconds);
     }

     function setStatus(status) {
         document.getElementById('statusMessage')
                 .textContent = status;
     }
    </script>

</body>
</html>
5
задан serenesat 31 August 2015 в 11:21
поделиться

8 ответов

Так как Вы изменили свой вопрос, я сделаю это этот путь:

Переместитесь в первый "replacethis1" и введите по часовой стрелке (слово изменения), затем введите "copythis" вручную.

Переместитесь в следующий "replacethis", совершите нападки. (повторите последнюю операцию),

Переместитесь в следующий "replacethis", совершите нападки.,

и так далее, и так далее.

Если "copythis" является небольшим словом, я думаю, что это - лучшее решение.

6
ответ дан 18 December 2019 в 10:49
поделиться
:%s/copythis/replacethis/g

Заменять все случаи copythis с replacethis. Или можно указать диапазон номеров строки как:

:8,10 s/copythis/replacethis/g

Отметьте,/g на конце скажет этому заменять все случаи. Если Вы уедете, то это от него просто сделает первый.

1
ответ дан 18 December 2019 в 10:49
поделиться

Цифра должна быть включена, и на строку мог быть больше чем один экземпляр:

:%s/replacethis\d/copythis/g
4
ответ дан 18 December 2019 в 10:49
поделиться
  1. создайте это отображение:

    :map z cwcopythis^ [

    (^ [символ ESC, можно ввести его в энергии с помощью Ctrl+V Ctrl + [),

  2. перейдите к каждому слову, Вы хотите заменить и нажать z

1
ответ дан 18 December 2019 в 10:49
поделиться

Учитывая, что "replacethis [1-3]" могут быть произвольные несвязанные слова, самый быстрый/самый простой способ сделать, это глобально было бы:

:%s/replacethis1\|replacethis2\|replacethis3/copythis/g

(Обратите внимание, что необходимо использовать \|, чтобы заставить каналы функционировать как "или". Иначе энергия будет искать литерал | символ.)

3
ответ дан 18 December 2019 в 10:49
поделиться

Я боролся с этим в течение долгого времени также, я думаю, что просто разработал самый чистый путь:

Используйте, какой бы ни команда является самой чистой для помещения copythis в регистр r:

/copythis
"rye

Затем перейдите к замене и замените ее содержанием r:

/replacethis
cw<CTRL-R>r<ESC>

Затем Вы можете просто n.n.n.n.n.n.n. для остальной части их, или если они дико отличаются просто, переходят к началу каждого и совершают нападки .

Ключ заменяет и вставляет за один шаг, таким образом, можно использовать . позже.

1
ответ дан 18 December 2019 в 10:49
поделиться

если необходимо сделать по существу, то же действие многократно - подкачивает 1-е слово одной строки со вторым словом следующей строки, я говорю, что Вы могли записать макрос и назвать его каждый раз, когда Вы должны

0
ответ дан 18 December 2019 в 10:49
поделиться

Вы попробовали строковую замену?

%s/replacethis/copythis

Хост других параметров возможен подстроить замену. Погружение в Vim помогает для получения дополнительной информации. Еще некоторые примеры здесь.

0
ответ дан 18 December 2019 в 10:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: