Какова команда 'редактора' в ударе?

Короткий ответ:

Переменные не занимают дважды место в 64-разрядном по сравнению с 32-разрядным программным обеспечением. Потенциальное усиление памяти от переключения до 32-разрядной ОС не будет стоить усилия.

Длинный ответ:

Число может быть больше да, но это не означает, что они будут. Также это относится к числам, не строкам, и строки (обычно), что использует большую часть объема памяти в приложении.

Кроме того, много приложений явно указывают размер числа, они хотят работать с, как на языках как C, int может быть любой размер, включая меньший, чем 32-разрядный. И движение еще больше, на моей 64-разрядной машине Linux, в C int является 32-разрядным. Таким образом, необходимо было бы явно запросить long long получить 64-разрядное число.

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

Править:
В ответ на заявление Жабр, что 64-разрядный Firefox использует вдвое больше памяти, я пошел и сделал сравнение между 32-разрядным и 64-разрядным Firefox в моей системе.
Я протестировал путем запуска 5 вкладок, открытых для http://acid3.acidtests.org/, и выполнил тест 3 раза (однажды в 32-разрядном, однажды в 64-разрядном, и затем повторитесь дважды). Я выбрал этот сайт, потому что это - интенсивный JavaScript, и использует статическое содержание (каждый рендеринг страницы обеспечит те же данные).

На выполненном финале:

  • 32-разрядный: RSS 173,244 КБ / 918,348 КБ virt

  • 64-разрядный: RSS 184,588 КБ / 966,624 КБ virt

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

7
13.04.2017, 15:36
5 ответов

Это - Debian-изм (и поэтому появляется в Ubuntu, Монетном дворе, и т.д.). Они имеют, устанавливают названную ссылку editor. Можно проследить его следующим образом:

$ which editor
/usr/bin/editor

$ ls -l /usr/bin/editor 
lrwxrwxrwx 1 root root 24 Nov 24 19:10 /usr/bin/editor -> /etc/alternatives/editor

$ ls -l /etc/alternatives/editor
lrwxrwxrwx 1 root root 18 Nov 24 19:46 /etc/alternatives/editor -> /usr/bin/vim.gnome

$ ls -l /usr/bin/vim.gnome
-rwxr-xr-x 1 root root 2403392 Oct 26  2012 /usr/bin/vim.gnome

Таким образом, Вы видите это editor просто ссылка Unix на исполняемый файл vim.gnome.

Используя editor?

Я не думаю, что вошел бы в то направление установки editor любым значимым способом к пользователям, учитывая он не то, что я рассмотрел бы стандартом.

Дополнительно можно установить $EDITOR переменная среды для указания на что-либо Вы хотите, vim, gedit, emacs, и т.д., Но эта переменная, как только гарантируют, будет использоваться другими инструментами такой как sudo, git, и subversion это специально предназначено, чтобы быть связанным в использование переменной $EDITOR.

Идеи реализации

Я просто установил бы псевдоним Вашего собственного выбора, и любой сообщает пользователям, что это доступно им через их $HOME/.bashrc файл как псевдоним X, или настроенный это как конфигурация системы в файле /etc/profile.d/our_aliases.sh, как искажают X.

Или Вы могли просто сказать пользователям, что системы обеспечивают gedit, gvim, vim, emacs, и т.д. и прорубленный сахарное покрытие и преподают их этим вещам сразу.

Или Вы могли обеспечить названный текстовый файл /etc/help.txt который они могли выполнить через команду help (alias help="less /etc/help.txt") в оболочке, которая обеспечила бы основные команды и как выполнить различные задачи. Этот подход позволяет Вам настраивать справку с течением времени с новыми возможностями или подсказками, и это дает им больше, чем просто editor команда удобства.

6
27.01.2020, 20:14
  • 1
    Ya, пользователи будут знать то, чем вызывают их редактора, и я просто скажу им редактировать конкретный файл вместо того, чтобы показать пример кода. Я был в ударе с примерами кода, и я не понял, что становился немного педантичным. Это слишком плохо, который Ubuntu не устанавливает $EDITOR переменная, теперь я не могу полагаться на это или editor символьная ссылка. –  Dan Ross 25.05.2013, 23:55
  • 2
    s/Ubuntu/Debian/g –  Stéphane Chazelas 25.05.2013, 23:57
  • 3

Редактор, названный некоторыми программами, когда Вы говорите им редактировать файл. Необходимо установить переменную среды сами.

Если Вы используете csh или tcsh при приглашении оболочки:

setenv EDITOR vim

При использовании удара или ksh то войдите:

EDITOR=vim; export EDITOR

