Tại sao Vim cho Debian được biên dịch mà không có clipboard?


20

Tôi tò mò về lý do tại sao gói Debian mặc định cho vim (gói bạn thường dùng sudo apt-get install vim) không được biên dịch với hỗ trợ clipboard?

Không thường xuyên -clipboardhoặc -Xterm-clipboardđược kích hoạt, tại sao ?

Có thể có lý do để không bao gồm -Xterm-clipboard khi cài đặt Debian mà không cài đặt máy chủ X, nhưng thông thường -clipboard?

Bất kỳ cái nhìn sâu sắc về lý do tại sao điều này sẽ rất hữu ích.

( Làm rõ: Tôi biết tôi có thể biên dịch Vim bằng các cờ này. Tôi chỉ muốn biết tại sao chúng không được bật theo mặc định. )


Điều gì cung cấp cho clipboard nếu không phải X? xterm-clipboard là một điều khác biệt; đó là cho các bộ đệm mà xterm cung cấp (xem, ví dụ: askubfox.com/a/541730/158442 ).
muru

nhưng xterm-clipboard cũng là một tính năng được cung cấp bởi máy chủ X
Christian Brabandt

2
@muru không tồn tại thứ gọi là bộ đệm giống như xterm. Ý bạn là bộ đệm cắt X, là một tính năng của X Server cung cấp một số phương tiện liên lạc giữa các máy khách X, thường được gọi là Clipboard (Ctrl-V, CTRL-X, Ctrl-V trong các máy khách để bàn thông thường ) và cái còn lại là chuột giữa của bất cứ thứ gì đã được chọn với chuột trước đó. Mặc dù điều này được gọi là xterm_clipboard nhưng nó không liên quan gì đến xterm.
Christian Brabandt

2
@ChristianBrabandt huh, tôi luôn nghĩ bộ đệm cắt này là thứ gì đó từ xterm, như bộ đệm dán của màn hình và tính năng này hỗ trợ bộ đệm như vậy. Cảm ơn đã sửa!
muru

1
Thông minh trong tôi sẽ bảo bạn cài đặt Neovim vì nó phân phối với khá nhiều cờ biên dịch có lợi cho việc chỉ thử mọi thứ trong thời gian chạy. Ví dụ: bảng tạm sử dụng xsel / xclip thay vì liên kết với một loạt các thư viện X.
Một người dùng khác

Câu trả lời:


24

Các mô tả gói chứa

Gói này chứa phiên bản vim được biên dịch với một bộ tính năng khá chuẩn. Gói này không cung cấp phiên bản GUI của Vim. Xem các gói vim- * khác nếu bạn cần nhiều hơn (hoặc ít hơn).

Tôi tin rằng điều này đã được thực hiện, bởi vì sử dụng bảng tạm sẽ liên quan đến việc liên kết với các thư viện X, điều đó có nghĩa là, bạn không thể cài đặt vim mà không cài đặt một loạt các phụ thuộc X mà bạn thường không muốn trong môi trường máy chủ (hoặc tối thiểu).

Điều này có nghĩa là, nếu bạn muốn tính năng clipboard, bạn nên cài đặt, ví dụ như gói vim-gtk(mặc dù tên của nó cũng chứa một vim không gui).

Vì một lý do tương tự, gói vim-noxtồn tại. Nó không phụ thuộc vào máy chủ X, nhưng cần các thư viện bổ sung như liblua, libperl, libpython và do đó không cài đặt các phụ thuộc bổ sung đó (mà bạn có thể không cần trong môi trường máy chủ), nhưng không có thư viện X (như GTK hoặc X11 cần thiết cho gui và clipboard).


Ahh tôi nghĩ bạn có thể sao chép-dán trên bản cài đặt GUI không phải của Linux. Đó là lý do tại sao tôi nghĩ rằng cờ -clipboardlà để Vim đạt được đăng ký sao chép hệ thống. (Bạn có thể sử dụng X-Copy nhưng ý tôi là điếc)
Gustav Blomqvist

1
@GustavBlomqvist: Bạn có thể, bằng cách sử dụng các bảng lệnh dòng lệnh thông thường, nghĩa là chọn văn bản, nhấp chuột giữa để dán và sử dụng các ràng buộc GPM.
Arafangion

2

VIM được dự định là một trình soạn thảo di động "chỉ hoạt động" trên tất cả các hệ thống. Khi có phiên bản mặc định sử dụng chức năng clipboard, nó sẽ cần liên kết với các thư viện X11 và một phiên bản VIM riêng sẽ cần được biên dịch cho máy tính để bàn so với máy chủ (không có bản dựng X11 / xorg) được cài đặt sẵn. Đây là lý do tại sao vimvim-gtkcác gói được cung cấp.

Nếu bạn muốn biên dịch phiên bản dòng lệnh của VIM (tôi sử dụng nó với Guake / yakuake mọi lúc), thì đây là tập lệnh xây dựng / cài đặt cho các hệ thống dựa trên Debian.

# Get the compile-dependencies of vim
sudo apt-get -y build-dep vim
# Install the "checkinstall" tool so the "make install" step is
# wrapped and the result is a .deb file that can be removed later by
# your package manager rather than having to hunt down every file deployed
# by "make install", which might not be possible if it overwrites existing
# system files.
sudo apt-get -y install checkinstall
# Install python dev
sudo apt-get -y install python-dev
# Install xorg dev
sudo apt-get -y install xorg-dev
# Install git
sudo apt-get -y install git
# Get the source
git clone https://github.com/vim/vim.git vim_source
# Remove ./configure cache in case we have to run this twice due to permissions
# related issues.
rm vim_source/src/auto/config.cache
# Compile it
cd vim_source
make clean
./configure \
    --enable-perlinterp=dynamic \
    --enable-pythoninterp=dynamic \
    --enable-rubyinterp=dynamic \
    --enable-cscope \
    --enable-gui=auto \
    --enable-gtk2-check \
    --enable-gnome-check \
    --with-features=normal \
    --with-x \
    --with-compiledby="DevNull <darkstar@/dev/null>" \
    --with-python-config-dir=/usr/lib/python2.7/config-$(uname -m)-linux-gnu
# Build quickly (8 parallel jobs, hope your system doesn't get overwhelmed)
make -j8
# Need root to install
sudo checkinstall
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.