Come creare un collegamento simbolico a / usr / bin / vim ma con i parametri di avvio?


13

Dopo che ho make&make installvim dalla fonte, ho trovato molti collegamenti simbolici di vim in /usr/local/bin, come evim, rvim, view ...

La vim(1)pagina man diceva che "rvim" equivale a "vim -Z" e così via.

Ora mi chiedo: posso creare un legame così simbolico con ln(1)me stesso, e se sì, come?


1
Intendi make && make install? Solo uno &dovrebbe compilare in background e provare a installare in primo piano.
Kevin

@Kevin È una questione di abitudine, credo.
bigeast

Risposte:


25

Non puoi senza scrivere un po 'di codice.

Queste scorciatoie per i collegamenti simbolici funzionano perché vimsono scritte in questo modo. Guarda come (con quale nome) è stato avviato e si comporta come se fosse stato chiamato con le opzioni appropriate della riga di comando.
Questo comportamento è codificato nell'eseguibile, non è un trucco fatto dal collegamento simbolico.

Quindi, se vuoi farlo da solo, il più semplice è scrivere un piccolo script wrapper che execsia vimcon le opzioni che desideri:

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

Alla "$@"fine passa semplicemente tutte le opzioni della riga di comando fornite allo script insieme a vim.


5

Puoi farlo in modo circolare tramite la configurazione della shell. Qualcosa di simile a

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

avrebbe funzionato in bash / zsh. Ti permette di personalizzare le cose senza fare scherzi con sudo / root.


1
Questo non funzionerà a bashproposito ... Alias ​​dovrebbe essere definito alias big_vim='gvim -p -geom 126x512'invece.

2

Non puoi farlo.

VIM controlla che sia in esecuzione il percorso all'avvio, ad esempio collegando il binario originale a rvim, il percorso in esecuzione diventa /path/to/rvim, in tal caso, VIM aggiungerà -Zautomaticamente il parametro anche se non lo hai specificato.

Ma se stai solo eseguendo VIM nel terminale, dovresti:

Per bash, aggiungi un alias a ~ / .bashrc

alias vim='vim -Z'

Modificare il parametro in base alle proprie esigenze.

Per csh / tcsh, rimuovere il =simbolo,

per esempio alias vim vim -Z

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.