+ and - work as expected only in the insert mode. When I try to yank a line in the visual mode using "+y combination, + causes cursor to move one line up and - one line down. The last pressed key field resets " and in it's place appears a number of lines to yank.

I couldn't find any tips in the help, regarding unbinding + from the Carriage Return, CtrlM motion. Very irritating.

With or without .vimrc, effect is exactly the same. Maybe problem with mappings. Here is output of several commands:

key 12                    # pressing +

----------showkey -a    
+ 43 0053 0x2b             # pressing +

----------dumpkeys |grep plus 
keycode  12 = plus             question         backslash        Control_underscore

----------xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p' 

20 plus                    # pressing +

----------cat .vimrc 
set fileencodings=iso-2022-jp,euc-jp,cp932,utf8,default,latin1
"colorscheme distinguished
filetype on
filetype plugin on 
filetype indent on

set stl=%f\ %m\ %r\ [Fmt=%{&ff}][Typ=%Y]\ Line:%l/%L[%p%%]\ Col:%c\ Buf:%n\ [%b][0x%B]
set autowrite
set noswapfile
set hidden "no need to save buffer before

set nocompatible

set autoindent
set si
set wrap
set spell
set nobackup

set ruler
set showcmd
set number
set cursorline

set tabstop=4
set expandtab
set smarttab
set shiftwidth=4

set incsearch
set mouse=a
syntax on
set hlsearch

set hid "change buffer no save
set incsearch
set magic "for regex
set wildmenu
set ls=2
set cmdheight=1

----------vim --version

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul  2 2013 18:30:39)
Included patches: 1-1287
Compiled by Arch Linux
Huge version without GUI.  Features included (+) or not (-):
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
-balloon_eval    +float           +mouse_urxvt     -tag_any_white
-browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
-clientserver    -hangul_input    -netbeans_intg   +title
-clipboard       +iconv           +path_extra      -toolbar
+cmdline_compl   +insert_expand   +perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       -python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con      -lua             +rightleft       +windows
+diff            +menu            -ruby            +writebackup
+digraphs        +mksession       +scrollbind      -X11
-dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     -xim
+emacs_tags      -mouseshape      -sniff           -xsmp
+eval            +mouse_dec       +startuptime     -xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    
+farsi           +mouse_netterm   +syntax          
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -D_FORTIFY_SOURCE=2 -I/usr/local/include  -march=i686 -mtune=generic -O2 -pipe -fstack-protector --param=ssp-buffer-size=4 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1      
Linking: gcc   -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim        -lm -lncurses  -lacl -lattr -lgpm -ldl   -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -L/usr/local/lib  -L/usr/lib/perl5/core_perl/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc       

  • Apart from the fact that you have duplicate commands and that you should always use longform options (hidden vs hid) for clarity I see nothing wrong in your vimrc. What about $ vim --version?
    – romainl
    Commented Jul 16, 2013 at 14:24
  • Done - added in the edited question above.
    – Piotr
    Commented Jul 16, 2013 at 16:47
  • Thanks -romainl- your comment put me on the right tracks.
    – Piotr
    Commented Jul 16, 2013 at 18:18
  • OK. Of course you can't use "+y if Vim is not built with clipboard support. So much time wasted for such a simple cause.
    – romainl
    Commented Jul 16, 2013 at 18:57

3 Answers 3


If anyone will came across problem like this here is a similar issue, with slightly different symptoms, and the same answer.



If I understand your problem correctly, you'll want to press + just after choosing the register, not after y.

The correct way to yank to the " register is "+y.

  • I miss-typed my post, correction is applied.
    – Piotr
    Commented Jul 16, 2013 at 5:42
  • I just shifted from Mint to Arh with Awesome. No matter if in X-windows or in the console, always same result, both "+" keys react in the same way. No mappings on this one.
    – Piotr
    Commented Jul 16, 2013 at 5:50
  • Sorry, no idea then.
    – Dean
    Commented Jul 16, 2013 at 6:17

"As expected"? But what do you expect?

In insert mode, + and - are supposed to insert a + and a -.

In normal mode, + and - are supposed to move the cursor one line up and down.

In visual mode, + and - are supposed to move the cursor one line up and down, expending/contracting the selection.

+ only means "clipboard register" when it is typed after a " (or in some contexts after a @).

If you are trying to yank to the "+ register you must first tell vim which register to use, then do the operation.


After you have typed the ", typing + won't move the cursor and Vim wil just wait patiently until you tell it what you want to do with that register (ydc).

  • in visual, after choosing a piece of text, "+y combination : " no problem, " appears on my status-bar + causes cursor to move one line up, and " on the status-bar gets replaced by a digit(number of highlighted lines).
    – Piotr
    Commented Jul 16, 2013 at 6:02
  • Visually selecting and yanking anything shouldn't change anything to your statusline (if that's what you call "status-bar"). If you have set showcmd, you are supposed to get 1 on the right of the command line after you have pressed v, then the number increases while you extend the selection, then it is replaced by " when you press ", then it becomes "+ when you press +, then it becomes "+y when you press y and disappears. Pressing " puts you in a mode similar to operator-pending mode where Vim waits idly for your input. No cursor movement should happen between " and y.
    – romainl
    Commented Jul 16, 2013 at 7:07
  • If that's not what happens, post your config. You should have done it right from the start, actually.
    – romainl
    Commented Jul 16, 2013 at 7:08
  • Done - added in edited question. Just reinstalled vim, no difference.
    – Piotr
    Commented Jul 16, 2013 at 13:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .