Wie erstelle ich eine symbolische Verknüpfung zu / usr / bin / vim, aber mit Startparametern?


13

Nachdem ich make&make installvon der Quelle aus vim gemacht habe, habe ich viele symbolische Links von vim gefunden /usr/local/bin, wie evim, rvim, view ...

Die vim(1)Manpage sagte, dass "rvim" gleichbedeutend ist mit "vim -Z" und so weiter.

Jetzt frage ich mich: Kann ich eine solche symbolische Verbindung mit ln(1)mir selbst herstellen, und wenn ja, wie?


1
Meinst du make && make install? Nur eine &würde im Hintergrund kompilieren und versuchen, im Vordergrund zu installieren.
Kevin

@ Kevin Es ist eine Gewohnheit, denke ich.
Bigeast

Antworten:


25

Sie können nicht ohne ein bisschen Code schreiben.

Diese Symlink-Verknüpfungen funktionieren, weil sie vimso geschrieben sind. Es zeigt an, wie (mit welchem ​​Namen) es gestartet wurde und verhält sich, als ob es mit den entsprechenden Befehlszeilenoptionen aufgerufen worden wäre.
Dieses Verhalten ist in der ausführbaren Datei fest codiert. Es ist kein Trick, den der symbolische Link ausführt.

Also , wenn Sie das selbst tun wollen, ist die einfachste einen kleinen Wrapper - Skript zu schreiben , dass execs vimmit den gewünschten Optionen:

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

Das "$@"am Ende übergibt einfach alle Befehlszeilenoptionen, die dem Skript gegeben wurden, an vim.


5

Sie können dies auf Umwegen über Ihre Shell-Konfiguration tun. Etwas wie

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

würde in bash / zsh arbeiten. Damit können Sie Dinge anpassen, ohne sich mit sudo / root herumschlagen zu müssen.


1
Dies funktioniert bashübrigens nicht ... Der Alias ​​sollte stattdessen definiert alias big_vim='gvim -p -geom 126x512'werden.

2

Das kannst du nicht machen.

VIM prüft den Ausführungspfad beim Start, z. B. durch Verknüpfen der ursprünglichen Binärdatei mit rvim. /path/to/rvimIn diesem Fall fügt VIM den -ZParameter automatisch hinzu, auch wenn Sie dies nicht angegeben haben.

Wenn Sie VIM jedoch nur im Terminal ausführen, sollten Sie:

Fügen Sie für bash einen Alias ​​zu ~ / .bashrc hinzu

alias vim='vim -Z'

Ändern Sie den Parameter entsprechend Ihren Anforderungen.

Entfernen Sie für csh / tcsh das =Symbol,

z.B alias vim vim -Z

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.