Как сделать символическую ссылку на / usr / bin / vim, но с параметрами запуска?


13

После того, как я получил make&make installvim из источника, я нашел много символических ссылок vim /usr/local/bin, таких как evim, rvim, view ...

На vim(1)странице руководства сказано, что "rvim" эквивалентен "vim -Z" и так далее.

Теперь я задаюсь вопросом: могу ли я создать такую ​​символическую связь с ln(1)собой, и если да, то как?


1
Вы имеете в виду make && make install? Просто &можно скомпилировать в фоновом режиме и попытаться установить на переднем плане.
Кевин

@Kevin Думаю, это привычка.
bigeast

Ответы:


25

Вы не можете без написания небольшого количества кода.

Эти сочетания клавиш работают, потому что vimнаписано именно так. Он смотрит на то, как (с каким именем) он был запущен, и действует так, как если бы он был вызван с соответствующими параметрами командной строки.
Это поведение жестко закодировано в исполняемом файле, это не уловка, выполняемая символической ссылкой.

Поэтому, если вы хотите сделать это самостоятельно, проще всего написать небольшой скрипт-обертку execс vimопциями, которые вы хотите:

#!/bin/sh
exec vim <options you want> "$@"

В "$@"конце команда просто передает любые параметры командной строки, данные сценарию, в vim.


5

Вы можете сделать это окольным путем через вашу конфигурацию оболочки. Что-то вроде

alias big_vim='gvim -p -geom 126x512'

будет работать в Bash / Zsh. Это позволяет настраивать вещи, не связываясь с sudo / root.


1
bashКстати, это не сработает ... alias big_vim='gvim -p -geom 126x512'Вместо этого следует определить псевдоним .

2

Вы не можете сделать это.

VIM проверяет рабочий путь при запуске, например, связывая исходный двоичный файл с rvim, рабочий путь становится /path/to/rvim, в этом случае VIM автоматически добавит -Zпараметр, даже если вы его не указали.

Но если вы используете только VIM в терминале, вам следует:

Для bash добавьте псевдоним в ~ / .bashrc

alias vim='vim -Z'

Измените параметр в соответствии с вашими потребностями.

Для csh / tcsh удалите =символ,

например alias vim vim -Z

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.