Debian用Vimがクリップボードなしでコンパイルされるのはなぜですか?


20

なぜvimのデフォルトのDebianパッケージ(通常入手できるパッケージsudo apt-get install vim)がクリップボードのサポート付きでコンパイルされないのか興味がありますか?

通常-clipboardまたは-Xterm-clipboard有効化されていないのはなぜですか?

XサーバーがインストールされていないDebianインストールに-Xterm-clipboardを含めない理由があるかもしれませんが、通常の-clipboard

これがなぜなのかについての洞察は役に立つでしょう。

明確化:これらのフラグを使用してVimをコンパイルできることはわかっていますが、デフォルトで有効になっていない理由を知りたいだけです。


Xでない場合、クリップボードは何を提供しますか?xterm-clipboardは別のものです。これは、xtermが提供するバッファー用です(たとえば、askubuntu.com/a/541730/158442を参照)。
ムル

しかし、xtermのクリップボードもXサーバが提供する機能である
クリスチャンBrabandt

2
@muruには、xtermのようなバッファーは存在しません。つまり、Xカットバッファーは、Xクライアント間のプロセス間通信の手段を提供するXサーバーの機能であり、通常はクリップボードと呼ばれます(通常のデスクトップクライアントではCtrl-V、CTRL-X、Ctrl-V )およびもう1つは、以前にマウスで選択したものの中央マウスペーストです。これはxterm_clipboardと呼ばれますが、xtermとは関係ありません。
クリスチャンブラバンド

2
@ChristianBrabandtハァッ、私はいつもこのカットバッファーはスクリーンのペーストバッファーのようなxtermのものだと思っていました。そしてこの機能はそのようなバッファーをサポートしていました。修正していただきありがとうございます!
ムル

1
私のsmartassは、Neovimをインストールするように指示します。Neovimは、ほとんどすべてのコンパイルフラグがなく、実行時に試行するだけです。たとえば、クリップボードはXライブラリの束に対してリンクする代わりにxsel / xclipを使用します。
さらに別のユーザー

回答:


24

パッケージの説明には含まれてい

このパッケージには、かなり標準的な機能セットでコンパイルされたvimのバージョンが含まれています。このパッケージは、VimのGUIバージョンを提供しません。必要な(または少ない)他のvim- *パッケージを参照してください。

クリップボードの使用にはXライブラリに対するリンクが含まれるため、サーバー(または最小限の)環境では通常必要としないX依存関係の束もインストールせずにvimをインストールできないため、これが行われたと考えています。

つまり、クリップボード機能が必要な場合は、たとえばパッケージvim-gtk(名前にもGUI以外のvimが含まれています)をインストールする必要があります。

同様の理由で、パッケージvim-noxが存在します。Xサーバーには依存しませんが、liblua、libperl、libpythonなどの追加ライブラリが必要であるため、これらの追加依存関係(おそらくサーバー環境では必要ない)をインストールしますが、Xライブラリ(GTKやX11など)はインストールしませんGUIとクリップボードに必要)。


ああ、Linuxの非GUIインストールでコピーアンドペーストできると思った。その-clipboardため、Vimがシステムのコピー/貼り付けレジスタにアクセスするためのフラグだと思ったのです。(X-Copyを使用できますが、私は聴覚障害者を意味します)
グスタフ

1
@GustavBlomqvist:通常のコマンドラインクリップボードを使用して、つまり、テキストの選択、中央クリックして貼り付け、GPMバインディングを使用できます。
アラファンギオン

2

VIMは、すべてのシステムで「正常に動作する」ポータブルエディタを目的としています。デフォルトバージョンにクリップボード機能を使用させるには、X11ライブラリに対してリンクする必要があり、デスクトップとサーバー(X11 / xorgがプリインストールされていない)ビルド用にVIMの別バージョンをコンパイルする必要があります。これがvimvim-gtkパッケージが提供されている理由です。

VIMのコマンドラインバージョンをコンパイルする場合(私は常にGuake / yakuakeで使用しています)、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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.