Hi Dominique and Luc, thanks you for the advice. I agree that it is not a good idea to blindly replace everything. The most common case for me is probably static_cast so I would do that by default.
> In lh-cpp (*), I have 3 mappings that transform C casts into C++ casts -- and > 6 more to cast an expression. > > This has to be done manually: you'll have to know if you want a const_cast, a > static_cast, or a reinterpret_cast. As Dominique said, it can't really be > done automatically. May be, clang could automate many things, but it won't be > able to know whether you want to downcast with a dynamic_cast or with a > static_cast? > > (*) https://github.com/LucHermitte/lh-cpp > Luc, I did install your library but the mapping provided ,,sc didn't do anything for me. I did have an error when entering a c++ buffer after loading the plugin with VAM, something like: line 39: E227: mapping already exists for <80><fc>^D I am not sure this is the reason I cannot use the mapping provided in your plugin. I did write a function and mapping that for now should suit my needs: function! ToStatic1() " (type) b -> static_cast<type>(b) " it is assumed cursor is inside the first cast let original_keyword = &iskeyword setlocal iskeyword +=_ setlocal iskeyword +=[ setlocal iskeyword +=] setlocal iskeyword +=: normal di( let @a = @" normal da( normal istatic_cast<> normal h normal "ap normal f>l while 1 "get current char let c = getline('.')[col('.')-1] if c == ' ' normal x else break endif endwhile echom c if c != '(' normal i( normal e normal a) endif let &iskeyword=original_keyword endfunction nnoremap <silent> ,a :call ToStatic1()<CR> Thanks, Jorge -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
