Thread: running programs within cream & couple of bugs
Cream is a free, easy-to-use configuration of the Vim text editor
Brought to you by:
digitect
From: sven <sv...@ap...> - 2002-12-29 13:00:48
|
Hello, I'm trying to switch over to Cream (no vanilla vim for me) on both Windows and Linux. I'm using it mainly to write and maintain HTML & Javascript but occasionally also few cmdline scripts. I was wondering if it is possible to execute currently active file (or execute external program with current file) and then display the output? Perhaps this functionality already exists in Cream and I've just missed it somehow? Also, there are couple of bug(-ish) things I've noticed (I'm using 0.18 on Windows): * When active document contains selection then Ctrl+H deletes it instead of opening replace dialogue. If this is intended behaviour then it should be clearly documented. Ideally it could open replace dialogue containing selected text as string to search for but if not then at least it shouldn't delete the selection. * Similar one is Ctrl+F when having text selected. It does not behave at all as expected (opening find dialogue) but instead it... Well, what the heck is it trying do anyway? :) Note that selecting find (or replace) from meny behaves normally. * When I have sidebar open with either calendar or file tree then I can't close open documents unless I first close calendar/file tree. This makes no sense since I can edit those documents while having calendar open, I can save them and do everything else except close them. Again - this should be documented (or is it somewhere?). * Ctrl+Tab switches between open files but fails to do so when either calendar or file tree are open. Then it switches only between active file and calendar or file tree (whichever is open) but not between open files. * Cream website (http://cream.sourceforge.net/features.html) recommends Alt+W,E for file explorer but in Cream menu it is marked as obsolete (in favour of File Tree?) :) There were couple of strange quirks running Cream in linux too (keymap related, IIRC) but I'm not able to test those right now (being linuxless for time being). This is proabably a vim issue but while I'm at it - is there a way to get --remote work properly in Windows? Currently it does open new file in running instance of vim but also prepends these three lines :cd - :call foreground() : to newly opened document content. Any way to fix this? Sven |
From: Steve H. <dig...@mi...> - 2002-12-29 22:40:55
|
sven wrote: > > I'm trying to switch over to Cream (no vanilla vim for me) on both > Windows and Linux. I'm using it mainly to write and maintain HTML & > Javascript but occasionally also few cmdline scripts. I was > wondering if it is possible to execute currently active file (or > execute external program with current file) and then display the > output? Perhaps this functionality already exists in Cream and I've > just missed it somehow? We haven't implemented this feature (yet?) but it might make for a good add-on. Basically, all you need to do is: 1. Alt+O,Alt+O -- gets you to the command line 2. :execute "![cmd] " . expand("%:p") -- where [cmd] is the app you want to run on the current file, must be on path or pathed absolutely. Example: :execute "!notepad " . expand("%:p") See ":help :!", ":help :shell", ":help :silent", and perhaps ":help system()". > Also, there are couple of bug(-ish) things I've noticed (I'm using > 0.18 on Windows): > > * When active document contains selection then Ctrl+H deletes it > instead of opening replace dialogue. If this is intended behaviour > then it should be clearly documented. Ideally it could open replace > dialogue containing selected text as string to search for but if not > then at least it shouldn't delete the selection. > > * Similar one is Ctrl+F when having text selected.... Yes, both simple bugs. Fixing them to match the ideal behavior you describe has been on the ToDo--I'll try do it for next release. > * When I have sidebar open with either calendar or file tree then I > can't close open documents unless I first close calendar/file tree. > This makes no sense since I can edit those documents while having > calendar open, I can save them and do everything else except close > them. Again - this should be documented (or is it somewhere?). > > * Ctrl+Tab switches between open files but fails to do so when > either calendar or file tree are open. Then it switches only between > active file and calendar or file tree (whichever is open) but not > between open files. The next release is focusing on fixing the currently abysmal window management you describe. We hope version 0.19 smooths out most of these kinds of problems. (Such as a new option for Ctrl+Tab to switch into "special" buffers (calender, explorer, taglist, etc.) or page through document buffers only. Bare with us, windows are under construction! > * Cream website (http://cream.sourceforge.net/features.html) > recommends Alt+W,E for file explorer but in Cream menu it is marked > as obsolete (in favour of File Tree?) :) You caught me in a hedge. ;) I'm actually hoping to write yet a third shortly which has the best features of both. (File details, node/indentation, absolute path.) The best part is that it will effectively be a class, rather than with directory/file trees "hardcoded" into the design. Then it might be shared by any tree style navigation you could imagine, such as book/chapter/verse, country/state/city, drive/directory/file, etc. > There were couple of strange quirks running Cream in linux too > (keymap related, IIRC) but I'm not able to test those right now > (being linuxless for time being). Likely. I get frustrated from time to time at the inconsistencies of the various Linux desktop/terminal keystroke implementations. But if you can help me track these down, I'll be happy to address them. > This is proabably a vim issue but while I'm at it - is there a way to > get --remote work properly in Windows? Currently it does open new file > in running instance of vim but also prepends these three lines > :cd - > :call foreground() > : > to newly opened document content. Any way to fix this? Note that with Cream, you must use <M-o><M-o> in lieu of Vim's standard <C-o> to drop into the command line for a single command. You can also use <C-l> but then you need to find a way to switch back into insertmode (<Esc> is risky, another way is more prefereable). I have better luck with remote_send() and remote_expr(). The very last function in cream-server.vim is the only remote features I've managed to implement so far. Thanks for writing, let us know if you have any further feedback as we implement the features and fixes discussed. Please forward us your code if you are able to create a "run current file" routine and I'll add it to the project as an add-on. Steve Hall [ digitect(at)mindspring.com ] PS - Would you mind forwarding your last name? I like to document bug finds and feature requests with contributors. It also helps us refine things if we try to add them. Thanks. |
From: sven v. <sv...@ap...> - 2002-12-30 07:12:19
|
> We haven't implemented this feature (yet?) but it might make for a > good add-on. Well, this is not terribly important so no need to squeeze it into to-do list. I just thought maybe it's already implemented and it'd be cool (but not neccessary) to have it :) > Basically, all you need to do is: > 1. Alt+O,Alt+O -- gets you to the command line Within Cream? Not working for me :( All I get is "ļļ" characters (sending this message as utf-8, switch if you don't see the characters). Happens with my default Estonian kbd layout and English (UK) layout (on w2k). This is unique to cream-vim since all other editors do not display anything with Alt+O. Also Alt+A, Alt+I and many other keys give me special accented characters as I discovered now. Since I'm not at home with vim stuff'n'remappings I'm not really sure whether this is intended behaviour or not. > 2. :execute "![cmd] " . expand("%:p") I'll keep exploring. So basically I have to drop to standard vim mode for this? > Yes, both simple bugs. Fixing them to match the ideal behavior you > describe has been on the ToDo--I'll try do it for next release. Well, if it is not conflicting with anything else then yes, I think that replace should try to take selection as string to replace. This creates problems, for example, when selection spans multiple lines. Editors which support the feature usually have max allowed length for selection in this case and if selection too long, ignore it. > I have better luck with remote_send() and remote_expr(). The very last > function in cream-server.vim is the only remote features I've managed > to implement so far. You lost me here :) I was wondering if I can use "vim --remote foo.txt" from explorer or cmdline to add file to already existing vim instance. I works flawlessly in linux but in windows it does the job but adds those three lines to newly opened file. I've been digging in vim.org and googling but have not seen any references whether this is or is not supposed to work on windows version too. > PS - Would you mind forwarding your last name? Oops. Should be set now. sven |
From: Steve H. <dig...@mi...> - 2002-12-30 18:36:01
|
sven vahar wrote: > > > Basically, all you need to do is: > > 1. Alt+O,Alt+O -- gets you to the command line > > Within Cream? Not working for me :( > All I get is "l,l," characters (sending this message as utf-8, > switch if you don't see the characters). Whoa! I'm noticing plenty of problems on Windows with encoding set to utf-8, too. > Happens with my default Estonian kbd layout and English (UK) layout > (on w2k). This is unique to cream-vim since all other editors do not > display anything with Alt+O. Also Alt+A, Alt+I and many other keys > give me special accented characters as I discovered now. Since I'm > not at home with vim stuff'n'remappings I'm not really sure whether > this is intended behaviour or not. Yes, this is standard Vim behavior. I had thought that these were hardcoded, but it appears that they are language-sensitive. (Which explains why I can't reproduce the characters you included above that appear in my Mozilla mail client but are hosed by Vim/Cream.) Ugh, you have apparently confirmed my fears that Cream shouldn't map anything including an Alt key. <sigh> This is going to require some additional research. It may be that we'll need to abandon *all* Alt+key combinations which will wreck havoc on many defined mappings. If you don't mind helping us, I'd like work through this with you via some testing. And you'll have to be a little patient... my wife and I appended another addition to our family yesterday. :)) > > 2. :execute "![cmd] " . expand("%:p") > > I'll keep exploring. So basically I have to drop to standard vim mode > for this? Yes, 100% of Cream actions now drop into normal mode and call functions. It makes things much more modular and fixable rather than shortcut functionality directly to a key mapping. Here's the prototype: imap <silent> <mykey> <M-o><M-o>:call MyFunction()<CR> function! MyFunction() " do anything I want here endfunction This from standard insert mode. Change "imap" to "vmap" and "<M-o><M-o>:" to ":<C-u>" for calls from a selection. > > Yes, both simple bugs. Fixing them to match the ideal behavior you > > describe has been on the ToDo--I'll try do it for next release. > > Well, if it is not conflicting with anything else then yes, I think > that replace should try to take selection as string to replace. This > creates problems, for example, when selection spans multiple lines. > Editors which support the feature usually have max allowed length > for selection in this case and if selection too long, ignore it. Good point. Would it be better to use the text up to the first return or prompt a warning ([Use Up To Return] [Cancel]) first? > > I have better luck with remote_send() and remote_expr(). The very last > > function in cream-server.vim is the only remote features I've managed > > to implement so far. > > You lost me here :) > I was wondering if I can use "vim --remote foo.txt" from explorer or > cmdline to add file to already existing vim instance. I works > flawlessly in linux but in windows it does the job but adds those > three lines to newly opened file. I've been digging in vim.org and > googling but have not seen any references whether this is or is not > supposed to work on windows version too. Oh, Cream already provides this option under Settings.Preferences.Single Session Mode. (With this option on, you would simply "vim foo.txt" and Cream would handle the rest. Unfortunately, it appears that our key encoding business may be interfering. We'll try to solve this for you. > > PS - Would you mind forwarding your last name? > > Oops. Should be set now. Thanks! Steve Hall [ digitect(at)mindspring.com ] -- Try Cream in your Vim... it takes the bitterness out! http://cream.sourceforge.net |
From: Steve H. <dig...@mi...> - 2003-01-08 06:54:36
|
sven vahar wrote: > > > Basically, all you need to do is: > > 1. Alt+O,Alt+O -- gets you to the command line > > Within Cream? Not working for me :( All I get is "l,l," characters > (sending this message as utf-8, switch if you don't see the > characters). Happens with my default Estonian kbd layout and English > (UK) layout (on w2k). I think I might understand this a little better now. (First, you are hitting the "Alt" and "O" key combination twice in rapid succession, right?) Do you set encoding=utf-8 manually? Or does this happen for you by default? What is the output just after startup when you enter :set encoding? If you are manually setting your encodings and like to use several, I have a severe architectural problem to fix with Cream. ;) Namely, it appears that when the mappings are loaded they take on whatever encoding is current at the time. If this changes later, the input from the keyboard changes accordingly, but the mappings already placed into memory *do not*. So there are conflicts with every Alt+key mapping existing. And since every Cream mapping and menu use <M-o><M-o> to access normal mode, this is... uh... bad. Would you test something for me? Somewhere at the top of the _vimrc file or of cream.vim could you place an encoding statement: set encoding=utf-8 When you restart Vim with Cream, does everything work as expected? If so, then try commenting out this line and restarting. Set the encoding at the command line after everything has loaded like: Ctrl+L :set encoding=utf-8 [Enter] Esc Do you start having problems again? If my assumptions are correct, it looks like I'll need to splice in some encoding handling prior to loading any mappings, functions or menus that use an Alt key. This will also mean a (partial) re-load whenever it changes. (But at least I'll finally know what's going on.) Steve Hall [ (digitect)@(mindspring).(com) ] -- Try Cream in your Vim... gentler till you're ready for full strength! http://cream.sourceforge.net |