И нет, не потому что не могу его закрыть
Vim — мой редактор по умолчанию. Для этого нет определённой причины кроме той, что я начал его изучать, когда перешёл на Linux много лет назад. По итогу он мне понравился, потому что я мог редактировать свои маленькие файлы с исходниками на четырёхъядерной машине без необходимости ожидать вечность, пока файл откроется.
Конечно, Vim неплохой редактор, он исключительно расширяемый, он есть везде, так что когда ты подключаешься по ssh к какому-нибудь неизвестному серверу, то всегда можешь набрать
vim
(или vi
) и всё в порядке.Но здесь речь не о том, что Vim отличный редактор, это дело вкуса. Я застрял на нём в первую очередь из-за того, что это расширяемый редактор, который не пожирает все ресурсы и не убивает мои машины. Редакторы Atom и Code часто замораживают систему на несколько минут, когда набираешь единственный символ.
Сколько памяти, на ваш взгляд, нужно для открытия такого файла С?
#include <stdio.h>
int main() {
printf("Hello, world!\n");
}
Использование памяти
Ответ: сумасшедшее количество.
Потребляемая память в КиБ при открытии файла с исходным кодом С размером около 60 байт
Code требует чудовищные 349 мегабайт, чтобы открыть файл в 60 байт. Atom занимает 256 мегабайт. В то время как Vim довольствуется «всего» 5 мегабайтами, что тоже многовато, но это средняя конфигурация.
Я также включил сюда Nano, чтобы был ещё один текстовый редактор для сравнения с Vim, ему требуется меньше мегабайта.
Что насчёт файлов большего размера? Открытие XML размером 6 мегабайт в Vim требует около 12 мегабайт. Nano идёт примерно ноздря в ноздрю с Vim. Редактору Code нужно 392 мегабайта, а Atom отъедает сумасшедшие 845 мегабайт.
Потребляемая память в КиБ при открытии файла XML размером около 6 мегабайт
Время загрузки
Что насчёт времени, которое необходимо для открытия того же файлы XML и перемещения курсора в его конец? Здесь похожая история. Операция в Atom и Code занимает почти 20 секунд, в Vim — около 4 секунд. Sublime тут показал удивительную быстроту, справившись всего за секунду.
Время в секундах для открытия файла XML размером 6 мегабайт
Поиск и замена 100 000 экземпляров слова в том же файле XML привели к довольно неожиданным результатам. Nano и Atom провалились, потребовав в среднем почти 10 минут для выполнения этой задачи. Atom упал несколько раз, пытаясь добиться результата. У Code это заняло около 80 секунд. Sublime финишировал за 6 секунд, а Vim — всего за 4 секунды.
Время в секундах для поиска и замены 100 000 экземпляров слова
Вывод
Изучайте Vim. Стоит оценить http://vimcasts.org, это советы и хитрости по Vim от Дрю Нейла, который также написал эту замечательную книгу.
Если не Vim, то можно Emacs. Или что угодно ещё, только не веб-браузер, который притворяется текстовым редактором.
Это просто смешно, когда редактор потребляет всю вычислительную мощность и память, доступные на «современном» дорогом ноутбуке, хотя они ему вовсе не нужны.
Тестовые файлы для бенчмарков взяты из этого репозитория, результаты усреднены между этим набором данных и моим собственным.