как изменить путь команды vim

Рассмотрим следующий вывод:

$ vmstat 
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
0  0   3532 148760  50700 1397880    0    0     1     2    6    6  3  1 97  0

Эти данные предоставляют среднее представление о виртуальной памяти и использовании системы с момента последней перезагрузки. Часто используется следующая форма команды:

vmstat [interval] [count]

В этом примере первая строка данных будет содержать среднее значение с момента последней загрузки (которую вы можете отбросить).

Последующие отчеты , пока не будет достигнут [count] (остановит vmstat), сообщают данные о текущем состоянии системы каждые [интервал] секунд.

1
04.06.2019, 22:45
2 ответа

Использовать псевдоним.

Псевдоним определяется в одном из ваших файлов BASH RC, например ~/.bashrc. Ниже, если /usr/local/bin/vimявляется символической ссылкой, создайте псевдоним с именем vim.

if [ -h '/usr/local/bin/vim' ]; then
    alias vim='/usr/local/bin/vim'
fi

Ту же логику можно применить следующим образом.

[ -h '/usr/local/bin/vim' ] && alias vim='/usr/local/bin/vim'
  • -hпроверяет, является ли файл символической ссылкой, что может иметь место при использовании Homebrew.
  • -xпроверяет, является ли файл обычным исполняемым файлом.

(Можно определить, что файл является ссылкой, когда ls -lпоказывает первую букву своих разрешений как букву l в l rwxr -xr -x.)

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

EDITOR='/usr/local/bin/vim'
VISUAL='/usr/local/bin/vim'

После добавления определения в RC-файл вашей оболочки укажите источник RC-файла, чтобы выбрать новый псевдоним с помощью source ~/.bashrcили любого другого файла, подходящего для вашей конфигурации BASH. Команда command -v vimпоказывает, что псевдоним был создан, когда ее вывод выглядит следующим образом.

alias vim=/usr/local/bin/vim

В обеих версиях vimиспользуются одни и те же файлы VIM RC.

Преимущество указания на символическую ссылку вместо двоичного исполняемого файла заключается в том, что псевдоним не нужно обновлять при каждом обновлении MacVim, что часто бывает. Например, Homebrew сохраняет символическую ссылку, указывающую на правильный двоичный исполняемый файл, когда обновления выполняются с помощью brew update && brew upgrade.


Версия системы /usr/bin/vimдолжна оставаться на месте. Без отключения защиты целостности системы (SIP )его нельзя удалить или изменить в любом случае. По-прежнему можно использовать системную версию, набрав /usr/bin/vim, однако ввод vimвызывает /usr/local/bin/vim.


Измените путь.

Другой способ, который будет работать для всего программного обеспечения, установленного через Homebrew, — это изменить PATHтак, чтобы все программное обеспечение, установленное Homebrew, было первым в PATH. Для начала необходимо знать, в каком файле zshRC уже содержится определение пути.

cd
grep path.z*

Один из результатов может включать fpath. Это не правильная переменная. Мы ищем переменную нижнего регистра -с именем path. После определения имени файла для редактирования (вероятно, ~/.zshrcили ~/.zprofile) измените значение переменной path. Например, приведенный ниже pathсначала определяет /usr/local/binи /usr/local/sbin, за которыми следуют сценарии или программы в домашнем каталоге и, наконец, остаток пути, который уже был определен системой.

path=(
    /usr/local/{bin,sbin}
    $HOME/bin
    $path
)

Результирующая переменная Unix PATHбудет определена следующим образом.

/usr/local/bin:/usr/local/sbin:/Users/$username/bin:/usr/bin:/bin:/usr/sbin:/sbin

Переменныеzshpathи Unix PATH«связаны вместе» посредством typseset, так что просто sourceфайл, который был отредактирован для изменения pathпеременной :source ~/.zprofile, например. Затем взгляните на переменную PATH, чтобы узнать, была ли она изменена должным образом :echo $PATH.


Сопровождающие пакеты Homebrew довольно хорошо распознают, какое программное обеспечение вызовет проблемы с macOS, если /usr/local/binстоит первым в пути перед /usr/bin. Например, если Homebrew должен установить GNU id, тогда имя программного обеспечения в /usr/local/binбудет gid, чтобы избежать проблем с BSD idв /usr/bin.

3
27.01.2020, 23:30

Стандарт brew заключается в том, чтобы поместить /usr/local/binна ваш PATHперед системными каталогами, такими как /usr/bin, чтобы его команды выполнялись первыми.

0
27.01.2020, 23:30

Теги

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