vim "+ registrar inacessível. + chave causa movimento indesejado

1

+ e - funcionam como esperado somente no modo de inserção. Quando tento arrancar uma linha no modo visual usando a combinação " + y , + faz com que o cursor se mova uma linha e - uma linha abaixo. O último campo de tecla pressionado reinicia " e em seu lugar aparece um número de linhas para arrancar.

Eu não encontrei nenhuma dica na ajuda, em relação ao unbinding + do movimento Retorno do Carro , Ctrl M . Muito irritante.

Com ou sem .vimrc, o efeito é exatamente o mesmo. Talvez problema com mapeamentos. Aqui está a saída de vários comandos:

---------showkey       
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]*\).* (.*, \(.*\)).*$/ /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       


    
por Piotr 16.07.2013 / 00:24

3 respostas

2

Se alguém se deparar com um problema como este, há um problema semelhante, com sintomas ligeiramente diferentes e a mesma resposta.

link

    
por 16.07.2013 / 20:16
1

Se eu entendi seu problema corretamente, você deve pressionar + logo após escolher o registrador, não depois de y .

A maneira correta de obter o " register é " + y .

    
por 16.07.2013 / 00:56
0

"Como esperado"? Mas o que você espera?

No modo de inserção, + e - devem inserir + e - .

No modo normal, + e - devem mover o cursor uma linha para cima e para baixo.

No modo visual, + e - devem mover o cursor uma linha para cima e para baixo, gastando / contraindo a seleção.

+ significa apenas "registro da área de transferência" quando é digitado após " (ou em alguns contextos após @ ).

Se você está tentando arrancar para o "+ register primeiro você deve informar ao vim qual registro usar, então faça a operação.

"+y

Depois de ter digitado o " , digitar + não moverá o cursor e o Vim esperará pacientemente até você informar o que deseja fazer com esse registro ( ydc ).

    
por 16.07.2013 / 07:02

Tags