Có tệp mở trong tab trong GVim


2

Tôi đang gặp rắc rối với gvimvà các tab. Sử dụng Ubuntu, có gedittrình soạn thảo, mở tệp trong tab mới, nhưng gvimmở một cửa sổ mới cho mỗi tệp tôi mở. Tôi chắc chắn thích có các tab, giống như mọi ứng dụng khác tôi sử dụng. Có 5 cửa sổ gvim mở đồng thời áp đảo tôi.

Vì vậy, có cách nào để chỉnh sửa .gvimrc để làm cho nó mở các tệp mới trong các tab mới thay vì mở một cửa sổ gvim mới không? Tôi chắc chắn thích một giải pháp .gvimrc hơn một giải pháp Nautilus.

Câu trả lời:


2

Sử dụng tính năng máy khách / máy chủ của vim / gvim.

gvim --remote-tab myfile

Điều này hoạt động cho cả phiên bản terminal và GUI của vim, miễn là chúng được biên dịch ( vim --version) với +clientservertính năng này. (Tùy chọn thêm để đặt tên ví dụ, mặc định là .)--servername fooGVIM

Thật không may, bạn không thể làm điều này từ .vimrc. Bạn cũng sẽ phải:

  • viết một kịch bản lệnh bao bọc , ví dụ ~/bin/gvim:

    #!/bin/sh
    exec /usr/bin/gvim --remote-tab-silent "$@"
    

    ( --remote-tab-silentsẽ khiến một máy chủ mới được khởi động âm thầm nếu cần)

  • sửa đổi tệp gvim.desktop để bao gồm các lệnh máy chủ:

    $ mkdir -p ~/.local/share/applications
    $ cp {/usr,~/.local}/share/applications/gvim.desktop
    $ vim -e ~/.local/share/applications/gvim.desktop
    :/^Exec=/ s/gvim/& --remote-tab-silent/
    :wq
    $
    

Phương thức tập lệnh bao bọc có thể sẽ bao gồm nhiều trường hợp hơn là chỉnh sửa tệp .desktop.


Cảm ơn! Tôi đã sử dụng phương thức kịch bản lệnh bao bọc và nó hoạt động hoàn hảo! Sử dụng tập lệnh bao bọc dễ mang theo hơn, vì tôi có thể sao chép các dotfiles của mình ở bất cứ đâu và gvim được gắn thẻ sau đó sẽ hoạt động.
Tarrasch

Đối với bất kỳ ai gặp vấn đề với gvim.desktopphương thức này, hãy thử sử dụng dòng exec này : Exec=bash -c "gvim --remote-tab-silent %f || gvim". Điều này làm cho biểu tượng dấu gạch ngang vẫn hoạt động. Ngoài ra, nếu bạn nhận được một con trỏ quay trong một thời gian dài sau khi mở gvim, hãy đặt StartupNotifythành true.
nkorth
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.