отключение поддержки мыши в 'энергии' в 'терминальной гномом' среде

Дуга является дистрибутивом DIY: нет никакого автоматизированного инструмента для создания отчетов ошибки. Существует, однако, всестороннее руководство на Дуге Wiki для того, чтобы сообщить об ошибках.

Философия Дуги, Дуга Путь, подчеркивает самодостаточность и готовность внести решения, что означает активно участвовать в создании отчетов ошибки и сплющивании. Это не соответствует хорошо автоматизированной системе отчетности жалобы.

48
03.08.2012, 01:47
8 ответов

поддержка мыши отключена по умолчанию, таким образом, что-то включает ее. Вероятно, причина Ваш set mouse= перестал работать то, потому что это выполняет прежде независимо от того, что включает его. Я просмотрел бы остальную часть Вашего vimrc и возможно vimrc в масштабе всей системы (/etc/vim/vimrc стандартное местоположение).

Как последнее прибежище можно сделать этот действительно ужасный взлом, который заставит команду работать как одна из последних вещей, сделанных прежде, чем дать Вам контроль редактора.

autocmd BufEnter * set mouse=
24
27.01.2020, 19:34
  • 1
    Мой /etc/vim/vimrc файл довольно пуст (runtime! debian.vim и условное выражение if filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif). /etc/vim/vimrc.local файл не существует в моей системе. Мой ~/.vimrc файл только имеет несколько строк, которые я добавил вручную. strace из vim показывает, что это проверяет следующие местоположения на файлы конфигурации: /usr/share/vim/vimrc, /etc/vim/vimrc.local (ENOENT), и /home/user/.vimrc. (Почему делают я получаю ошибку ENOENT; не делает if оператор предотвращает попытки открыть этот несуществующий файл?). –  user001 02.08.2012, 04:38
  • 2
    Кроме того, если я ввожу :set mouse= непосредственно в энергии, разве это не должно переопределять настройки из файлов конфигурации? Почему был бы прямое выполнение этого оператора в vim не отключают управление мышью? –  user001 02.08.2012, 04:40
  • 3
    @user001 Вы видите ENOENT поскольку энергия должна проверить, существует ли файл. Это обычно делается путем вызова stat который возвращается ENOENT если файл не существует. –  Ulrich Dangel 02.08.2012, 08:29
  • 4
    @user001 ах, то, что это не работает при вводе в текущую сессию является критической информацией На основе этого, я не уверен, что это - энергия, это - проблема. Возможно, терминал гнома делает что-то ужасное. Можно ли попробовать другой эмулятор терминала? –  Patrick 02.08.2012, 15:30
  • 5
    dmesg Привет, хорошее предложение. Я попробовал в xterm и не имел никакой проблемы с активацией мыши. Я мог воспроизвести проблему путем ввода :set mouse=a в vim выполнение в xterm (и инвертируйте его путем ввода :set mouse=). Любая идея, как диагностировать gnome-terminal незначительный сбой? Я должен начать новую дискуссию?Спасибо. –  user001 02.08.2012, 15:54

У меня были в значительной степени те же жалобы как Вы о чувствительности более нового Vim к мыши. Используя set mouse="" не сделал этого для меня, также.

Я имею set mouse=c (никакие кавычки) близко к нижней части моего .vimrc файл. Это, казалось, помешало Vim использовать мышь, кроме тех случаев, когда с помощью "ШПАКЛЕВКИ" для ssh в от моего (тьфу!) Машина Windows на работе. Я должен использовать shift-middle-button для вставки в PuTTY.

30.03.2018 Редактирований: Я теперь начал использовать: :mouse= (никакие кавычки или что-либо) на немного удаленных (CentOS 6.7) экземпляры энергии для избавлений от нежелательных эффектов мыши.

4
27.01.2020, 19:34
  • 1
    Привет, спасибо за предложение. Я добавил это к моему .vimrc файл и попробованное выполнение его в интерактивном режиме (:set mouse=c), но ни один не имел эффект в моем случае. –  user001 02.08.2012, 05:14

Добавьте это к Вашему .vimrc:

if has("gui_running")
    "echo "yes, we have a GUI"
    set mouse=a