(Замените "энергию" редактором, которого Вы хотите использовать.)

EDITOR переменная является той, в которой Вы нуждаетесь по умолчанию, чтобы некоторые приложения вызвали редактора. Существует другая названная переменная VISUAL используемый для определения ориентированного на экран редактора. Обычно Вы будете хотеть установить его на то же значение как EDITOR переменная. Первоначально EDITOR имел бы быть установленным на редактора (основанный на строке редактор) и VISUAL был бы установлен на vi (основанный на экране редактор).

VISUAL="vim"; export VISUAL
VISUAL="$EDITOR"; export VISUAL  #even better

При выполнении этого большинство программ Unix, которые используют текстовые редакторы, будет использовать редактора, которого Вы установили. Следующим команды выше, Вы установите редактора по умолчанию для текущей вычислительной сессии только. Для внесения этих изменений постоянными необходимо будет поместить соответствующие команды, описанные выше в Вашем .login или .cshrc файлы (для csh или tcsh пользователей) или Ваш .profile файл (если Вы используете удар или ksh).

Существует также другая переменная среды, если Вы симулируете использовать Emacs. Это ALTERNATE_EDITOR, и имеет тот же эффект, но он используется, когда Emacs вызывается с --alternate-editor опция.

Из руководства Emacs GNU:

Опция --alternate-editor=command полезно при выполнении emacsclient в сценарии. Это указывает команду, чтобы работать если emacsclient сбои для контакта с Emacs. Например, следующая установка для EDITOR переменная среды будет всегда давать редактору, даже если Emacs не будет работать:

EDITOR="emacsclient --alternate-editor vi +%d %s"
7
27.01.2020, 20:14
  • 1
    Высказывание sh не имеет смысла. sh обычно оболочка системы. Это раньше было Thomson оболочкой, затем Оболочка Bourne и затем в наше время в большинстве систем, одной оболочке или другой реализации POSIX sh спецификация. export EDITOR=vim синтаксисом является POSIX, но не Bourne, ни Thomson. export VISUAL=$EDITOR работы в bash и некоторые реализации ksh. Вам нужно export VISUAL="$EDITOR" в большинстве других оболочек. VISUAL=$EDITOR export VISUAL будет работать во всех подобных Границе оболочках включая Оболочку Bourne. –  Stéphane Chazelas 25.05.2013, 23:53
  • 2
    Это распространенный и принятый установить EDITOR к значению многословному как этот? Если так, я не могу безопасно использовать which "$EDITOR" или which $EDITOR проверять, присутствует ли это. –  joeytwiddle 25.02.2016, 09:59

Необходимо будет указать editor в переменной среды EDITOR. Включите следующую команду Ваш .profile:

export EDITOR=editor

Если Вы хотите vim как Ваш редактор по умолчанию, Вы добавите вместо этого

export EDITOR=vim

Персональное предпочтение: Я использую абсолютный путь редактора в переменной среды. Например,

export EDITOR=/usr/bin/vim

3
27.01.2020, 20:14

editor команда является конкретной человечностью. Это не портативно или даже распространено (за пределами человечности). Команда также установлена в масштабе всей системы, и не в расчете на пользователя. Путем это работает, это /usr/bin/editor просто символьная ссылка на редактора в системе. Как таковой это - то же для всех пользователей.

$EDITOR переменная среды является довольно стандартной. Это используется многими программами, для которых нужен пользователь для редактирования чего-то. По сути, это - эта переменная, которую необходимо использовать, когда Вы хотите вызвать редактора пользователя.

1
27.01.2020, 20:14
  • 1
    Это не конкретная Ubuntu, это прибывает из Debian и использует механизм альтернатив Debian. Это доступно во всех производных Debian, не только Ubuntu. –  Stéphane Chazelas 25.05.2013, 23:56

Вот что я использую в своем сценарии:

# Find a suitable text editor
editor="$VISUAL"
[ -z "$editor" ] && editor="$EDITOR"
[ -z "$editor" ] && which editor >/dev/null && editor=editor
[ -z "$editor" ] && which nano   >/dev/null && editor=nano
[ -z "$editor" ] && which vi     >/dev/null && editor=vi
[ -z "$editor" ] && editor=no_editor_found

# Use the editor we found
$editor "$filename"

Я не обернул кавычки вокруг последнего вызова $editor, чтобы гарантировать, что приведенный выше пример с emacsclient будет работать.

Из-за этого, я думаю, важно всегда задавать какое-то значение для editor, иначе последняя строка может непреднамеренно выполнить $filename. В моем случае я выбрал no_editor_found, но вы также можете использовать pico или ed.

0
27.01.2020, 20:14

Теги

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