Конфигурирование Vim с клиент-сервером и буфером обмена

Я выполняю подобную установку к той, которую Вы предлагаете. 120 ГБ глупо-быстрого PCI-E SSD, 4 ТБ медленных, СОВЕРШИЛ РЕЙД, вращая ржавчину. / и и /home находятся оба на SSD, как объем моего userdir.

У меня есть просто symlinked вещи как ~/Documents/, ~/Music/, ~/Photos/ и ~/Videos/ (то есть, весь большой материал) к RAID-массиву. Не трудно отслеживать, но я предполагаю поэтому, что 120 ГБ являются правильными в зоне наилучшего восприятия. Это - много пространства для всех моих установленных приложений и большинства глупых, "Я не буду кричать, уничтожаются ли они отказом SSD" файлы в ~/ не являются настолько большими.

Пар был крупнейшим недавним соперником свободного пространства на диске, и это имеет встроенный метод для разрешения Вам указать альтернативные местоположения установки. Я просто перемещаю низко играемый материал в RAID или удаляю его.

Если Вы выполняете 60 ГБ или 30 ГБ... Вы могли бы хотеть искать что-то большее. Это, конечно, не невозможно (я раньше жил из SSD на 60 ГБ с тем же RAID), но нет хорошего решения. Вы любой вручную отображает все (высокая производительность, раздражающая) или Вы выделяете целый SSD как кэш для медленного диска с чем-то как bcache (более медленная производительность, легче).

3
20.03.2017, 12:04
1 ответ

Здесь я обнаружил проблемы, которые, похоже, привели к тому, что это не работает. Прежде всего, у меня были симлинки ~/.Xdefaults и ~/.Xmodmap которые просто избыточны из-за использования одинаковых dotfiles в дистрибутивах Linux. Хотя ни один из них, похоже, не влияет на настройки буфера обмена напрямую, их удаление, похоже, имеет значение.

Настройка параметров синхронизации буфера обмена в X11 является обязательной. В итоге я остановился на следующих настройках:

# Clipboard syncing
defaults write org.macosforge.xquartz.X11 sync_clipboard_to_pasteboard -boolean true
defaults write org.macosforge.xquartz.X11 sync_pasteboard -boolean true
defaults write org.macosforge.xquartz.X11 sync_pasteboard_to_clipboard -boolean true
defaults write org.macosforge.xquartz.X11 sync_pasteboard_to_primary -boolean true
defaults write org.macosforge.xquartz.X11 sync_primary_on_select -boolean false

# Run xterm by default (without this vim's clipboard doesn't work)
defaults write org.macosforge.xquartz.X11 app_to_run -string "/opt/X11/bin/xterm"

# Set default shell
defaults write org.macosforge.xquartz.X11 login_shell -string "/usr/local/bin/zsh"

Запущенный xterm по умолчанию - это обязательно. X11, похоже, не хочет делиться своим буфером обмена с буфером OS X, пока xterm не будет запущен хотя бы один раз. Он даже не должен быть открыт, он просто должен быть запущен в этом сеансе. Эта настройка стоит по умолчанию для X11, но некоторые люди меняют ее, чтобы xterm не запускался каждый раз, когда они запускают X11. Если вы запустите vim с +clientserver в первый раз до открытия XQuartz/X11, он будет игнорировать эту настройку при открытии X11. Если xterm не будет запущен до того, как вы запустите vim, буферы обмена не будут синхронизированы, и вам придется перезапустить vim, чтобы исправить это. Я решил открывать XQuartz по умолчанию при каждом входе в систему и скрывать его.

Вы должны правильно настроить буфер обмена vim. Эти настройки работают:

if has("clipboard")
  set clipboard=unnamed " copy to the system clipboard

  if has("unnamedplus") " X11 support
    set clipboard+=unnamedplus
  endif
endif

Добавление unnamedplus в настройки буфера обмена использует оба регистра * и + для каждого выделения. Эти настройки гарантируют, что буфер обмена будет установлен на unnamed, если настроен только +clipboard, и на unnamed,unnamedplus, если у вас есть +xterm_clipboard. Я нашел этот вариант здесь.

Затем вы можете просто установить Vim через homebrew с помощью:

brew install vim --with-client-server

К сожалению, синхронизация с X11 не работает стабильно, так что пока я отказался от этой установки.

2
27.01.2020, 21:28

Теги

Похожие вопросы