1

+ и - работают как положено только в режиме вставки. Когда я пытаюсь выдернуть строку в визуальном режиме, используя комбинацию « + , + заставляет курсор перемещаться на одну строку вверх и - на одну строку вниз. Поле последней нажатой клавиши сбрасывается ", и на ее месте появляется ряд строк для восстановления.

Я не смог найти никаких подсказок в справке, касающихся открепления + от возврата каретки, движения Ctrl M. Очень раздражает

С или без .vimrc, эффект точно такой же. Возможно проблема с отображениями. Вот вывод нескольких команд:

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


3 ответа3

2

Если кто-то сталкивался с такой проблемой, то здесь есть похожая проблема, с немного другими симптомами и тем же ответом.

https://unix.stackexchange.com/questions/25965/vim-unnamed-register-or

1

Если я правильно понимаю вашу проблему, вам нужно нажать + сразу после выбора регистра, а не после y.

Правильный способ дергать в " + у.

0

"Как и ожидалось"? Но что вы ожидаете?

В режиме вставки + и - должны вставлять + и - .

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

В визуальном режиме + и - должны перемещать курсор на одну строку вверх и вниз, увеличивая / уменьшая выделение.

+ означает "регистр буфера обмена" только в том случае, если он набирается после " (или в некоторых контекстах после @).

Если вы пытаетесь вернуться к регистру "+ вы должны сначала указать vim, какой регистр использовать, а затем выполнить операцию.

"+y

После того, как вы ввели " , ввод + не будет перемещать курсор, и Vim будет просто терпеливо ждать, пока вы не скажете ему, что вы хотите сделать с этим регистром (ydc).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .