Làm cách nào để tạo một liên kết tượng trưng đến / usr / bin / vim nhưng với các tham số khởi động?


13

Sau khi tôi make&make installvim từ nguồn, tôi tìm thấy nhiều liên kết tượng trưng của vim trong /usr/local/bin, chẳng hạn như evim, rvim, xem ...

Các vim(1)trang người đàn ông nói rằng "rvim" tương đương với "vim -Z" và vân vân.

Bây giờ tôi tự hỏi: tôi có thể tạo một liên kết tượng trưng như vậy với ln(1)bản thân mình không, và nếu vậy, làm thế nào?


1
Ý bạn là make && make installsao Chỉ cần một người &sẽ biên dịch trong nền và cố gắng cài đặt ở nền trước.
Kevin

@Kevin Đó là vấn đề của thói quen, tôi nghĩ vậy.
bigeast

Câu trả lời:


25

Bạn không thể không viết một chút mã.

Những phím tắt symlink hoạt động vì vimđược viết theo cách đó. Nó xem xét cách (với tên gì) nó đã được bắt đầu và hoạt động như thể nó đã được gọi với các tùy chọn dòng lệnh thích hợp.
Hành vi này được mã hóa cứng trong thực thi, nó không phải là một thủ thuật được thực hiện bởi liên kết tượng trưng.

Vì vậy, nếu bạn muốn làm điều đó cho mình, dễ nhất là để viết một kịch bản wrapper nhỏ mà execs vimvới các tùy chọn mà bạn muốn:

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

Các "$@"cuối cùng chỉ đơn giản là đi bất kỳ tùy chọn dòng lệnh cho kịch bản cùng với vim.


5

Bạn có thể làm điều này theo cách vòng qua cấu hình shell của bạn. Cái gì đó như

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

sẽ làm việc trong bash / zsh. Nó cho phép bạn tùy chỉnh mọi thứ mà không làm phiền với sudo / root.


1
Điều này sẽ không hoạt động bashbằng cách này ... Thay vào đó, bí danh nên được xác định alias big_vim='gvim -p -geom 126x512'.

2

Bạn không thể làm điều đó.

VIM kiểm tra đường chạy của nó khi bắt đầu, ví dụ: bằng cách liên kết nhị phân gốc với rvim, đường dẫn chạy trở thành /path/to/rvim, trong trường hợp đó, VIM sẽ -Ztự động thêm tham số ngay cả khi bạn không chỉ định điều đó.

Nhưng nếu bạn chỉ chạy VIM trong thiết bị đầu cuối, bạn nên:

Đối với bash, thêm bí danh vào ~ / .bashrc

alias vim='vim -Z'

Thay đổi thông số cho phù hợp với nhu cầu của bạn.

Đối với csh / tcsh, xóa =biểu tượng,

ví dụ alias vim vim -Z

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.