Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot toggle repeatedly through yankring #119

Open
simlei opened this issue Apr 15, 2018 · 7 comments
Open

Cannot toggle repeatedly through yankring #119

simlei opened this issue Apr 15, 2018 · 7 comments

Comments

@simlei
Copy link

simlei commented Apr 15, 2018

I past text with p, then immediately press CTRL-P. It goes back one entry in the buffer. I paste, the entry that was before the first one is pasted. So far, so good.

But then it gets sad:
Pressing CTRL-P multiple times after a paste only toggles the yankring revolution once! At the second CTRL-P, I get the status: "last action was not paste, swap ignored".

But I want to access the yank 2 times before my last!
What am I doing wrong? Or is it even a bug...

In the README it was described as

[...] What this means for example is that you can toggle a given paste back using <CTRL-P> 10 times, [...]

So, I assumed, repeated CTRL-P was the way to go.


Clarification: I am new to vim. I have though tried out the "original"YankRing now, and it is clear to me what to expect. In short, your CTRL-P and CTRL-N keybindings do not work at all. They do not change the text that has been previously pasted. Pretty frustrating :(

Because: I really like how you redirected everything in the black hole and made a dedicated "move" command. Exactly what I want!
So - I will go with the original YankRing for now but would be glad to assist in debugging this issue!

I am on Vim 8.0.1669.
This is my vimrc

" vim plugin manager autoloads
if empty(glob('~/.vim/autoload/plug.vim'))
  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif

" how to conditionalize so it doesnt delete when disabled
" , Cond(has('nvim'))

call plug#begin('~/.vim/plugged')
          Plug 'tpope/vim-repeat'
          Plug 'svermeulen/vim-easyclip'          
          Plug 'moll/vim-bbye'
          Plug 'vim-scripts/ZoomWin'
          Plug 'zirrostig/vim-schlepp' 
call plug#end()

" bbye
:nnoremap <Leader>q :Bdelete<CR>

" easyclip occupies 'm' now. gm is now set mark
nnoremap gm m
nmap M <Plug>MoveMotionEndOfLinePlug

"move lines alt-shift jk
set smartindent

" Schlepp
vmap <S-k> <Plug>SchleppDupUp
vmap <S-j> <Plug>SchleppDupDown
vmap <S-h> <Plug>SchleppDupLeft
vmap <S-l> <Plug>SchleppDupRight

vmap <C-i> <Plug>SchleppToggleReindent

vmap <C-k>    <Plug>SchleppUp
vmap <C-j>  <Plug>SchleppDown
vmap <C-h>  <Plug>SchleppLeft
vmap <C-l> <Plug>SchleppRight




set showcmd
set ic
set clipboard=unnamedplus
set backspace=2 " make backspace work like most other programs
imap <S-Space> <Esc>
imap <C-L> <Esc>
set undofile
set wildmenu
set et
nnoremap <C-i> i_<Esc>r
set hlsearch
set incsearch
:nnoremap <silent><expr> <Leader>h (&hls && v:hlsearch ? ':nohls' : ':set hls')."\n"

" ------------------------------------------------------------
@svermeulen
Copy link
Owner

Yes, this is a known issue, reported here as well : #109

Unfortunately I don't have time to look into it for another couple weeks minimum. Like I said in the other issue, if anyone with vimscript knowlege is able to help in the meantime that would be great

@simlei
Copy link
Author

simlei commented May 5, 2018

Is there any news on this? Your plugin in concept is great, but right now I have fallen back on the Yankring which massively pollutes my key bindings. I absolutely do not have the skills to debug a vimscript plugin that deals with registers, though :/

@svermeulen
Copy link
Owner

svermeulen commented May 6, 2018

No news yet, but like I said in my last comment, I should finally have time in the next week to start taking a look

I am not seeing this issue so I think it's something new to Vim 8 / Neovim? Not sure

I can sympathize with your not wanting to learn vimscript :)

@simlei
Copy link
Author

simlei commented May 6, 2018

I'm sandboxing my vim right now anyways and should be able to make a minimal reproduction repo in the next week. You would just have to make it and a bashscript would bootstrap 1) subfolder-installed vim 2) minimal vimrc via VIMINIT environment variable. I'll post again here when I have it.

@razor-x
Copy link

razor-x commented May 11, 2018

I tired rolling back to some earlier commits when I believe this was working for me on Neovim, but no luck. I'm guessing that means that something changed in Neovim that broke this functionality.

@gauteh
Copy link

gauteh commented Aug 3, 2018

I'm hitting this bug as well. Would be super nice if this could be fixed! Missing the other features from similar plugins. Tried with a minimal vimrc (only vim-repeat and vim-easyclip), still the same.

VIM - Vi IMproved 8.1 (2018 May 17, compiled May 25 2018 00:50:25)
Included patches: 1-22
Compiled by Arch Linux
Huge version with GTK3 GUI.  Features included (+) or not (-):
+acl               +farsi             +mouse_sgr         -tag_any_white
+arabic            +file_in_path      -mouse_sysmouse    +tcl/dyn
+autocmd           +find_in_path      +mouse_urxvt       +termguicolors
-autoservername    +float             +mouse_xterm       +terminal
+balloon_eval      +folding           +multi_byte        +terminfo
+balloon_eval_term -footer            +multi_lang        +termresponse
+browse            +fork()            -mzscheme          +textobjects
++builtin_terms    +gettext           +netbeans_intg     +timers
+byte_offset       -hangul_input      +num64             +title
+channel           +iconv             +packages          +toolbar
+cindent           +insert_expand     +path_extra        +user_commands
+clientserver      +job               +perl/dyn          +vertsplit
+clipboard         +jumplist          +persistent_undo   +virtualedit
+cmdline_compl     +keymap            +postscript        +visual
+cmdline_hist      +lambda            +printer           +visualextra
+cmdline_info      +langmap           +profile           +viminfo
+comments          +libcall           +python/dyn        +vreplace
+conceal           +linebreak         +python3/dyn       +wildignore
+cryptv            +lispindent        +quickfix          +wildmenu
+cscope            +listcmds          +reltime           +windows
+cursorbind        +localmap          +rightleft         +writebackup
+cursorshape       +lua/dyn           +ruby/dyn          +X11
+dialog_con_gui    +menu              +scrollbind        -xfontset
+diff              +mksession         +signs             +xim
+digraphs          +modify_fname      +smartindent       -xpm
+dnd               +mouse             +startuptime       +xsmp_interact
-ebcdic            +mouseshape        +statusline        +xterm_clipboard
+emacs_tags        +mouse_dec         -sun_workshop      -xterm_save
+eval              +mouse_gpm         +syntax            
+ex_extra          -mouse_jsbterm     +tag_binary        
+extra_search      +mouse_netterm     +tag_old_static    
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/libdrm -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/harfbuzz -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1       
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.26/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -lfribidi -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lelf -lnsl    -lacl -lattr -lgpm -ldl   -Wl,-E -Wl,-rpath,/usr/lib/perl5/5.26/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/perl5/5.26/core_perl/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc   -L/usr/lib -ltclstub8.6 -ldl -lz -lpthread -lm     

@svermeulen
Copy link
Owner

As stated now at the top of the readme, easyclip is being split up into three new plugins that target Vim 8 / Neovim. I'm migrating to neovim and have got the previous yank swapping functionality working correctly again in Neovim with nvim-yoink

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants