Edit: O problema de um mouse ativado vim
parece ser específico para gnome-terminal
(versão 3.4.1.1-1; estou usando o modo de fallback do gnome 3). Se eu executar xterm
, o suporte ao mouse vim
é desativado por padrão e tenho a opção de ativá-lo (o :set mouse=a
que nunca faço) e desativá-lo ( :set mouse=
). Em contraste, quando eu corro vim
em gnome-terminal
, suporte a mouse é ativado por padrão e não é possível desativá-lo ( :set mouse=
não tem efeito). Existe uma solução aquém da alteração do emulador de terminal?
Quero desabilitar completamente o suporte ao mouse vim
. Estou executando a vim
versão 2: 7.3.547-3 até a gnome-terminal
versão 3.4.1.1-1. Os seguintes comandos, executados diretamente no vim ou adicionados ao meu .vimrc
arquivo, falham ao desativar o suporte ao mouse:
set mouse =
set mouse =""
Com base na leitura do manual do vim e das postagens on-line, um ou ambos os comandos devem funcionar. Em particular, o manual do vim declara o seguinte
'mouse' string (default "", "a" for GUI, MS-DOS and Win32)
The mouse can be enabled for different modes:
n Normal mode
v Visual mode
i Insert mode
c Command-line mode
h all previous modes when editing a help file
a all previous modes
r for |hit-enter| and |more-prompt| prompt
Normally you would enable the mouse in all four modes with: >
:set mouse=a
When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor.
Estou usando um laptop e cada vez que minha mão passa no trackpad, a posição do cursor no vim se move abruptamente.
fonte
.vimrc
arquivo em sua casa deve resolver o problema (foi o que aconteceu comigo). Ele não precisa conter nada, pode até ser um arquivo vazio./usr/share/
qual é gerenciado pelo seu gerenciador de pacotes é uma má idéia. Se você quiser manter algumas opçõesdefaults.vim
, eu as copio para~/.vimrc
.o suporte ao mouse está desativado por padrão, então algo está ativando-o. Provavelmente, a razão pela qual você
set mouse=
está falhando é porque ela está sendo executada antes de ativá-la. Eu examinaria o restante do seu vimrc e, possivelmente, o vimrc em todo o sistema (/etc/vim/vimrc
é um local padrão).Como último recurso, você pode fazer esse truque realmente feio, que fará com que o comando seja executado como uma das últimas coisas feitas antes de fornecer o controle do editor.
fonte
/etc/vim/vimrc
arquivo é bastante simples (runtime! debian.vim
e condicionalif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). O/etc/vim/vimrc.local
arquivo não existe no meu sistema. Meu~/.vimrc
arquivo tem apenas algumas linhas que eu adicionei manualmente. Umstrace
dosvim
revela que ele verifica os seguintes locais para os arquivos de configuração:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
( ENOENT ), e/home/user/.vimrc
. (Por que recebo o erro ENOENT; aif
instrução não impede tentativas de abrir esse arquivo inexistente?).:set mouse=
diretamente no vim, isso não deve substituir as configurações dos arquivos de configuração? Por que a execução direta dessa instruçãovim
não desabilita o controle do mouse?ENOENT
como o vim precisa verificar se o arquivo existe. Isso geralmente é feito chamandostat
que retornaENOENT
se o arquivo não existir.xterm
e não tive nenhum problema com a ativação do mouse. Eu poderia reproduzir o problema digitando:set mouse=a
emvim
execuçãoxterm
(e invertendo-o digitando:set mouse=
). Alguma idéia de como solucionar ognome-terminal
problema? Devo iniciar um novo tópico? Obrigado.Eu deparei com isso no meu aplicativo "Terminal" do OS X em um host do Fedora Server 25. Eu o resolvi permanentemente com isso no meu .vimrc com:
Agora eu posso rolar até o meu histórico anterior do bash no scrollback do meu terminal com o mouse.
fonte
set ttymouse=
teve um comportamento estranho para mim, por exemplo, causou o comportamento das teclas de seta, tecla de escape para mudar.Eu tinha praticamente as mesmas reclamações que você sobre a sensibilidade do Vim mais recente ao mouse. Usar
set mouse=""
também não fez isso por mim.Eu tenho
set mouse=c
(sem aspas) perto da parte inferior do meu.vimrc
arquivo. Isso pareceu impedir o Vim de usar o mouse, exceto ao usar o "PuTTY" para transferir da minha máquina Windows (ugh!) Windows no trabalho. Eu tenho que usar shift-middle-button para colar no PuTTY.30-03-2018 Editar: Agora comecei a usar:
:mouse=
(sem aspas ou qualquer coisa) em algumas instâncias remotas (CentOS 6.7) do vim para se livrar dos efeitos indesejados do mouse.fonte
.vimrc
arquivo e tentei executá-lo interativamente (:set mouse=c
), mas nenhum deles teve efeito no meu caso.Adicione isso ao seu
.vimrc
:fonte
has("gui_running")
é 0 em um ambiente de terminal. Essa resposta, ao contrário dos outros, leva esforço extra para única desativar o mouse em um ambiente de terminal, que a questão pede, deixando-o habilitado gvim.No debian stretch, algumas configurações centrais são carregadas após o carregamento
/etc/vim/vimrc
e/etc/vim/vimrc.local
. Veja/etc/vim/vimrc
:O arquivo padrão é
/usr/share/vim/vim80/defaults.vim
. Agora, alterar um arquivo central em/usr/share/...
éDefinir
skip_defaults_vim
por descomentar a linha acima remove todas as outras opções definidas por esse arquivo. Para remover apenas as opções indesejadas, coloque o seguinte em/etc/vimrc.local
:Isso carrega o
defaults.vim
manual e desativa o carregamento automático, permitindo a reversão de configurações indesejadas, sem a necessidade de criar uma.vimrc
para cada conta de usuário.fonte
Um pouco relacionado à pergunta, se você estiver usando o neovim (nvim), deve colocar
set mouse=
no seu~/.config/nvim/init.vim
arquivo de configuração.Se o diretório não existir, crie-o com
mkdir -p ~/.config/nvim/
fonte