else
    "echo "Boring old console"
    set mouse=
endif
3
27.01.2020, 19:34
  • 1
    Это не имеет отношения к вопросу, который задают. –  GKFX 24.09.2016, 22:54
  • 2
    @GKFX - Вы уверенный? Это выглядит относящимся ко мне. Отметьте это has("gui_running") 0 в терминальной среде. Этот ответ, в отличие от других, прилагает дополнительные усилия, чтобы только отключить мышь в терминальной среде, которую спрашивает вопрос, в то время как отъезд его включил в gvim. –  hvd 29.07.2017, 09:23
  • 3
    @hvd я сформулировал свой комментарий немного резко; я приношу извинения. Однако этот ответ просто помещает, если блок вокруг того, что уже попробовал OP, таким образом, это вряд ли будет полезно. справедливое замечание –  GKFX 29.07.2017, 16:15
  • 4
    @GKFX, и относится к другим ответам также. –  hvd 29.07.2017, 16:23

Я выяснил, что является причиной такого плохого поведения во многих вариантах Linux:

/usr/share/vim/vim80/defaults.vim # may be "vim81" depending on your vim version

это «источник», если нет ~ / .vimrc , но даже если у вас есть / etc / vimrc или такой / etc файл, поэтому, если у вас его нет, просто создайте пустой, как предлагает @lgpasquale:

mkdir ~/.vim/; [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc

Если вам понравились другие функции (например, подсветка синтаксиса), которые вы полученный из defaults.vim, вы можете использовать эту команду вместо предыдущей:

mkdir ~/.vim/; [[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vim\nset mouse=" > ~/.vim/vimrc
29
27.01.2020, 19:34

Я столкнулся с этим на своей OS X " Terminal "на хосте Fedora Server 25. Я окончательно решил эту проблему в моем .vimrc с помощью:

set mouse=
set ttymouse=

Теперь я могу прокрутить до моей предыдущей истории bash в прокрутке моего терминала с помощью мыши.

{{ 1}}
9
27.01.2020, 19:34

Отчасти связанный с вопросом, если вы используете neovim (nvim ), вы должны указать set mouse=в файле конфигурации ~/.config/nvim/init.vim.

Если каталог не существует, создайте его с помощьюmkdir -p ~/.config/nvim/

0
27.01.2020, 19:34

В Debian stretch некоторые основные настройки загружаются после загрузки /etc/vim/vimrcи /etc/vim/vimrc.local. См./etc/vim/vimrc:

...
" Vim will load $VIMRUNTIME/defaults.vim if the user does not have a vimrc.
" This happens after /etc/vim/vimrc(.local) are loaded, so it will override
" any settings in these files.
" If you don't want that to happen, uncomment the below line to prevent
" defaults.vim from being loaded.
"let g:skip_defaults_vim = 1
...

Этот файл по умолчанию имеет значение /usr/share/vim/vim80/defaults.vim. Теперь изменение центрального файла под /usr/share/...равно

  • зло
  • непостоянный -, он возвращается после обновления

Установка skip_defaults_vimпутем раскомментирования строки выше удаляет все другие параметры, установленные этим файлом. Чтобы просто удалить ненужные параметры, введите следующее в/etc/vimrc.local:

" /etc/vim/vimrc.local
" honor skip_defaults_vim from the master /etc/vim/vimrc file
if ! exists('skip_defaults_vim')
  " Source the defaults file manually from here
  source $VIMRUNTIME/defaults.vim
endif

" avoid loading the defaults twice
let g:skip_defaults_vim = 1

" revert any unwanted changes the defaults file introduced
set mouse=

" set any other options you want centrally on your system
"set paste " uncomment if you want paste insert enabled
"...

Это загружает defaults.vimвручную и отключает автоматическую загрузку, что дает вам возможность отменить любые нежелательные настройки без необходимости создавать .vimrcдля каждой учетной записи пользователя.

4
27.01.2020, 19:34

На данный момент лучший вариант, который я нашел, — это другой вопрос , который касается того же переопределения параметра мыши.

Добавить в свой локальный~/.vimrc:

source $VIMRUNTIME/defaults.vim
set mouse-=a
0
03.05.2020, 00:32

Теги

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