disabling mouse support in `vim` in a `gnome-terminal` environment
Clash Royale CLAN TAG#URR8PPP
up vote
38
down vote
favorite
Edit: The problem of an enabled mouse in vim
appears to be specific to gnome-terminal
(version 3.4.1.1-1; I am using gnome 3 fallback mode). If I run xterm
, mouse support in vim
is disabled by default, and I have the option to enable it (:set mouse=a
, which I never do) and disable it (:set mouse=
). In contrast, when I run vim
in gnome-terminal
, mouse support is enabled by default and it is not possible to disable it (:set mouse=
has no effect). Is there a solution short of changing terminal emulator?
I want to completely disable mouse support in vim
. I am running vim
version 2:7.3.547-3 through gnome-terminal
version 3.4.1.1-1. The following commands, whether executed directly in vim or added to my .vimrc
file, fail to disable mouse support:
set mouse =
set mouse =""
Based on reading the vim manual and posts online, one or both of these commands should work. In particular, the vim manual states the following
'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.
I am using a laptop and each time my hand brushes the trackpad, my cursor position in vim moves abruptly.
gnome vim mouse gnome-terminal
add a comment |
up vote
38
down vote
favorite
Edit: The problem of an enabled mouse in vim
appears to be specific to gnome-terminal
(version 3.4.1.1-1; I am using gnome 3 fallback mode). If I run xterm
, mouse support in vim
is disabled by default, and I have the option to enable it (:set mouse=a
, which I never do) and disable it (:set mouse=
). In contrast, when I run vim
in gnome-terminal
, mouse support is enabled by default and it is not possible to disable it (:set mouse=
has no effect). Is there a solution short of changing terminal emulator?
I want to completely disable mouse support in vim
. I am running vim
version 2:7.3.547-3 through gnome-terminal
version 3.4.1.1-1. The following commands, whether executed directly in vim or added to my .vimrc
file, fail to disable mouse support:
set mouse =
set mouse =""
Based on reading the vim manual and posts online, one or both of these commands should work. In particular, the vim manual states the following
'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.
I am using a laptop and each time my hand brushes the trackpad, my cursor position in vim moves abruptly.
gnome vim mouse gnome-terminal
add a comment |
up vote
38
down vote
favorite
up vote
38
down vote
favorite
Edit: The problem of an enabled mouse in vim
appears to be specific to gnome-terminal
(version 3.4.1.1-1; I am using gnome 3 fallback mode). If I run xterm
, mouse support in vim
is disabled by default, and I have the option to enable it (:set mouse=a
, which I never do) and disable it (:set mouse=
). In contrast, when I run vim
in gnome-terminal
, mouse support is enabled by default and it is not possible to disable it (:set mouse=
has no effect). Is there a solution short of changing terminal emulator?
I want to completely disable mouse support in vim
. I am running vim
version 2:7.3.547-3 through gnome-terminal
version 3.4.1.1-1. The following commands, whether executed directly in vim or added to my .vimrc
file, fail to disable mouse support:
set mouse =
set mouse =""
Based on reading the vim manual and posts online, one or both of these commands should work. In particular, the vim manual states the following
'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.
I am using a laptop and each time my hand brushes the trackpad, my cursor position in vim moves abruptly.
gnome vim mouse gnome-terminal
Edit: The problem of an enabled mouse in vim
appears to be specific to gnome-terminal
(version 3.4.1.1-1; I am using gnome 3 fallback mode). If I run xterm
, mouse support in vim
is disabled by default, and I have the option to enable it (:set mouse=a
, which I never do) and disable it (:set mouse=
). In contrast, when I run vim
in gnome-terminal
, mouse support is enabled by default and it is not possible to disable it (:set mouse=
has no effect). Is there a solution short of changing terminal emulator?
I want to completely disable mouse support in vim
. I am running vim
version 2:7.3.547-3 through gnome-terminal
version 3.4.1.1-1. The following commands, whether executed directly in vim or added to my .vimrc
file, fail to disable mouse support:
set mouse =
set mouse =""
Based on reading the vim manual and posts online, one or both of these commands should work. In particular, the vim manual states the following
'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.
I am using a laptop and each time my hand brushes the trackpad, my cursor position in vim moves abruptly.
gnome vim mouse gnome-terminal
gnome vim mouse gnome-terminal
edited Aug 2 '12 at 22:47
asked Aug 2 '12 at 1:04
user001
1,52231938
1,52231938
add a comment |
add a comment |
6 Answers
6
active
oldest
votes
up vote
27
down vote
I've found what cause this bad behavior with many linux flavors :
/usr/share/vim/vim80/defaults.vim
it's 'sourced' if there's no ~/.vimrc
but even if you have a /etc/vimrc
or such /etc
file, so if you don't have one just create a blank one as suggested by @lgpasquale:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc
If you liked the other features (like syntax highlighting) that you got from defaults.vim, you can use this command rather the the previous one:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vimnset mouse=" > ~/.vim/vimrc
2
Thank you! Commenting out the line "mouse -a" in that file solved the issue for me (on Archlinux)
– luckyrumo
Nov 3 '16 at 20:57
1
You don't need to edit that file (which is part of vim-runtime on archlinux). As it's stated in that file, it is only loaded if no vimrc is found. That means that placing a.vimrc
file in your home should solve the problem (it did for me). It doesn't need to contain anything, it can even be an empty file.
– lgpasquale
Dec 13 '16 at 22:28
This is the real solution for Fedora 25.
– KamikazeCZ
Dec 14 '16 at 12:24
I confirm this worked for me in Debian 8 in late 2017.
– Criggie
Jan 6 '17 at 8:30
1
@rlf In my opinion editing a file under/usr/share/
which is managed by your package manager is a bad idea. If you want to keep some of the options indefaults.vim
, I would copy them to~/.vimrc
.
– lgpasquale
Jun 23 '17 at 15:08
|
show 4 more comments
up vote
22
down vote
mouse support is disabled by default, so something is turning it on. Likely the reason your set mouse=
is failing is because it's running before whatever is turning it on. I'd look through the rest of your vimrc, and possibly the system wide vimrc (/etc/vim/vimrc
is a standard location).
As a last resort, you can do this really ugly hack which will cause the command to run as one of the last things done before giving you control of the editor.
autocmd BufEnter * set mouse=
1
My/etc/vim/vimrc
file is pretty bare (runtime! debian.vim
and a conditionalif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). The/etc/vim/vimrc.local
file does not exist on my system. My~/.vimrc
file only has a few lines that I have added manually. Anstrace
ofvim
reveals that it checks the following locations for config files:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
(ENOENT), and/home/user/.vimrc
. (Why do I receive the ENOENT error; doesn't theif
statement prevent attempts to open this non-existent file?).
– user001
Aug 2 '12 at 1:38
Also, if I type:set mouse=
directly in vim, shouldn't this override any settings from config files? Why would direct execution of this statement withinvim
not disable mouse control?
– user001
Aug 2 '12 at 1:40
1
@user001 You see theENOENT
as vim has to check if the file exists. This is typically done by callingstat
which returnsENOENT
if the file does not exist.
– Ulrich Dangel
Aug 2 '12 at 5:29
2
@user001 ah, the fact that it doesnt work when typed into the current session is critical info. Based on this, I'm not sure it's vim that's the problem. Maybe gnome-terminal is doing something horrible. Can you try a different terminal emulator?
– Patrick
Aug 2 '12 at 12:30
Hi, good suggestion. I tried inxterm
and had no problem with mouse activation. I could reproduce the problem by typing:set mouse=a
invim
running inxterm
(and reverse it by typing:set mouse=
). Any idea how to troubleshoot thegnome-terminal
glitch? Should I start a new thread? Thanks.
– user001
Aug 2 '12 at 12:54
|
show 2 more comments
up vote
5
down vote
I ran into this on my OS X "Terminal" app on a Fedora Server 25 host. I've permanently solved it with this in my .vimrc with:
set mouse=
set ttymouse=
Now I can scroll up to my previous bash history in my terminal's scrollback with my mouse.
It is strongly recommended to create a vimrc.local in the same catalogue, because vimrc.local wont be updated if vim get updates
– Orphans
Aug 22 '17 at 9:57
It worked for me on Raspbian 9.4. Other answers did not solve undesired mouse behaviour when I log in via PUTTY.
– Dmitry
Sep 22 at 21:53
add a comment |
up vote
4
down vote
I had pretty much the same complaints as you about the newer Vim's sensitivity to the mouse. Using set mouse=""
did not do it for me, either.
I have set mouse=c
(no quotes) close to the bottom of my .vimrc
file. That seemed to keep Vim from using the mouse, except when using "PuTTY" to ssh in from my (ugh!) Windows machine at work. I have to use shift-middle-button to paste in PuTTY.
2018-03-30 Edit: I have now started using: :mouse=
(no quotes or anything) on some remote (CentOS 6.7) instances of vim to get rid of undesired mouse effects.
Hi, thanks for the suggestion. I added this to my.vimrc
file and tried executing it interactively (:set mouse=c
), but neither had an effect in my case.
– user001
Aug 2 '12 at 2:14
add a comment |
up vote
3
down vote
Add this to your .vimrc
:
if has("gui_running")
"echo "yes, we have a GUI"
set mouse=a
else
"echo "Boring old console"
set mouse=
endif
1
This is of no relevance to the question asked.
– GKFX
Sep 24 '16 at 19:54
@GKFX Are you sure? It looks relevant to me. Note thathas("gui_running")
is 0 in a terminal environment. This answer, unlike the others, takes extra effort to only disable the mouse in a terminal environment, which the question asks, while leaving it enabled in gvim.
– hvd
Jul 29 '17 at 6:23
@hvd I worded my comment a bit harshly; I apologize. However, this answer just puts an if block around what the OP had already tried, so it's unlikely to be helpful.
– GKFX
Jul 29 '17 at 13:15
1
@GKFX Fair point, and applies to other answers as well.
– hvd
Jul 29 '17 at 13:23
add a comment |
up vote
0
down vote
Somewhat related to the question, if you are using neovim(nvim) you should put set mouse=
in your ~/.config/nvim/init.vim
configuration file.
If the directory doesn't exist create it with mkdir -p ~/.config/nvim/
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f44513%2fdisabling-mouse-support-in-vim-in-a-gnome-terminal-environment%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
6 Answers
6
active
oldest
votes
6 Answers
6
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
27
down vote
I've found what cause this bad behavior with many linux flavors :
/usr/share/vim/vim80/defaults.vim
it's 'sourced' if there's no ~/.vimrc
but even if you have a /etc/vimrc
or such /etc
file, so if you don't have one just create a blank one as suggested by @lgpasquale:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc
If you liked the other features (like syntax highlighting) that you got from defaults.vim, you can use this command rather the the previous one:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vimnset mouse=" > ~/.vim/vimrc
2
Thank you! Commenting out the line "mouse -a" in that file solved the issue for me (on Archlinux)
– luckyrumo
Nov 3 '16 at 20:57
1
You don't need to edit that file (which is part of vim-runtime on archlinux). As it's stated in that file, it is only loaded if no vimrc is found. That means that placing a.vimrc
file in your home should solve the problem (it did for me). It doesn't need to contain anything, it can even be an empty file.
– lgpasquale
Dec 13 '16 at 22:28
This is the real solution for Fedora 25.
– KamikazeCZ
Dec 14 '16 at 12:24
I confirm this worked for me in Debian 8 in late 2017.
– Criggie
Jan 6 '17 at 8:30
1
@rlf In my opinion editing a file under/usr/share/
which is managed by your package manager is a bad idea. If you want to keep some of the options indefaults.vim
, I would copy them to~/.vimrc
.
– lgpasquale
Jun 23 '17 at 15:08
|
show 4 more comments
up vote
27
down vote
I've found what cause this bad behavior with many linux flavors :
/usr/share/vim/vim80/defaults.vim
it's 'sourced' if there's no ~/.vimrc
but even if you have a /etc/vimrc
or such /etc
file, so if you don't have one just create a blank one as suggested by @lgpasquale:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc
If you liked the other features (like syntax highlighting) that you got from defaults.vim, you can use this command rather the the previous one:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vimnset mouse=" > ~/.vim/vimrc
2
Thank you! Commenting out the line "mouse -a" in that file solved the issue for me (on Archlinux)
– luckyrumo
Nov 3 '16 at 20:57
1
You don't need to edit that file (which is part of vim-runtime on archlinux). As it's stated in that file, it is only loaded if no vimrc is found. That means that placing a.vimrc
file in your home should solve the problem (it did for me). It doesn't need to contain anything, it can even be an empty file.
– lgpasquale
Dec 13 '16 at 22:28
This is the real solution for Fedora 25.
– KamikazeCZ
Dec 14 '16 at 12:24
I confirm this worked for me in Debian 8 in late 2017.
– Criggie
Jan 6 '17 at 8:30
1
@rlf In my opinion editing a file under/usr/share/
which is managed by your package manager is a bad idea. If you want to keep some of the options indefaults.vim
, I would copy them to~/.vimrc
.
– lgpasquale
Jun 23 '17 at 15:08
|
show 4 more comments
up vote
27
down vote
up vote
27
down vote
I've found what cause this bad behavior with many linux flavors :
/usr/share/vim/vim80/defaults.vim
it's 'sourced' if there's no ~/.vimrc
but even if you have a /etc/vimrc
or such /etc
file, so if you don't have one just create a blank one as suggested by @lgpasquale:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc
If you liked the other features (like syntax highlighting) that you got from defaults.vim, you can use this command rather the the previous one:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vimnset mouse=" > ~/.vim/vimrc
I've found what cause this bad behavior with many linux flavors :
/usr/share/vim/vim80/defaults.vim
it's 'sourced' if there's no ~/.vimrc
but even if you have a /etc/vimrc
or such /etc
file, so if you don't have one just create a blank one as suggested by @lgpasquale:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || :> ~/.vim/vimrc
If you liked the other features (like syntax highlighting) that you got from defaults.vim, you can use this command rather the the previous one:
[[ -s ~/.vim/vimrc ]] && echo "aborted, file exists" || echo -e "source /usr/share/vim/vim80/defaults.vimnset mouse=" > ~/.vim/vimrc
edited Dec 6 at 13:28
JigglyNaga
3,648829
3,648829
answered Sep 21 '16 at 21:36
Gilles Quenot
15.9k13951
15.9k13951
2
Thank you! Commenting out the line "mouse -a" in that file solved the issue for me (on Archlinux)
– luckyrumo
Nov 3 '16 at 20:57
1
You don't need to edit that file (which is part of vim-runtime on archlinux). As it's stated in that file, it is only loaded if no vimrc is found. That means that placing a.vimrc
file in your home should solve the problem (it did for me). It doesn't need to contain anything, it can even be an empty file.
– lgpasquale
Dec 13 '16 at 22:28
This is the real solution for Fedora 25.
– KamikazeCZ
Dec 14 '16 at 12:24
I confirm this worked for me in Debian 8 in late 2017.
– Criggie
Jan 6 '17 at 8:30
1
@rlf In my opinion editing a file under/usr/share/
which is managed by your package manager is a bad idea. If you want to keep some of the options indefaults.vim
, I would copy them to~/.vimrc
.
– lgpasquale
Jun 23 '17 at 15:08
|
show 4 more comments
2
Thank you! Commenting out the line "mouse -a" in that file solved the issue for me (on Archlinux)
– luckyrumo
Nov 3 '16 at 20:57
1
You don't need to edit that file (which is part of vim-runtime on archlinux). As it's stated in that file, it is only loaded if no vimrc is found. That means that placing a.vimrc
file in your home should solve the problem (it did for me). It doesn't need to contain anything, it can even be an empty file.
– lgpasquale
Dec 13 '16 at 22:28
This is the real solution for Fedora 25.
– KamikazeCZ
Dec 14 '16 at 12:24
I confirm this worked for me in Debian 8 in late 2017.
– Criggie
Jan 6 '17 at 8:30
1
@rlf In my opinion editing a file under/usr/share/
which is managed by your package manager is a bad idea. If you want to keep some of the options indefaults.vim
, I would copy them to~/.vimrc
.
– lgpasquale
Jun 23 '17 at 15:08
2
2
Thank you! Commenting out the line "mouse -a" in that file solved the issue for me (on Archlinux)
– luckyrumo
Nov 3 '16 at 20:57
Thank you! Commenting out the line "mouse -a" in that file solved the issue for me (on Archlinux)
– luckyrumo
Nov 3 '16 at 20:57
1
1
You don't need to edit that file (which is part of vim-runtime on archlinux). As it's stated in that file, it is only loaded if no vimrc is found. That means that placing a
.vimrc
file in your home should solve the problem (it did for me). It doesn't need to contain anything, it can even be an empty file.– lgpasquale
Dec 13 '16 at 22:28
You don't need to edit that file (which is part of vim-runtime on archlinux). As it's stated in that file, it is only loaded if no vimrc is found. That means that placing a
.vimrc
file in your home should solve the problem (it did for me). It doesn't need to contain anything, it can even be an empty file.– lgpasquale
Dec 13 '16 at 22:28
This is the real solution for Fedora 25.
– KamikazeCZ
Dec 14 '16 at 12:24
This is the real solution for Fedora 25.
– KamikazeCZ
Dec 14 '16 at 12:24
I confirm this worked for me in Debian 8 in late 2017.
– Criggie
Jan 6 '17 at 8:30
I confirm this worked for me in Debian 8 in late 2017.
– Criggie
Jan 6 '17 at 8:30
1
1
@rlf In my opinion editing a file under
/usr/share/
which is managed by your package manager is a bad idea. If you want to keep some of the options in defaults.vim
, I would copy them to ~/.vimrc
.– lgpasquale
Jun 23 '17 at 15:08
@rlf In my opinion editing a file under
/usr/share/
which is managed by your package manager is a bad idea. If you want to keep some of the options in defaults.vim
, I would copy them to ~/.vimrc
.– lgpasquale
Jun 23 '17 at 15:08
|
show 4 more comments
up vote
22
down vote
mouse support is disabled by default, so something is turning it on. Likely the reason your set mouse=
is failing is because it's running before whatever is turning it on. I'd look through the rest of your vimrc, and possibly the system wide vimrc (/etc/vim/vimrc
is a standard location).
As a last resort, you can do this really ugly hack which will cause the command to run as one of the last things done before giving you control of the editor.
autocmd BufEnter * set mouse=
1
My/etc/vim/vimrc
file is pretty bare (runtime! debian.vim
and a conditionalif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). The/etc/vim/vimrc.local
file does not exist on my system. My~/.vimrc
file only has a few lines that I have added manually. Anstrace
ofvim
reveals that it checks the following locations for config files:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
(ENOENT), and/home/user/.vimrc
. (Why do I receive the ENOENT error; doesn't theif
statement prevent attempts to open this non-existent file?).
– user001
Aug 2 '12 at 1:38
Also, if I type:set mouse=
directly in vim, shouldn't this override any settings from config files? Why would direct execution of this statement withinvim
not disable mouse control?
– user001
Aug 2 '12 at 1:40
1
@user001 You see theENOENT
as vim has to check if the file exists. This is typically done by callingstat
which returnsENOENT
if the file does not exist.
– Ulrich Dangel
Aug 2 '12 at 5:29
2
@user001 ah, the fact that it doesnt work when typed into the current session is critical info. Based on this, I'm not sure it's vim that's the problem. Maybe gnome-terminal is doing something horrible. Can you try a different terminal emulator?
– Patrick
Aug 2 '12 at 12:30
Hi, good suggestion. I tried inxterm
and had no problem with mouse activation. I could reproduce the problem by typing:set mouse=a
invim
running inxterm
(and reverse it by typing:set mouse=
). Any idea how to troubleshoot thegnome-terminal
glitch? Should I start a new thread? Thanks.
– user001
Aug 2 '12 at 12:54
|
show 2 more comments
up vote
22
down vote
mouse support is disabled by default, so something is turning it on. Likely the reason your set mouse=
is failing is because it's running before whatever is turning it on. I'd look through the rest of your vimrc, and possibly the system wide vimrc (/etc/vim/vimrc
is a standard location).
As a last resort, you can do this really ugly hack which will cause the command to run as one of the last things done before giving you control of the editor.
autocmd BufEnter * set mouse=
1
My/etc/vim/vimrc
file is pretty bare (runtime! debian.vim
and a conditionalif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). The/etc/vim/vimrc.local
file does not exist on my system. My~/.vimrc
file only has a few lines that I have added manually. Anstrace
ofvim
reveals that it checks the following locations for config files:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
(ENOENT), and/home/user/.vimrc
. (Why do I receive the ENOENT error; doesn't theif
statement prevent attempts to open this non-existent file?).
– user001
Aug 2 '12 at 1:38
Also, if I type:set mouse=
directly in vim, shouldn't this override any settings from config files? Why would direct execution of this statement withinvim
not disable mouse control?
– user001
Aug 2 '12 at 1:40
1
@user001 You see theENOENT
as vim has to check if the file exists. This is typically done by callingstat
which returnsENOENT
if the file does not exist.
– Ulrich Dangel
Aug 2 '12 at 5:29
2
@user001 ah, the fact that it doesnt work when typed into the current session is critical info. Based on this, I'm not sure it's vim that's the problem. Maybe gnome-terminal is doing something horrible. Can you try a different terminal emulator?
– Patrick
Aug 2 '12 at 12:30
Hi, good suggestion. I tried inxterm
and had no problem with mouse activation. I could reproduce the problem by typing:set mouse=a
invim
running inxterm
(and reverse it by typing:set mouse=
). Any idea how to troubleshoot thegnome-terminal
glitch? Should I start a new thread? Thanks.
– user001
Aug 2 '12 at 12:54
|
show 2 more comments
up vote
22
down vote
up vote
22
down vote
mouse support is disabled by default, so something is turning it on. Likely the reason your set mouse=
is failing is because it's running before whatever is turning it on. I'd look through the rest of your vimrc, and possibly the system wide vimrc (/etc/vim/vimrc
is a standard location).
As a last resort, you can do this really ugly hack which will cause the command to run as one of the last things done before giving you control of the editor.
autocmd BufEnter * set mouse=
mouse support is disabled by default, so something is turning it on. Likely the reason your set mouse=
is failing is because it's running before whatever is turning it on. I'd look through the rest of your vimrc, and possibly the system wide vimrc (/etc/vim/vimrc
is a standard location).
As a last resort, you can do this really ugly hack which will cause the command to run as one of the last things done before giving you control of the editor.
autocmd BufEnter * set mouse=
answered Aug 2 '12 at 1:19
Patrick
49.7k11126178
49.7k11126178
1
My/etc/vim/vimrc
file is pretty bare (runtime! debian.vim
and a conditionalif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). The/etc/vim/vimrc.local
file does not exist on my system. My~/.vimrc
file only has a few lines that I have added manually. Anstrace
ofvim
reveals that it checks the following locations for config files:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
(ENOENT), and/home/user/.vimrc
. (Why do I receive the ENOENT error; doesn't theif
statement prevent attempts to open this non-existent file?).
– user001
Aug 2 '12 at 1:38
Also, if I type:set mouse=
directly in vim, shouldn't this override any settings from config files? Why would direct execution of this statement withinvim
not disable mouse control?
– user001
Aug 2 '12 at 1:40
1
@user001 You see theENOENT
as vim has to check if the file exists. This is typically done by callingstat
which returnsENOENT
if the file does not exist.
– Ulrich Dangel
Aug 2 '12 at 5:29
2
@user001 ah, the fact that it doesnt work when typed into the current session is critical info. Based on this, I'm not sure it's vim that's the problem. Maybe gnome-terminal is doing something horrible. Can you try a different terminal emulator?
– Patrick
Aug 2 '12 at 12:30
Hi, good suggestion. I tried inxterm
and had no problem with mouse activation. I could reproduce the problem by typing:set mouse=a
invim
running inxterm
(and reverse it by typing:set mouse=
). Any idea how to troubleshoot thegnome-terminal
glitch? Should I start a new thread? Thanks.
– user001
Aug 2 '12 at 12:54
|
show 2 more comments
1
My/etc/vim/vimrc
file is pretty bare (runtime! debian.vim
and a conditionalif filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). The/etc/vim/vimrc.local
file does not exist on my system. My~/.vimrc
file only has a few lines that I have added manually. Anstrace
ofvim
reveals that it checks the following locations for config files:/usr/share/vim/vimrc
,/etc/vim/vimrc.local
(ENOENT), and/home/user/.vimrc
. (Why do I receive the ENOENT error; doesn't theif
statement prevent attempts to open this non-existent file?).
– user001
Aug 2 '12 at 1:38
Also, if I type:set mouse=
directly in vim, shouldn't this override any settings from config files? Why would direct execution of this statement withinvim
not disable mouse control?
– user001
Aug 2 '12 at 1:40
1
@user001 You see theENOENT
as vim has to check if the file exists. This is typically done by callingstat
which returnsENOENT
if the file does not exist.
– Ulrich Dangel
Aug 2 '12 at 5:29
2
@user001 ah, the fact that it doesnt work when typed into the current session is critical info. Based on this, I'm not sure it's vim that's the problem. Maybe gnome-terminal is doing something horrible. Can you try a different terminal emulator?
– Patrick
Aug 2 '12 at 12:30
Hi, good suggestion. I tried inxterm
and had no problem with mouse activation. I could reproduce the problem by typing:set mouse=a
invim
running inxterm
(and reverse it by typing:set mouse=
). Any idea how to troubleshoot thegnome-terminal
glitch? Should I start a new thread? Thanks.
– user001
Aug 2 '12 at 12:54
1
1
My
/etc/vim/vimrc
file is pretty bare (runtime! debian.vim
and a conditional if filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). The /etc/vim/vimrc.local
file does not exist on my system. My ~/.vimrc
file only has a few lines that I have added manually. An strace
of vim
reveals that it checks the following locations for config files: /usr/share/vim/vimrc
, /etc/vim/vimrc.local
(ENOENT), and /home/user/.vimrc
. (Why do I receive the ENOENT error; doesn't the if
statement prevent attempts to open this non-existent file?).– user001
Aug 2 '12 at 1:38
My
/etc/vim/vimrc
file is pretty bare (runtime! debian.vim
and a conditional if filereadable("/etc/vim/vimrc.local") ; source /etc/vim/vimrc.local; endif
). The /etc/vim/vimrc.local
file does not exist on my system. My ~/.vimrc
file only has a few lines that I have added manually. An strace
of vim
reveals that it checks the following locations for config files: /usr/share/vim/vimrc
, /etc/vim/vimrc.local
(ENOENT), and /home/user/.vimrc
. (Why do I receive the ENOENT error; doesn't the if
statement prevent attempts to open this non-existent file?).– user001
Aug 2 '12 at 1:38
Also, if I type
:set mouse=
directly in vim, shouldn't this override any settings from config files? Why would direct execution of this statement within vim
not disable mouse control?– user001
Aug 2 '12 at 1:40
Also, if I type
:set mouse=
directly in vim, shouldn't this override any settings from config files? Why would direct execution of this statement within vim
not disable mouse control?– user001
Aug 2 '12 at 1:40
1
1
@user001 You see the
ENOENT
as vim has to check if the file exists. This is typically done by calling stat
which returns ENOENT
if the file does not exist.– Ulrich Dangel
Aug 2 '12 at 5:29
@user001 You see the
ENOENT
as vim has to check if the file exists. This is typically done by calling stat
which returns ENOENT
if the file does not exist.– Ulrich Dangel
Aug 2 '12 at 5:29
2
2
@user001 ah, the fact that it doesnt work when typed into the current session is critical info. Based on this, I'm not sure it's vim that's the problem. Maybe gnome-terminal is doing something horrible. Can you try a different terminal emulator?
– Patrick
Aug 2 '12 at 12:30
@user001 ah, the fact that it doesnt work when typed into the current session is critical info. Based on this, I'm not sure it's vim that's the problem. Maybe gnome-terminal is doing something horrible. Can you try a different terminal emulator?
– Patrick
Aug 2 '12 at 12:30
Hi, good suggestion. I tried in
xterm
and had no problem with mouse activation. I could reproduce the problem by typing :set mouse=a
in vim
running in xterm
(and reverse it by typing :set mouse=
). Any idea how to troubleshoot the gnome-terminal
glitch? Should I start a new thread? Thanks.– user001
Aug 2 '12 at 12:54
Hi, good suggestion. I tried in
xterm
and had no problem with mouse activation. I could reproduce the problem by typing :set mouse=a
in vim
running in xterm
(and reverse it by typing :set mouse=
). Any idea how to troubleshoot the gnome-terminal
glitch? Should I start a new thread? Thanks.– user001
Aug 2 '12 at 12:54
|
show 2 more comments
up vote
5
down vote
I ran into this on my OS X "Terminal" app on a Fedora Server 25 host. I've permanently solved it with this in my .vimrc with:
set mouse=
set ttymouse=
Now I can scroll up to my previous bash history in my terminal's scrollback with my mouse.
It is strongly recommended to create a vimrc.local in the same catalogue, because vimrc.local wont be updated if vim get updates
– Orphans
Aug 22 '17 at 9:57
It worked for me on Raspbian 9.4. Other answers did not solve undesired mouse behaviour when I log in via PUTTY.
– Dmitry
Sep 22 at 21:53
add a comment |
up vote
5
down vote
I ran into this on my OS X "Terminal" app on a Fedora Server 25 host. I've permanently solved it with this in my .vimrc with:
set mouse=
set ttymouse=
Now I can scroll up to my previous bash history in my terminal's scrollback with my mouse.
It is strongly recommended to create a vimrc.local in the same catalogue, because vimrc.local wont be updated if vim get updates
– Orphans
Aug 22 '17 at 9:57
It worked for me on Raspbian 9.4. Other answers did not solve undesired mouse behaviour when I log in via PUTTY.
– Dmitry
Sep 22 at 21:53
add a comment |
up vote
5
down vote
up vote
5
down vote
I ran into this on my OS X "Terminal" app on a Fedora Server 25 host. I've permanently solved it with this in my .vimrc with:
set mouse=
set ttymouse=
Now I can scroll up to my previous bash history in my terminal's scrollback with my mouse.
I ran into this on my OS X "Terminal" app on a Fedora Server 25 host. I've permanently solved it with this in my .vimrc with:
set mouse=
set ttymouse=
Now I can scroll up to my previous bash history in my terminal's scrollback with my mouse.
answered Dec 19 '16 at 0:39
Robpol86
15112
15112
It is strongly recommended to create a vimrc.local in the same catalogue, because vimrc.local wont be updated if vim get updates
– Orphans
Aug 22 '17 at 9:57
It worked for me on Raspbian 9.4. Other answers did not solve undesired mouse behaviour when I log in via PUTTY.
– Dmitry
Sep 22 at 21:53
add a comment |
It is strongly recommended to create a vimrc.local in the same catalogue, because vimrc.local wont be updated if vim get updates
– Orphans
Aug 22 '17 at 9:57
It worked for me on Raspbian 9.4. Other answers did not solve undesired mouse behaviour when I log in via PUTTY.
– Dmitry
Sep 22 at 21:53
It is strongly recommended to create a vimrc.local in the same catalogue, because vimrc.local wont be updated if vim get updates
– Orphans
Aug 22 '17 at 9:57
It is strongly recommended to create a vimrc.local in the same catalogue, because vimrc.local wont be updated if vim get updates
– Orphans
Aug 22 '17 at 9:57
It worked for me on Raspbian 9.4. Other answers did not solve undesired mouse behaviour when I log in via PUTTY.
– Dmitry
Sep 22 at 21:53
It worked for me on Raspbian 9.4. Other answers did not solve undesired mouse behaviour when I log in via PUTTY.
– Dmitry
Sep 22 at 21:53
add a comment |
up vote
4
down vote
I had pretty much the same complaints as you about the newer Vim's sensitivity to the mouse. Using set mouse=""
did not do it for me, either.
I have set mouse=c
(no quotes) close to the bottom of my .vimrc
file. That seemed to keep Vim from using the mouse, except when using "PuTTY" to ssh in from my (ugh!) Windows machine at work. I have to use shift-middle-button to paste in PuTTY.
2018-03-30 Edit: I have now started using: :mouse=
(no quotes or anything) on some remote (CentOS 6.7) instances of vim to get rid of undesired mouse effects.
Hi, thanks for the suggestion. I added this to my.vimrc
file and tried executing it interactively (:set mouse=c
), but neither had an effect in my case.
– user001
Aug 2 '12 at 2:14
add a comment |
up vote
4
down vote
I had pretty much the same complaints as you about the newer Vim's sensitivity to the mouse. Using set mouse=""
did not do it for me, either.
I have set mouse=c
(no quotes) close to the bottom of my .vimrc
file. That seemed to keep Vim from using the mouse, except when using "PuTTY" to ssh in from my (ugh!) Windows machine at work. I have to use shift-middle-button to paste in PuTTY.
2018-03-30 Edit: I have now started using: :mouse=
(no quotes or anything) on some remote (CentOS 6.7) instances of vim to get rid of undesired mouse effects.
Hi, thanks for the suggestion. I added this to my.vimrc
file and tried executing it interactively (:set mouse=c
), but neither had an effect in my case.
– user001
Aug 2 '12 at 2:14
add a comment |
up vote
4
down vote
up vote
4
down vote
I had pretty much the same complaints as you about the newer Vim's sensitivity to the mouse. Using set mouse=""
did not do it for me, either.
I have set mouse=c
(no quotes) close to the bottom of my .vimrc
file. That seemed to keep Vim from using the mouse, except when using "PuTTY" to ssh in from my (ugh!) Windows machine at work. I have to use shift-middle-button to paste in PuTTY.
2018-03-30 Edit: I have now started using: :mouse=
(no quotes or anything) on some remote (CentOS 6.7) instances of vim to get rid of undesired mouse effects.
I had pretty much the same complaints as you about the newer Vim's sensitivity to the mouse. Using set mouse=""
did not do it for me, either.
I have set mouse=c
(no quotes) close to the bottom of my .vimrc
file. That seemed to keep Vim from using the mouse, except when using "PuTTY" to ssh in from my (ugh!) Windows machine at work. I have to use shift-middle-button to paste in PuTTY.
2018-03-30 Edit: I have now started using: :mouse=
(no quotes or anything) on some remote (CentOS 6.7) instances of vim to get rid of undesired mouse effects.
edited Mar 30 at 15:12
answered Aug 2 '12 at 2:09
Bruce Ediger
34.6k566119
34.6k566119
Hi, thanks for the suggestion. I added this to my.vimrc
file and tried executing it interactively (:set mouse=c
), but neither had an effect in my case.
– user001
Aug 2 '12 at 2:14
add a comment |
Hi, thanks for the suggestion. I added this to my.vimrc
file and tried executing it interactively (:set mouse=c
), but neither had an effect in my case.
– user001
Aug 2 '12 at 2:14
Hi, thanks for the suggestion. I added this to my
.vimrc
file and tried executing it interactively (:set mouse=c
), but neither had an effect in my case.– user001
Aug 2 '12 at 2:14
Hi, thanks for the suggestion. I added this to my
.vimrc
file and tried executing it interactively (:set mouse=c
), but neither had an effect in my case.– user001
Aug 2 '12 at 2:14
add a comment |
up vote
3
down vote
Add this to your .vimrc
:
if has("gui_running")
"echo "yes, we have a GUI"
set mouse=a
else
"echo "Boring old console"
set mouse=
endif
1
This is of no relevance to the question asked.
– GKFX
Sep 24 '16 at 19:54
@GKFX Are you sure? It looks relevant to me. Note thathas("gui_running")
is 0 in a terminal environment. This answer, unlike the others, takes extra effort to only disable the mouse in a terminal environment, which the question asks, while leaving it enabled in gvim.
– hvd
Jul 29 '17 at 6:23
@hvd I worded my comment a bit harshly; I apologize. However, this answer just puts an if block around what the OP had already tried, so it's unlikely to be helpful.
– GKFX
Jul 29 '17 at 13:15
1
@GKFX Fair point, and applies to other answers as well.
– hvd
Jul 29 '17 at 13:23
add a comment |
up vote
3
down vote
Add this to your .vimrc
:
if has("gui_running")
"echo "yes, we have a GUI"
set mouse=a
else
"echo "Boring old console"
set mouse=
endif
1
This is of no relevance to the question asked.
– GKFX
Sep 24 '16 at 19:54
@GKFX Are you sure? It looks relevant to me. Note thathas("gui_running")
is 0 in a terminal environment. This answer, unlike the others, takes extra effort to only disable the mouse in a terminal environment, which the question asks, while leaving it enabled in gvim.
– hvd
Jul 29 '17 at 6:23
@hvd I worded my comment a bit harshly; I apologize. However, this answer just puts an if block around what the OP had already tried, so it's unlikely to be helpful.
– GKFX
Jul 29 '17 at 13:15
1
@GKFX Fair point, and applies to other answers as well.
– hvd
Jul 29 '17 at 13:23
add a comment |
up vote
3
down vote
up vote
3
down vote
Add this to your .vimrc
:
if has("gui_running")
"echo "yes, we have a GUI"
set mouse=a
else
"echo "Boring old console"
set mouse=
endif
Add this to your .vimrc
:
if has("gui_running")
"echo "yes, we have a GUI"
set mouse=a
else
"echo "Boring old console"
set mouse=
endif
edited Apr 8 '13 at 2:46
Michael Mrozek♦
60.4k29187208
60.4k29187208
answered Apr 8 '13 at 1:26
ipirlo
311
311
1
This is of no relevance to the question asked.
– GKFX
Sep 24 '16 at 19:54
@GKFX Are you sure? It looks relevant to me. Note thathas("gui_running")
is 0 in a terminal environment. This answer, unlike the others, takes extra effort to only disable the mouse in a terminal environment, which the question asks, while leaving it enabled in gvim.
– hvd
Jul 29 '17 at 6:23
@hvd I worded my comment a bit harshly; I apologize. However, this answer just puts an if block around what the OP had already tried, so it's unlikely to be helpful.
– GKFX
Jul 29 '17 at 13:15
1
@GKFX Fair point, and applies to other answers as well.
– hvd
Jul 29 '17 at 13:23
add a comment |
1
This is of no relevance to the question asked.
– GKFX
Sep 24 '16 at 19:54
@GKFX Are you sure? It looks relevant to me. Note thathas("gui_running")
is 0 in a terminal environment. This answer, unlike the others, takes extra effort to only disable the mouse in a terminal environment, which the question asks, while leaving it enabled in gvim.
– hvd
Jul 29 '17 at 6:23
@hvd I worded my comment a bit harshly; I apologize. However, this answer just puts an if block around what the OP had already tried, so it's unlikely to be helpful.
– GKFX
Jul 29 '17 at 13:15
1
@GKFX Fair point, and applies to other answers as well.
– hvd
Jul 29 '17 at 13:23
1
1
This is of no relevance to the question asked.
– GKFX
Sep 24 '16 at 19:54
This is of no relevance to the question asked.
– GKFX
Sep 24 '16 at 19:54
@GKFX Are you sure? It looks relevant to me. Note that
has("gui_running")
is 0 in a terminal environment. This answer, unlike the others, takes extra effort to only disable the mouse in a terminal environment, which the question asks, while leaving it enabled in gvim.– hvd
Jul 29 '17 at 6:23
@GKFX Are you sure? It looks relevant to me. Note that
has("gui_running")
is 0 in a terminal environment. This answer, unlike the others, takes extra effort to only disable the mouse in a terminal environment, which the question asks, while leaving it enabled in gvim.– hvd
Jul 29 '17 at 6:23
@hvd I worded my comment a bit harshly; I apologize. However, this answer just puts an if block around what the OP had already tried, so it's unlikely to be helpful.
– GKFX
Jul 29 '17 at 13:15
@hvd I worded my comment a bit harshly; I apologize. However, this answer just puts an if block around what the OP had already tried, so it's unlikely to be helpful.
– GKFX
Jul 29 '17 at 13:15
1
1
@GKFX Fair point, and applies to other answers as well.
– hvd
Jul 29 '17 at 13:23
@GKFX Fair point, and applies to other answers as well.
– hvd
Jul 29 '17 at 13:23
add a comment |
up vote
0
down vote
Somewhat related to the question, if you are using neovim(nvim) you should put set mouse=
in your ~/.config/nvim/init.vim
configuration file.
If the directory doesn't exist create it with mkdir -p ~/.config/nvim/
add a comment |
up vote
0
down vote
Somewhat related to the question, if you are using neovim(nvim) you should put set mouse=
in your ~/.config/nvim/init.vim
configuration file.
If the directory doesn't exist create it with mkdir -p ~/.config/nvim/
add a comment |
up vote
0
down vote
up vote
0
down vote
Somewhat related to the question, if you are using neovim(nvim) you should put set mouse=
in your ~/.config/nvim/init.vim
configuration file.
If the directory doesn't exist create it with mkdir -p ~/.config/nvim/
Somewhat related to the question, if you are using neovim(nvim) you should put set mouse=
in your ~/.config/nvim/init.vim
configuration file.
If the directory doesn't exist create it with mkdir -p ~/.config/nvim/
answered Mar 26 at 14:29
Marcelo Lacerda
1011
1011
add a comment |
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f44513%2fdisabling-mouse-support-in-vim-in-a-gnome-terminal-environment%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown