Vim for Debian이 클립 보드없이 컴파일되는 이유는 무엇입니까?


20

vim의 기본 데비안 패키지 (일반적으로 사용하는 패키지 sudo apt-get install vim)가 클립 보드 지원으로 컴파일되지 않은 이유가 궁금 합니다.

일반 -clipboard또는 -Xterm-clipboard활성화되지 않은 이유무엇 입니까?

X-server가 설치되지 않은 데비안 설치에는 -Xterm-clipboard를 포함시키지 않는 이유가있을 수 있습니다 -clipboard.

이것이 왜 유용한 지에 대한 통찰력이 도움이 될 것입니다.

( 설명 :이 플래그로 Vim을 컴파일 할 수 있다는 것을 알고 있습니다. 왜 기본적으로 활성화되어 있지 않은지 알고 싶습니다. )


X가 아닌 경우 클립 보드를 제공하는 것은 무엇입니까? xterm-clipboard는 다른 것입니다. 이는 xterm이 제공하는 버퍼를위한 것입니다 (예 : askubuntu.com/a/541730/158442 참조 ).
muru September

하지만 xterm을-클립 보드는 또한 X 서버에서 제공하는 기능입니다
기독교 Brabandt

2
@muru는 xterm과 같은 버퍼가 없습니다. 의미하는 것은 X 컷 버퍼입니다. X 컷 버퍼는 X 클라이언트 간의 프로세스 간 통신 수단을 제공하는 X 서버의 기능으로, 보통 데스크탑 클라이언트에서 클립 보드 (Ctrl-V, CTRL-X, Ctrl-V)라고합니다. ) 및 다른 하나는 이전에 마우스로 선택한 것을 마우스 가운데로 붙여 넣는 것입니다. xterm_clipboard라고하지만 xterm과는 아무런 관련이 없습니다.
Christian Brabandt

2
@ChristianBrabandt 허, 항상이 컷 버퍼는 스크린의 페이스트 버퍼와 같은 xterm의 것으로 생각 했으며이 기능은 그러한 버퍼를 지원했습니다. 수정 해 주셔서 감사합니다!
muru

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과 같은 추가 라이브러리가 필요하므로 서버 환경에 필요하지 않은 추가 라이브러리를 설치하지만 GTK 또는 X11과 같은 X 라이브러리는 설치하지 않습니다. GUI와 클립 보드에 필요합니다).


Ahh Linux가 아닌 GUI 설치에서 복사하여 붙여 넣을 있다고 생각했습니다 . 그렇기 때문에 -clipboardVim이 시스템 복사-붙여 넣기 레지스터에 액세스하는 것이 플래그라고 생각하는 이유 입니다. (당신은 X-복사를 사용 할 수 있지만 deafult 의미)
구스타프 Blomqvist

1
@GustavBlomqvist : 일반 명령 줄 클립 보드 (예 : 텍스트 선택, 가운데 클릭하여 붙여 넣기 및 GPM 바인딩 사용)를 사용하면됩니다.
Arafangion

2

VIM은 모든 시스템에서 "작동하는"휴대용 편집기입니다. 기본 버전이 클립 보드 기능을 사용하게하려면 X11 라이브러리와 링크되어야하며 별도의 VIM 버전을 데스크탑과 서버 (사전 설치된 X11 / xorg) 빌드 용으로 컴파일해야합니다. 이것이 vimvim-gtk패키지가 제공되는 이유 입니다.

VIM의 명령 행 버전을 컴파일하려면 (Guake / yakuake와 함께 항상 사용) 데비안 기반 시스템을위한 빌드 / 설치 스크립트가 있습니다.

# 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.