mtth / cursorcross.vim Goto Github PK
View Code? Open in Web Editor NEWSane cursorcolumn and cursorline handling
Sane cursorcolumn and cursorline handling
@media @medium { <SNR>22__trigger_or_fallback("", ""<Plug>CursorCrossBS.plural & { height: 9.375em; } }
What's happening?
When in insert mode with cursorcross enabled, typing enter (<cr>
) causes vim to hang. When I press <c-c>
to break out of it, I find that it's inserted thousands of newlines.
Any thoughts as to what is causing this? Here's my version:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Nov 10 2014 09:25:30)
MacOS X (unix) version
Included patches: 1-488
Compiled by Homebrew
Huge version without GUI. Features included (+) or not (-):
+acl +farsi +mouse_netterm +syntax
+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 -xpm
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
fall-back for $VIM: "/usr/local/share/vim"
Compilation: /usr/bin/clang -c -I. -Iproto -DHAVE_CONFIG_H -DMACOS_X_UNIX -Os -w -pipe -march=native -mmacosx-version-min=10.9 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: /usr/bin/clang -L. -L/usr/local/lib -L/usr/local/lib -Wl,-headerpad_max_install_names -o vim -lm -lncurses -liconv -framework Cocoa -fstack-protector -L/usr/local/lib -L/System/Library/Perl/5.16/darwin-thread-multi-2level/CORE -lperl -framework Python -lruby.2.0.0 -lobjc
What is the idea behind having the cursorcolumn only in the first column?
edit I see now, it ignores any padding, which is indeed useful, to see where the indent lines up with.
Still, it would be nice, if it would not interfere with existing mappings for CR/BS.
This feature also appears to be the only reason to map CR and BS in insert mode, which is inconvenient, because it may be mapped already, and cursorcross does not allow for remapping nor forwards the key.
Could you add a function to toggle this plug-in? Sometime I enter buffers with very long data that will be wrapped. A cursor line significantly slows done vim in that case. As long as the plug-in runs I cannot simply disable the cursor line, as cursorcross
will enable it again as soon as I leave insertmode.
The default maps to toggle cursorline / cursorcolumn are also provided by the unimpaired plugin ("coc", "cou", "cox").
The documentation should point at it.
Apart from that, the g:cursorcross_mappings
setting is confusing, since the CR/BS maps are done unconditionally (which is a good thing, but it is still a bit odd).
When keeping the default maps, you might want to prefix them with <Leader>
maybe?
delimitMate plugin has an option to expand CR, for example, when I type { and press enter I get:
{
|
}
but when cursorcross is loaded I get:
{
|}
I have following options set in my .vimrc
let g:cursorcross_dynamic='w'
let g:cursorcross_mappings=0
let g:delimitMate_expand_cr=1
let g:delimitMate_expand_space=1
let g:delimitMate_jump_expansion=1
let g:delimitMate_balance_matchpairs=1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.