Bagaimana cara membuat tautan simbolis ke / usr / bin / vim tetapi dengan parameter start-up?

13

Setelah saya make&make installvim dari sumber, saya menemukan banyak tautan simbolik dari vim /usr/local/bin, seperti evim, rvim, view ...

The vim(1)halaman manual mengatakan bahwa "rvim" setara dengan "vim Z" dan seterusnya.

Sekarang saya bertanya-tanya: dapatkah saya membuat tautan simbolis dengan ln(1)diri saya sendiri, dan jika demikian, bagaimana?

bigeast
sumber
1
Apakah yang Anda maksud make && make install? Hanya satu yang &akan dikompilasi di latar belakang dan mencoba untuk menginstal di latar depan.
Kevin
@ Kevin Ini masalah kebiasaan, saya pikir.
bigeast

Jawaban:

25

Anda tidak bisa tanpa menulis sedikit kode.

Pintasan symlink tersebut berfungsi karena vimditulis seperti itu. Itu terlihat pada bagaimana (dengan nama apa) itu dimulai dan bertindak seolah-olah telah dipanggil dengan opsi baris perintah yang sesuai.
Perilaku ini adalah hardcoded di executable, itu bukan trik yang dilakukan oleh tautan simbolik.

Jadi jika Anda ingin melakukannya sendiri, yang paling mudah adalah dengan menulis naskah wrapper kecil yang execs vimdengan opsi yang Anda inginkan:

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

Pada "$@"akhirnya hanya melewati opsi baris perintah yang diberikan ke skrip bersama untuk vim.

Tikar
sumber
5

Anda dapat melakukan ini secara tidak langsung melalui konfigurasi shell Anda. Sesuatu seperti

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

akan bekerja di bash / zsh. Hal ini memungkinkan Anda untuk menyesuaikan hal-hal tanpa mengacaukan sudo / root.

Sardathrion - menentang penyalahgunaan SE
sumber
1
Ngomong bash-ngomong, ini tidak akan berfungsi ... alias harus didefinisikan alias big_vim='gvim -p -geom 126x512'sebagai gantinya.
2

Kamu tidak bisa melakukan itu

VIM memeriksa jalur yang berjalan saat mulai, misalnya dengan menautkan biner asli ke rvim, jalur yang berjalan menjadi /path/to/rvim, dalam hal itu, VIM akan menambahkan -Zparameter secara otomatis bahkan jika Anda tidak menentukannya.

Tetapi jika Anda hanya menjalankan VIM di terminal, Anda harus:

Untuk bash, tambahkan alias ke ~ / .bashrc

alias vim='vim -Z'

Ubah parameter sesuai kebutuhan Anda.

Untuk csh / tcsh, hapus =simbol,

misalnya alias vim vim -Z

bunga aster
sumber