Как я заставляю Emacs запуститься без такой шумихи?

Я действительно сомневаюсь, что потомков можно удалить в O (1), даже с node.innerHTML = '', так как базовая реализация вполне может быть операцией O (N).

Что нужно учитывать для улучшения производительности, так это минимизировать количество повторений DOM.

  1. Вы можете попробовать заменить элемент на клон.

const list = document.querySelector('ul');
const listClone = list.cloneNode(false);
list.parentNode.replaceChild(listClone, list);
<ul>
  <li>First</li>
  <li>Last</li>
</ul>

  1. Вы можете попробовать удалить список из DOM, выполнить манипуляции и добавить его обратно. .

withElOutOfFlow(document.querySelector('ul'), el => {
   while(el.lastChild) el.removeChild(el.lastChild);
});

function withElOutOfFlow(el, callback) {
  const parent = el.parentNode;
  
  if (!parent) {
    callback(e);
    return;
  }
  
  const nextSibling = el.nextSibling;
  parent.removeChild(el);
  callback(el);
  
  if (nextSibling) parent.insertBefore(el, nextSibling);
  else parent.appendChild(el);
}
<ul>
  <li>First</li>
  <li>Last</li>
<ul>

23
задан jfm3 28 September 2008 в 02:02
поделиться

4 ответа

Поместите следующее в Ваш .emacs:

(setq inhibit-startup-message t)
(setq inhibit-startup-echo-area-message t)
9
ответ дан 29 November 2019 в 02:16
поделиться

Поместите следующее в свой персональный init файл (ususally ~/.emacs.el):

(setq inhibit-startup-message t)

(Или (setq inhibit-startup-screen t) в с более старыми версиями Emacs.)

можно также выключить сообщение "Для получения информации о GNU Emacs и система GNU, ввести C-h C-a". в эхе с переменной inhibit-startup-echo-area-message, но этого недостаточно для установки его на t; необходимо установить его на имя пользователя. См. документацию для inhibit-startup-echo-area-message.

1
ответ дан 29 November 2019 в 02:16
поделиться

Если ваш файл инициализации скомпилирован байтами, используйте вместо него следующую форму:

(eval '(setq inhibit-startup-echo-area-message "YOUR-USER-NAME"))
0
ответ дан 29 November 2019 в 02:16
поделиться

Emacs имеет несколько переменных, которые запрещают эти действия. Если вы редактируете свой управляющий файл emacs (.emacs) и вставляете следующее:

;; inhibit-startup-echo-area-message MUST be set to a hardcoded 
;; string of your login name 
(setq inhibit-startup-echo-area-message "USERNAME")
(setq inhibit-startup-message t)

, это должно решить вашу проблему. Они в основном устанавливают для параметров блокировки значение true, чтобы предотвратить поведение, от которого вы хотите избавиться.

22
ответ дан 29 November 2019 в 02:16
поделиться
Другие вопросы по тегам:

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