Если у Вас есть GNU coreutils (распространенный в большинстве дистрибутивов Linux), можно использовать
du -sh -- * | sort -h
-h
опция говорит sort
то, что вход является человекочитаемым форматом (число с единицей; на основе 1024 так, чтобы 1023 считался меньше, чем 1K, который, оказывается, соответствует что GNU du -h
делает).
Эта опция была добавлена к GNU Core Utilities 7.5 в августе 2009.
Примечание:
При использовании более старой версии MAC OSX необходимо установить coreutils с
brew install coreutils
, затем используйтеgsort
как общедоступная заменаsort
.Более новые версии macOS (проверенный на Мохаве) поддержка
sort -h
исходно.
Я использую обоих, хотя, если бы я должен был выбрать один, я знаю, какой я выбрал бы. Однако, я попытаюсь сделать объективное сравнение по нескольким проблемам.
Доступный везде? Если Вы - профессиональный системный администратор, который работает с системами Unix или продвинутым пользователем на встроенных устройствах (маршрутизаторы, смартфоны с Busybox, …), необходимо знать vi (не Vim), потому что это доступно во всех системах Unix и большинстве подобных Unix систем, ли рабочий стол, сервер или встроенный. Для обычного пользователя этот аргумент не важен: Emacs легко доступен для каждого рабочего стола/сервера ОС, и так как он поддерживает удаленное редактирование, достаточно иметь его на Вашей настольной машине так или иначе.
Чрезмерно увеличенный в размерах? Emacs однажды поддержал шутливо “Восемь мегабайтов И Постоянно Свопинг”. Прямо сейчас, на моей машине, Google Chrome нужно почти столько RAM на вкладку, сколько Emacs делает для 100 открытых файлов, и я даже не упомяну Firefox. В 21-м веке чрезмерное увеличение размера Emacs является просто мифом.
Чрезмерное увеличение размера функции не является проблемой также. Если Вы не используете его, Вы не должны знать, что это там. Функции Emacs держатся в стороне от пути, когда Вы не используете их, и документация очень хорошо организована.
Время запуска: Vi (m) сторонники жалуется на время запуска Emacs. Да, Emacs не спешит запускать, но это не грандиозное предприятие: Вы запускаете Emacs однажды на сессию, затем соединяетесь с рабочим процессом с emacsclient
. Таким образом, медленный запуск Emacs является главным образом мифом.
Существует одно исключение, которое является, когда Вы входите в систему удаленной машины и хотите отредактировать файл там. Запуск удаленного Emacs (обычно) медленнее, чем запуск удаленного Vim. В некоторых ситуациях можно сохранить Emacs, работающий в Экране. Можно также отредактировать удаленные файлы из Emacs, но он действительно повреждает поток, если Вы находитесь на ssh сессии в терминале. (Так как XEmacs 21 или GNU Emacs 23, можно открыть окно Emacs от выполнения X экземпляров в терминале.)
Взятие реванш, я наблюдал, что Vim, берущий заметно дольше, загружается, чем Emacs (vim -u /dev/null
по сравнению с. emacs -q
). По общему признанию это было на странной платформе (Cygwin).
Начальная кривая обучения: Это варьируется от человека человеку. График Michael Mrozek заставил меня хихикать. Серьезно, я соглашаюсь, что кривая обучения Vim запускается крутой, более крутой, чем какой-либо другой редактор, хотя это может быть уменьшено при помощи gvim.
Так как я рассеял несколько мифов Emacs, позвольте мне рассеять vi миф: модальный редактор не является твердым или болезненным для использования. Требуется немного привычки, но через некоторое время это чувствует себя очень естественным. Если бы я должен был перепроектировать vi (m), то я определенно сохранил бы режимы.
Асимптотическая кривая обучения: И Vim и Emacs имеют много функций, и Вы будете продолжать обнаруживать новые после лет использования.
Производительность: Это - чрезвычайно твердая тема. Сторонники vi (m) утверждают, что можно сделать в значительной степени все, не покидая домашнюю строку, и это делает Вас более эффективными при необходимости в нем больше всего. Сторонники Emacs парируют, что Emacs имеет много команд, которые не часто используются, не гарантируйте привязку клавиш, но чертовски удобны, когда Вам нужны они (обязательная xkcd ссылка).
Мое личное мнение - то, что Emacs в конечном счете побеждает, если у Вас нет нетрудоспособности ввода (и даже затем можно настроить Emacs для требования только сочетаний клавиш и не комбинаций как Ctrl+letter). Домашние ключи строки хороши, но они часто не так большая часть победы, потому что необходимо переключить режимы. Я не думаю, что существует что-либо, что Vim может сделать значительно более эффективно, чем Emacs, тогда как обратное верно.
Настраиваемость: Оба редактора программируемы, и существует обширное тело доступных пакетов для обоих. Однако Vim является редактором с макроязыком; Emacs является редактором, записанным в Lisp с некоторыми специальными примитивами. Emacs побеждает эффектно, когда Вы пытаетесь сделать что-то, о чем просто не думали авторы. Этого не происходит каждый день, но это действительно накапливается за эти годы.
Больше, чем редактор: Vim является редактором. Emacs не является просто редактором: это - также IDE, файловый менеджер, эмулятор терминала, веб-браузер, почтовый клиент, клиент новостей... Является ли это хорошей вещью, или плохой вещью является вопрос для дебатов. Но можно использовать Emacs в качестве простого редактора (см., “что функция чрезмерно увеличивается в размерах” выше).
Как IDE: И Vim и Emacs имеют поддержку большого количества языков программирования и других текстовых форматов. Вне основ, таких как синтаксическая окраска и автоматическое добавление отступа, оба усовершенствовали функции IDE, такие как код и поиски перекрестной ссылки документации, помогли вставкам и рефакторингу, управлению интегрированной версией и способности инициировать компиляцию и переход к первой ошибке.
Один домен, где Emacs прост лучше, чем Vim, является взаимодействием с асинхронными подпроцессами. Именно тогда Вы запускаете долгую компиляцию и хотите сделать что-то еще в том же экземпляре редактора, в то время как компилятор крутится. Или когда Вы хотите взаимодействовать с циклом Read-eval-print — Emacs действительно сияет в этом, Vim только имеет неуклюжие взломы для предложения. Тем не менее, новое ветвление энергии, Неоэнергия, оказалось, зафиксировала это и реализовала другие различные исправления ошибок, не реализованные в энергии запаса.
Я использую vi
/nvi
(НЕТ vim
) потому что это просто и незаметно.
vim
любит, когда так сильно звуковые сигналы его тяжелее и несколько неочевидный отключены. Я должен был физически удалить внутренний динамик компьютера, прежде чем в конечном счете найдено, который проложил под землей - касательно приблизительно, как сделать это :)
set vb t_vb=
Также я не использую окраску синтаксиса, серый по черному мне является самым красивым.
И возможно я слишком глуп для выяснения этого tangled-multi-key-pressed emacs
путем только три сочетания клавиш, которые я помню, являются CTRL-ALT-DEL.
Я использую Vim/gVim.
Я раньше использовал Emacs, но я нашел, что gVim для общей работы быстрее над более медленными машинами, плюс, из-за его требования POSIX, vi доступен почти везде.
При использовании Vim или gVim, я использую мышь много, поддержка его является большой, я думаю.
Я начал использовать Emacs, потому что было легче использовать для неопытного пользователя. Я нашел, что использование нано было довольно подвержено ошибкам по некоторым причинам, и в какой-то момент я понял, что я намного более доволен использованием vi.
Прямо сейчас это - смесь. Я использую Eclipse и gedit довольно часто, также. Vim, однако, является все еще моим фаворитом и наиболее используемым редактором.
Так как это не было явно указано, я добавлю, что нет никакой лучшей среды программирования (Lisp в поле, СЛИЗИ, и т.д.), чем немного измененное распределение Emacs. Все мои потребности программирования (99%) заботятся об из Vim, но для всех тех библиотек Lisp и стандартных программ я пишу, я должен разжечь Emacs для получения чего-либо сделанного продуктивного.
Я, оказывается, думаю, что "энергия является модальным" комментарием выше, является неправильным. Vim имеет команды. Можно сделать "11aNow, время для всех хороших мужчин.." и закончите с 11 идентичными новыми строками текста в Вашем файле. Это - команда, не режим. Но существует на самом деле очень простое различие в командах Vim по сравнению с командами Emacs. Я не совсем уверен, что могу описать это, но Eric Fischer включил редактирование строки Emacs-стиля в драйвер 10 TTY + несколько лет назад и опубликовал статью об этом:
http://www.usenix.org/event/usenix99/full_papers/fischer/fischer.pdf
Он нашел, что редактирование строки стиля Emacs существенно отличалось, чем vi-стиль.
Таким образом, Emacs имеет преимущество, что много других вещей (удар, gnuplot, zsh, ksh некоторые другие я не могу думать первое, что пришло на ум) все заканчивают тем, что реализовали редактирование строки Emacs-стиля.
Я должен отметить, что лично использую Vim все время. Я - только очень случайный пользователь Emacs.
set -o vi
в bash
или zsh
не слишком твердо для выполнения (или вставить rc
файл), по-моему.
– moon.musick
12.03.2014, 09:06
gnuplot
, Postgresql psql
, MySQL mysql
и тонна других интерфейсов все делают режим Emacs более или менее по умолчанию. Если только Oracle могла бы добраться sqlplus
сделать командную строку, редактирующую... не, нет. Это было бы слишком много для выяснения Крупнейшей Корпорации. У них есть Тенденции Для Следования!
– Bruce Ediger
12.03.2014, 14:56
inputrc
делает вещь для инструментов оболочки, но затем я ловлю меня задающийся вопросом в течение половины секунды почему j
не прокручивает вниз в, скажем, Рабочем столе Mendeley после переключения на него от терминала, и их просили относительно привязки энергии слишком несколько раз. Не может покрыть все и иметь последовательную среду, к сожалению.
– moon.musick
12.03.2014, 23:18
mysql(1)
, psql(1)
, gnuplot(1)
, также python(1)
, perlconsole(1)
, lftp(1)
, smbclient(1)
и действительно много интерактивных программ касалось привязок клавиш для редактирования строки. Всеми ими, программное обеспечение просто использует GNU Readline и режим по умолчанию для GNU Readline, является (неудивительно) подобный Emacs GNU. set editing-mode vi
в Вашем ~/.inputrc
и вуаля – все эти инструменты имеют подобные vi привязки клавиш.
– Dmitry Alexandrov
18.01.2015, 05:18
Я обычно использую Vim, но они - оба великие редакторы.
Обучение использовать vi было противно, но я прошел через него и учился любить его. Мои самые расстраивающие моменты были, когда клавиша Caps Lock шла. Вы могли попробовать gVim, но одним из самых больших преимуществ с vi и Emacs является способность сделать аккуратный материал при хранении рук на клавиатуру, и gVim, вероятно, сохранит Вас использующий мышь. (Обучение играть в подобные жулику игры одновременно дало мне практику с клавишами перемещения курсора, но заставило меня пытаться переместиться по диагонали в документы иногда.)
Emacs, вероятно, более доступен. Это является немодальным, и Вы не собираетесь завинчивать себя путем удара клавиши Caps Lock. Идея управлять редактором посредством ввода букв с клавишей CTRL вниз не должна быть слишком внешней современным продвинутым пользователям, хотя фактические ключи, чтобы сделать вещи будут казаться дикими и произвольными типичному пользователю Windows/Mac OS X. Снова, версии, которые позволяют Вам использовать мышь, делают Вам немного одолжений в конечном счете.
Оба требуют, чтобы некоторый уровень экспертных знаний использовал эффективно. В отличие от, скажем, Блокнота, Вы не можете просто сесть и отредактировать.
Оба настраиваются, хотя для моих денежных расширений записи в том же Lisp редактор записан в, делает более гладкий опыт. (Emacs, как обычно распределено, не является действительно редактором. Это - среда Lisp, адаптированная для обработки текста, с большим количеством предзаписанного программного обеспечения, включая редактора. Следовательно шутка "Emacs делает достойную оболочку, но это могло использовать лучшего редактора".)
Я обычно использую Vim, потому что после обширного обучения это чувствует себя легче. Это может произойти из-за преимуществ в системе режима, где огромные числа команд являются доступным использованием одного пальца около домашних строк, или "детского утиного синдрома", который применяется очень к редакторам: после того как Вы изучаете хороший, Вы обычно придерживаетесь его.
Вы не пойдете неправильно с помощью также.
Я вставлю свою ценность за 0,02$, когда я провел довольно много лет с помощью emacs и XEmacs и затем отодвинулся к энергии. Честно говоря, я на самом деле использовал vi вполне немного приблизительно в 1990-1992, таким образом, я был знаком с его пользовательским интерфейсом.
Emacs
Emacs был описан как система шепелявости, которая просто, оказалось, использовалась, чтобы записать редактору, и существует мелкая частица истины в этом. Можно реализовать в значительной степени что-либо, что Вы хотите в elisp, если Вы хотите не торопиться для понимания среды. Я не могу сказать, что когда-либо узнавал его, что хорошо, но я действительно трахал материал occssionally. Emacs и Xemacs не полностью совместимы на этом уровне, таким образом, сторонние сценарии могут работать один, но не другой.
Было замечено, что RMS и некоторые другие знаменитые хакеры Emacs должны были удалиться с программирования из-за проблем с OOS, где Bill Joy, Bram Moolenaar и различные другие vi светила все еще в нем. Emacs строг с Вашими пальцами мизинца.
Emacs является намного большим количеством католической системы, чем vi и просматривается как канонический пример оболочки программного обеспечения. Наряду с Netscape, это - один из вкладов jwz в доказательство этого закона.
Одна уникальная вещь, которую я сделал с xemacs однажды, состояла в том, чтобы иметь его работающий на машине и открыть x сессию на xterminal (на самом деле старый повторно ставивший целью Sun 3/60) в другой комнате против того же буфера на том же рабочем экземпляре.
Профессионалы: Расширяемый, более мощный, чем какой-либо другой редактор, известный человеку, сформировавшейся интеграции с в значительной степени каждым главным инструментом программирования бесплатного программного обеспечения.
Недостатки: Сомнительную эргономику, elisp не легко изучить.
Vim
Disclamer - Я пошел от использования emacs к энергии приблизительно 10 лет назад, и я обычно использую энергию в Windows и основанных на Unix/Linux системах.
У Vi и его потомков есть очень хорошее средство макроса клавиатуры для автоматизации редактирующих заданий. Средство сценариев в энергии не так сложно как elisp, но можно создать его с поддержкой Python, Tcl, Perl и возможно некоторых других систем. Я только иногда писал сценарии (за пределами .vimrc файлов) для энергии.
Vim имеет меньшее место, чем emacs, но это не большая часть грандиозного предприятия в эти дни.
Документация Vim и справка онлайн довольно хороши. Emacs имеет довольно хорошую онлайн-документацию, но я не думаю, что это столь же всесторонне как энергия.
Vim наследовал изворотливый модальный пользовательский интерфейс vi, но имеет способность вести себя много как редактор без модификации теперь, когда можно перейти в режиме вставки. В Windows это может вести себя вполне так же к приложению Windows.
Профессионалы: Хорошее средство макроса клавиатуры, проходимо хорошая расширяемость и сценарии, но не столь хороший как emacs. Vim или vi-derived редакторы являются стандартными на большинстве если не весь Unix или дистрибутивы Linux общего назначения. Возможно лучшая эргономика.
Недостатки: Модальный пользовательский интерфейс чувствует себя странным для людей, привыкших к Windows UIs. Меньше проблемы с энергией в эти дни.
Я использую обоих регулярно. Я представление Emacs как "живой в" редакторе, тогда как я использую Vim для быстрых, одноразовых задач. Поверхностно, Emacs намного более чрезмерно увеличен в размере, чем Vim, и таким образом, действительно не вполне столь же удобно "Разжечь" как Vim, но я также нахожу что основные положения пользовательского интерфейса от одного до другой поддержки эта парадигма. Emacs намного более создается для держания Вас внутри, делая вещи хорошими и удобными, таким образом, Вы не должны уезжать, тогда как энергия является намного большим количеством "Unixy" и рассматривает себя как часть большего пояса инструмента.
Многие люди бегут из Emacs из-за его сильной зависимости от маркерных битов, но это - довольно глупая причина для меня. Действительная мощность, которую Emacs имеет по Vim, является настраиваемостью, и с питанием Гадюки и т.д., это действительно не проблема. Конечно, Сценарий Vim обеспечивает свой собственный уровень настройки, и если бы, скажем, Вашему любимому языку программирования не предоставили соответствующий маркер синтаксиса, то Вы могли бы, конечно, приготовить тот, но Emacs является в конечном счете LISP-компьютером самохостинга, и в конце можно сделать много, намного больше игры с ним. Просто нет таких инструментов как гну или org-режим в Vim, для именования некоторых. Короче говоря Emacs не является просто редактором, это - практически проклятая операционная система бога.
Для управления текстом я сказал бы, что они точно на одном уровне.
Я думаю, что они являются оба потрясающими. Я думаю, что любой может сделать примерно что-либо, что можно вообразить, и они оба так настраиваемы, что к тому времени, когда Вы заканчиваете настраивать их, они оба просто точно, чем Вы хотите, чтобы они были, ничто больше, ни меньше.
Emacs выделяется мне в том, чтобы быть немного ближе (хотя все еще не встречается) к стандартам ISO/IEC удобства использования и непротиворечивости для пользовательских интерфейсов, и следовательно не играет, как много приемов с Вашими “инстинктами” о той энергии делают. Время жизни инстинктов, Вы разработали работу с другими программами, не будет работать против Вас.
Vim является совершенно другой моделью, и во многих отношениях, это выше самостоятельно, поскольку полагается намного меньше на последовательности Cntrl/Alt, и вместо этого только на его режимах, позволяя Вам держать Ваших оленей на домашней строке и вводе быстрее. Но энергия фактически уникальна, и если Вы не установите некоторое очень необычное сопроводительное программное обеспечение (например, Vimperator, Jumanji/Zathura, и т.д.), инстинкты, Вы разрабатываете работу с энергией, не пересекут к другим программам и наоборот. Тем не менее я обосновался на энергии сам. Необходимо обосноваться на одном рано или поздно, что бы там ни было, так как трудно освоить обоих.
Существует a vi
доступный в каждой системе Unix (или почти), однако Вы не можете сказать это ни о каком другом редакторе. Это - причина № 1, imo, чтобы изучить и ознакомиться с vi
(отметьте 'vi' не 'энергия'). Я никогда не видел, что Emacs доступен в установке по умолчанию.
Я не говорю, не используют Emacs, или это - единственная причина использовать Vim, но когда Вы хотите смочь использовать системы Unix, которые не являются Вашими... vi
часть универсального языка.
vim
пользователь, но я часто нахожу трудным использовать vi
, скорее всего, из-за клавиши END (энергия поддерживает его, но vi не делает или по крайней мере не делает по умолчанию),
– phunehehe
22.08.2010, 16:49
nano
Я заканчиваю с целым набором ijkloOah's в моем файле..., пока я не понимаю, что не могу использовать тех, которые для навигации. Я не использую клавиши со стрелками для навигации.
– xenoterracide
22.08.2010, 19:41
vim
:)
– Gaurav
23.08.2010, 09:22
Я отправлю то, что я думаю, основные преимущества каждого:
Emacs имеет значительно больше расширений, чтобы позволить Вам сделать задачи, которые являются только неопределенно связанным текстовым редактором, как просмотр файловой системы или питание с управлением версиями и расширениями, которые никоим образом не являются связанным текстовым редактором, как чтение каналов RSS. Если Вы хотите среду вместо просто текстового редактора, Emacs будет лучше, чем Vim. Я также думаю, что Emacs намного легче изучить, несмотря на то, чему некоторые сделали бы, чтобы Вы верили:
В частности, я думаю, что пользователь новичка Emacs будет быстрее, чем пользователь Vim новичка
С другой стороны, Vim бесспорно быстрее. Кажется, что это - базовая часть аргумента, но по-моему нет никакого конкурса вообще; я считаю меня быстрым пользователем Emacs, и я не иду ни в какое сравнение с людьми пары, я знаю, что имеют равное знание Vim. Проблема, число людей, которые имеют достаточное мастерство Vim, чтобы быть, который быстро является невероятно маленьким (этих ~30 человек я регулярно говорю, кто использует Vim, я думаю, что только один исключительно хорош в нем). Существует большой разрыв между возможным выигрышем в быстродействии и усилением действительной скорости, которого Вы достигаете; пользователи Emacs собираются быть почти с такой скоростью, как 99% пользователей Vim, и (как я сказал в разделе Emacs), начинающие пользователи Emacs, вероятно, будут быстрее, чем начинающие пользователи Vim
Главная причина я не использую vi/vim, состоит в том, что это модально. Главная причина я действительно использую vi, состоит в том, что это доступно почти везде.
Основное различие между Emacs и Vim является эргономическим. Существует синдром канала запястья, CTS, как Вы знаете. Emacs является очень "опасностью", если у Вас есть CTS и provocates CTS. Vim - не, можно читать об этом различии во многих местах. Для напр., в Vim можно отредактировать текст только с одним пальцем. В Emacs - Вы не можете :)
Я использую и gVim и Emacs достаточно хорошо, чтобы быть продуктивным, хотя я не опытен ни в одном. Одна вещь, которую я могу сказать с уверенностью, состоит в том, что Vim и gVim, выполненный быстрее на моем ноутбуке Windows 7 (который я должен использовать на работе). Emacs, на поле Windows, имеет нечетную привычку к "приостановке" для до минуты и становления безразличным, даже продолжая принимать ввод с клавиатуры, перед выкладыванием всего накопился в буфере клавиатуры в порыве. Этого не происходит в Mac OS или Linux. Тем не менее, я использую Vim или gVim большую часть времени на всех платформах именно так, я не должен останавливаться и думать, о котором редакторе я использую и корректируюсь. Тем не менее в просто *отклоняют среду, я, вероятно, остался бы с Emacs, потому что я нахожу немодальное редактирование немного более естественным.
Нижняя строка: по-моему, оба редактора достаточно мощны для обработки любого и всех потребностей редактирования текста. Выбор должен быть основан на практических соображениях (как специфические особенности реализации платформы), и рабочий стиль.
"Каковы плюсы и минусы Vim и Emacs?" -Ха!
Я в основном оставлю профи другим.
Минусы обоих из них в том, что они оба старой школы. Я использовал, наверное, 50 различных редакторов на протяжении многих лет, от редакторов строки Basic до сверхбыстрых редакторов с кодом на ассемблере (и VEDIT для одного ), до причудливых редакторов с графическим интерфейсом, некоторые лучше других. Я даже написал свой собственный специальный редактор под названием ForthStar и адаптировал его для редактирования дерева листьев btrieve с несколькими индексами для мощного поиска, например, для мгновенного поиска последних листьев, которые я только что отредактировал, или для быстрого поиска компонентов кода или родителей листьев. или дети.
Я думаю, что и vi, и emacs являются скорее религией, чем мускулами. Творческие умы, создавшие их, в значительной степени продвинулись вперед, а новой опоре не хватает мужества и умения -изобретать их заново.
Да, Emacs может многое, но его работа замедляется из-за шепелявости, прекрасного и уже почти устаревшего языка.
Оба застряли в сложных раскладках клавиатуры. Emacs может немного подстроиться под пользователя, как минимум, распознав, что есть клавиша Alt, а не старая мета. И, подобно WordStar, признают, что сохранение C -A C -B прямо из C -A B при быстром наборе не стоит различия. Лучше просто иметь тот, который запускается любой комбинацией клавиш. Да, вы можете изменить привязки клавиш, но тогда какой беспорядок у вас будет позже.
Vi умен, но ему не хватает мощного поиска и замены, как в Notepad++, который показывает вам, что он нашел, позволяет вам расширять его и выборочно применять его в цвете, просто упомянув одно нововведение.
Почти любое другое приложение с графическим интерфейсом в наши дни позволяет изменять масштаб с помощью колесика мыши. Графический интерфейс Emacs, похоже, не работает. И где хороший греческий язык, как у Кейт?
Моей любимой раскладкой клавиатуры на протяжении многих лет был ромб курсора Wordstar. По крайней мере, это было легко освоить и сразу имело смысл.Больше всего я ненавидел WordPerfect, который увеличивал сложность и, похоже, был основан на emacs.
Посмотрим правде в глаза, в наши дни в большинстве стран мира есть GUI. И нравится вам это или нет, текстовые редакторы несколько застряли в своем возрасте.
Я думаю, что было бы лучше иметь универсальный редактор, который мог бы легко переключаться между emacs, vi, wordstar и другими раскладками клавиш, не теряя более мощных команд, которые он может предложить. Настоящим программистам приходится использовать различные инструменты редактирования. Почему бы не иметь редактора, который удовлетворяет наши потребности в выполнении работы, а не заставляет нас делать то, что делает он?