The Union of Vim with KDE 287
Philippe Fremy writes "Thomas Capricelli, Mickael Marchand and me are pleased to present the first ever stable version of KVim, finally bringing "the power of VIM with KDE's friendliness".
This release contains a port of the standalone editor Vim 6.0 to Qt/KDE (2 and 3) and a KDE KPart Component. The component can currently embed either of GVim or KVim in Konqueror (screenshots), with out-of-process embedding. Further work is required before proper support for KDevelop, KMail and Kate is available, but things are moving forward."
As everyone knows, Vim is the best (only?) text editor, and KDE is the best (only?)
desktop system. Heh.
Woohoo! (Score:5, Interesting)
On a serious note, it shows that we can do things under linux that happen in Windows; the OLE model in Windows has allowed things like this for years, and it's about time we had a similar model in the *nix world.
Re:Woohoo! (Score:2, Insightful)
I find it absolutely fascinating that people think that the UNIX world lacks features found in Windows because, well, because of what? Do you seriously believe that people didn't have the resources to create this for UNIX?
The fact is that OLE (and its successors) are unreliable kludges. They grew out of some hacks trying to make Office components talk to one another, for which they were sort-of OK. But when applied to arbitrary applications, the GUI merging and process model they give you result in lousy user interfaces and unreliable applications. UNIX didn't get them because UNIX users didn't see a pressing need for them; other mechanisms work better.
Even if you think that what OLE was trying to do is actually useful, OLE and its successors are about the worst way of implementing it: unportable, low-level hacks that are difficult to version and don't protect programs from one another. OLE is really mainly an attempt to give C++ programs at least a little bit of what systems like Smalltalk and Java give you for free. And, surprise, Microsoft finally caught on and replaced the whole OLE/COM/ActiveX mess with C#/CLR (of course, there is some backwards compatibility and they use the OLE/COM terminology to explain the new functionality in C#/CLR).
Re:Woohoo! (Score:2)
Sounds a bit like the WWW when compared to Ted Nelson's Xanadu. And look which one ended up winning.
It's often the quick hacks that sneak in (or are forced upon people
Re:Woohoo! (Score:2)
Lousy user interfaces are the fault of the engineer, not of the component technology used to allow embedding..
And as far as COM being used to give C++ capability, your ignorance shines thru. COM uses 'C' functions. COM is not even away of what the heck a C++ object is. Thats why MFC, ATL, etc, have to wrap it for the less technical folks..
Get your facts strait..
Re:Woohoo! (Score:2)
OLE (or a similar technology) in itself is a great idea in theory, but if it's badly implemented then you can get problems. Hopefully, the KDE implementation is good enough to avoid these pitfalls.
Re:Woohoo! (Score:2)
I don't get it. I use mutt to read mail, and it is quite happy to embed vim for my usage in a console window.
I think the fancy trick used is called a pipe, but I am not sure. But it seems any editor that can run in a console can use the same trick, so maybe OLEs for linux are pretty advanced already ?
Nice, serious, but no thanks (Score:4, Insightful)
vim is all about those wierd keystrokes you learn that funnily enough grow on you and multiply your productivity.
While I'm sure you can still do this with kvim, I don't see what would get a real vim user to use kvim rather than just vim in konsole.
Nice idea, like I said, but I don't expect too much takeup.
Re:Nice, serious, but no thanks (Score:2)
Re:Nice, serious, but no thanks (Score:2)
Re:Nice, serious, but no thanks (Score:3, Insightful)
The menubar on emacs (for instance) is a great way of introducing emacs to complete novices. The smart ones usually find (or redefine) the hotkeys quickly enough.
Re:Nice, serious, but no thanks (Score:3, Interesting)
Now, its just second nature, so much so that I'm always typing it in other editors and getting annoyed when it doesn't work. I found a lot of interesting features poking through the menus. Another nice thing is if you do M-x something, and its bound to a key, Emacs will tell you. If you do it often enough you'll get to remember that keystroke and start using it more and more. My favourite is completion (M-/). I expect that accounts for up to half my keystrokes
funny... the C-X C-x makes a lot of sense... (Score:2)
why?
try this excersize.
cat>some_file
type here.
... now how do you save, and exit editting from this? thats right - Ctrl-X (EOF character) Ctrl-C
thats why emacs uses that key combo
Re:funny... the C-X C-x makes a lot of sense... (Score:2)
Re:funny... the C-X C-x makes a lot of sense... (Score:2)
Yes - the difference is you're right, and the previous poster doesn't know what he's talking about.
(Actually C-d is the character usually used interactively to signal that you want an end of file. EOF as defined in stdio.h isn't a character at all, which is why getc() and getchar() return ints (casting the result to char before comparing with EOF is a common mistake)).
Re:Nice, serious, but no thanks (Score:2)
I started using Vim some time ago, and it's the very first thing I install on any machine if I'll be doing much work on it and if it's not already there.
$0.02
Re:Nice, serious, but no thanks (Score:2, Funny)
Re:Nice, serious, but no thanks (Score:3, Informative)
Now if only there was a KEmacs
Re:Nice, serious, but no thanks (Score:3, Informative)
Of course, but the real beauty of KVim is the KPart. You can use the kvim kpart to edit any textfile in konqueror without opening another terminal and/or window. This is great for hybrid users who love the CLI/Shell but use konqueror or any other file manager every now and then. I usually use graphical file managers primarily for browsing (the local filesystem, not the web) and not for doing real work (like moving files around and editing text files). The KVim kpart might change this a bit.
Re:Nice, serious, but no thanks (Score:2, Interesting)
If I want to quickly write a small file, plain vim is best - but for lengthy editing sessions, gvim/kvim is the best!
Re:Nice, serious, but no thanks (Score:2)
OTOH,if you are indeed keen on using Vim, there are plenty of tricks in it that can make you keep the mouse permanently away.
Re:Nice, serious, but no thanks (Score:2, Insightful)
vim is all about those wierd keystrokes you learn that funnily enough grow on you and multiply your productivity.
Well yeah, that's the point. With the kvim kpart (when it's more developed and working with more than just konqueror), people will be able to use their weird little keystrokes in just about any KDE program that uses an editor.
In particular, I bet there are many programmers out there who don't want to edit in anything other than vim but would like to use kdevelop.
Re:Nice, serious, but no thanks (Score:2)
Re:Nice, serious, but no thanks (Score:5, Informative)
You'd better reread Vim's design goals. From the documentation [vim.org]:
Vim is designed to be embedded in other applications. An example of this is the integration with Sun Visual Workshop [vim.org], support for which is included in the official version.Three Words (to start with) (Score:5, Insightful)
When I fell back into the Unix/Linux world some four years ago, my biggest crisis was finding a text editor. The obvious choice for me was Vi in a term window (I've been using Vi since Jimmy was president). Alas using it in a windowing environment presented special problems. The big one is that I kept forgetting which mode I was in. Maybe you can have a half-dozen windows open and keep a state diagram of every one in your head. I can't. I needed an editor that was stateless, or at least less stateful than vi(m)-in-a-window.
Lucky for me, this was right when the Vim people perfected GVim, a version that integrated itself with various windowed environment. A paste is a paste, never mind what mode you're in. That by itself was enough for me to send a check to Bram's orphans. (I assume everybody else has?) The rest -- macros, synax colors, incremental search, being able to use the same editor on different platforms -- was just gravy.
So we've actual had this personna-defying version of Vim for quite some time. The Linux port uses GNOME widgets, but runs under KDE, no problem.
Also, you shouldn't assume that Vim is strictly for keep-my-hands-on-the-keyboard geeks. I know people who are put off by the weird modal keystrokes that Vim inherited from Vi. But they use Vim anyway, because it's the best comprimise available between power and functionality. Most editors are either to limited (KEdit) or infected with Feature Elephantitis (EMACS). Vim strikes a nice balance.
Re:Three Words (to start with) (Score:2)
I'm sure that Vim can be made to do this, but I've never bothered. Vim is my choice of editor without question in a non-graphics environment, but when it is moved to a graphics environment
Emacs to me appears to be the ideal single editor for a non-graphics environment (i.e., no graphics environment is available). It lets you get as fancy as you need to. Vim is a much simpler editor that is quick to learn, but specialized
But when one expands into a full system with windowing available
Showmode is Evil (Score:2)
And why should they? It's an obsolete concept, at least in UI design. If I had the time (and were a better programmer) I'd take the Bram's basic editor engine (which really is very good) and build a modern UI on top of it.
Comments from a long-time Vim user. (Score:2)
For one, the support for native GNOME (in the case of GVIM) and KDE (in the case of KVIM) clipboards, without having to go into the xterm window and keep on marking a "screenful" at a time and then scroll, mark another screenful, scroll, etc....with GVIM and KVIM, you can copy these to the clipboard easily like any other GUI editor.
If KVIM is anything like GVIM, it will have native support for KDE printing functionality, something non-existant in a console vim.
The fact that, as someone mentioned, it is a KPART means that other applications can use it. So, for instance, Konqueror could KVIM for the little text editor window that I'm typing in right now and I'd get full Vi-style editing functionality, something that would ROCK if you ask me personally.
Also, adding the menus and buttons give you useful stuff like File Open dialogs. Typing in a long pathname on ':e ' command line is a REAL royal PITA. I'd rather just point and click, thank you.
Re:Nice, serious, but no thanks (Score:2)
you stick it in a window and add menus and buttons.
I'm not so sure. I think it would be great if you could add the contents
of feedback forms using vi in your favorite web browser (it's already
possible if you use w3m, for example, or W3 using viper, but some people
prefer graphical browsers at a decent speed).
Re:Nice, serious, but no thanks (Score:2)
The unix way has always been to use one program for one task and connect another program for another. I believe kdevelop which manages your projects and links konqueror for the doc browser, kdebugger for the debugger, and kvim which will replace kwrite for the editor is the best way to go. Ole has had this for years. I also assume that the menu bars will be removed when launched within Kdevelop like kwrite is so there is no worry about lost monitor space. I use vim within Visual C++ on my windows2k workstation at home. Its great to use the commands and still have the full functionality of a whole ide. This is probably why kvim was written and not for just cute little menu bars and icons. If you don't like it you can always use the old vim from a terminal.
Re:Nice, serious, but no thanks (Score:2)
:x Re:Nice, serious, but no thanks (Score:2)
ZZ saves you two keys.
always isomething to be learnt.
^ don't you hate those "i's" in your email. 8-)
Re::x Re:Nice, serious, but no thanks (Score:3, Informative)
ZZ saves you two keys.
And both save you from touching the file if you didn't make any changes.
april 1st (Score:5, Funny)
Justice? (Score:4, Funny)
Re:Justice? (Score:2)
http://www.vim.org/doc/if_ole.txt [vim.org]
Components are coming (Score:3, Insightful)
Anyway... kudos to VIM folks for getting this right.
--
Whatever next - KEmacs & GEmacs? (Score:5, Interesting)
Given that there is now a version of Vim for both Gnome & KDE, does it make sense for (X)Emacs to make the jump too? I know the origins of Xemacs are as much political as technical - but does it not make sense to try to branch off 2 versions of emacs into the 2 guis?
I started out making a joke post, but the more I think of it, the cooler i think Kemacs would be
Re:Whatever next - KEmacs & GEmacs? (Score:4, Informative)
No, please don't! (Score:2)
Re:Whatever next - KEmacs & GEmacs? (Score:2)
Re:Whatever next - KEmacs & GEmacs? (Score:2)
Re:Whatever next - KEmacs & GEmacs? (Score:2)
Re:Whatever next - KEmacs & GEmacs? (Score:2)
Re:Whatever next - KEmacs & GEmacs? (Score:5, Funny)
Re:Whatever next - KEmacs & GEmacs? (Score:2, Funny)
loading linux.el
Re:dreamer (Score:2)
Google Cache (Score:5, Informative)
As usual you can view using the trusty Google cache by clicking here [216.239.35.100].
Yeah I know I know
This post has been... (Score:4, Funny)
Re:This post has been... (Score:3, Funny)
This post has been brought to you by the letter K, the number 4, and the letter M?
Matching #if ... #else ... #endif (Score:3, Interesting)
Re:Matching #if ... #else ... #endif (Score:3, Informative)
Why didn't Mr. Taco just say... (Score:5, Funny)
Re:Why didn't Mr. Taco just say... (Score:2)
Role reversal (Score:4, Interesting)
Karma goes down by several points for unpopular oppinion.
Re:Role reversal (Score:2, Interesting)
You've just hit on the big difference between vim mentality and emacs mentality. Vim users want something small and can be used anywhere. Emacs users want something that can do anything. It's a subtle difference, but important.
So emacs people write other programs for emacs, while vim people write vim for other programs.
Both methods have their advantages. Choose whichever one suits your needs best, or if you can manage to remember how to use both, then use both as you see fit.
Cream with KVim? (Score:3, Interesting)
Easy to use Vim? Don't you mean Cream [sourceforge.net]?
</shameless plug>Re:Cream with KVim? (Score:2)
But when used with gvim, it's great. It takes the "vi" out of "vim" leaving you with just, "m".
Oh Ned! You ARE a vi man after all! (Score:3, Funny)
For GNOME... (Score:3, Interesting)
Hey... (Score:2)
What do you get? (Score:2, Funny)
What do you get then? Something that is almost user friendly?
Oh boy! (Score:2)
*sigh*
Is this "innovation"? Think again. (Score:4, Funny)
Another approach (Emacs?) (Score:2)
You could have a KDE editor component which just displays the text and a big 'edit' button; the button when pressed launches $EDITOR, which could be Emacs or whatever. It wouldn't look as nice as embedding kvim directly into the app's window, but it should work with all editors, with no special KDEification needed for each one.
Great! (Score:4, Funny)
Vim in text box ??? (Score:2)
That will double my productivity when posting to
YAHOO!! (Score:2)
It seems odd in the early 21st century to be using only an editor and nothing else to do any real development work. I hate launching ddd, GVim, and kdevelop seperatly for coding, debuging, and looking up documentation. My solution was to enhance my coding skills a little more and actually write a version of Vim and litteraly call it Kvim and then try to use kparts to integrate it with kdevelop. Exactly like what these guys are doing. They beat me to it. Oh well. It would of looked good on my resume. Anyway I will be the first to download it and try it out. This is a must needed godsend for unix and linux. Its hard to convince people to switch when using old command line editors from bash like vi. ALso the unix approach to a problem is to have alot of smaller programs that do one thing well and to use them all together. vim and kdevelop fullfill this idea well.
Licensing problems? (Score:2, Insightful)
KVim is released under the smae 'charityware' licence as vim. Please see the vim website for more info.
Why do I smell licensing problems here? That is, unless the developers have a commercial Qt license, they are required to distribute any software linked with Qt under the GNU GPL.
I believe that would be the second time, as Vim was previously linked with libgpm (I don't know if it currently is), which is also distributed under the GNU GPL.
/.ed already.... (Score:2, Funny)
Silly rabbits never learn...
Great for me (Score:2)
I do like Konquerer's file manager mode (Mozilla is much better IMO for the web), particularly the CLI attached to the bottom of the window. In fact, I often use it to spawn GVIM to edit a file... Being able to bring up GVIM inline to do text editing would be a dream.
KVigor? (Score:2, Funny)
MDI in vim? (Score:2)
Re:MDI in vim? (Score:2)
Names (Score:5, Funny)
Simply prefixing the program with the letter 'k' is not enough, as those lamers developers over at Gnome can simply take the same program, s/qt/gtk+/g, and s/^k/g/g. How's a KDE developer to cope?
Here's an idea: Give all KDE apps girl's names. We have Kate; now all we need is Kim, Kamilla, Katherine, Kookie, Koko, Kitty, and so forth.
Gnome will no longer be able to follow. Aside from 'gertrude', there aren't that many female names beginning with the letter G. And in any case, what are they going to call 'gnome-kate'? Gate? Gkate? Gnate?
Mwahaha! Now all we need is a non-crashing build of KDE3.0, and we shall rule the world!
KVim? Parrot? (Score:2)
Quoting from the joke:
# copy stdin to stdout, except for lines starting with #
while left_angle_right_angle:
if dollar_underscore[0] =eq= "#":
continue_next;
}
-Paul Komarek
print dollar_underscore;
Interesting Use for Embedded Kvim (Score:2)
I read about the embedding in Konqueror but couldn't get specifics because of the slashdotting. Here is an idea that I have for a potential use of kvim:
I use SquirrelMail [squirrelmail.org], a web-based IMAP client, to read and send mail. It would be super cool to be able to use kvim in place of the usual browser-provided TEXTAREA editor when I send mail. This would also work well here on slashdot, for editing comments like I'm doing now.
Chris
Re:Flamewar attempt (Score:2, Insightful)
You could have just ignored it
Re:Flamewar attempt (Score:2)
BTW:
;-)
Writing a Haiku
In seventeen syllables
Is not very hard
Re:Flamewar attempt (Score:2)
Re:Flamewar attempt (Score:2)
And yes, we would dance around a camp fire if GNOME announced that it shut down. Or... well, at least some of us would. And we know that at least a few of them would do the same if we ever gave up.
Re:Flamewar attempt (Score:2)
With the steadily improving interoperability between these two environments, it is easier and easier to run applications for either and just use the desktop that makes you happy. Why care? Why look for a 'winner'? Instead, appreciate the flexibility that a choice of multiple desktop environments gives us (where Gnome and KDE are just the two most visible alternatives).
/Janne
Re:Flamewar attempt (Score:4, Insightful)
And while they wouldn't dance around a camp fire, the hate isn't exactly pretended either. KDE/Gnome has become one of the holy wars of computing: vi/emacs (go nano!!!), littleendian/bigendian, OOP, and many other venerable silly battles. It's actually an ideological battle - GNOME was started in the first place because KDE was based on Qt, which isn't GPL. Thus, the rush to create a GPL'd window/widget toolkit (GTK) and environment.
Re:Erm... (Score:4, Informative)
You can implement almost ANY function in Vim provided that it can be invoked from a shell. And with the powerful shell of linux, you can almost add any kind of "tricks up its sleeve" to Vim easily.
Remember the UNIX philosophy of everything being small and doing just its own job?
Re:Erm... (Score:2)
Re:Erm... (Score:2)
Re:Erm... (Score:2)
Re:Erm... (Score:5, Interesting)
I used VI for years, but this is 2002, the year in which we can buy a tiny mobile phone which can be used to watch a movie on it or browse websites
If I was typing on a mobile phone, I'd certainly want the automagical smart typing to allow me to type more than 1/2 word per minute. But here in 2002, computers still use keyboards, and on a keyboard I can type ~90 WPM without the help of "smart" editing.
In fact, and I do know this for a fact, smart editing actually *slows* me down. Every time the computer doesn't do what I want it to do and I have to press "Control-Z" and undo all of its "smart" capitalization, punctuation, spelling, bold-ifying, paragraph-making mistakes, I *lose* productivity. That's why when I want to type a document in an office suite (pick your choice), I generally turn off almost all of the "smart" features. It's also why I don't use Word, not because it's M$, but because it tries to do everything I don't want it to, and the damn clippy won't go away.
Granted, if you don't type 90 WPM, it might help to have it do some stuff for you. Even better (worse?), if you are like my grandma and don't know how to use the arrow keys or "Control-Z", some smart editing might make it faster to fix your little capitalization mistakes.
And in response to the first part of your comment, as you know, most people who use VI, Emacs, or other "antiquated" editors spend most of their time writing code. What happens when the computer thinks it knows what you are trying to code? It guesses the name of your method call or variable incorrectly and you end up with big nasty bugs. Bugs that are worse than a simple human spelling error because the name is actually valid and the compiler doesn't catch it. I would throw a fit if my IDE tried to do anything more invasive than doing partial-autocomplete in my method names (which Emacs and VI both can do when configured properly, IIRC (depending on the language)).
Not to mention that Emacs and VI are the only "real" editors that let me do *everything* without ever taking my hands off the keyboard. I remember a recent
Re:Erm... (Score:2)
Re:Erm... (Score:2)
I use vim for all my editing and email, but if the clippy and auto-correct are all the objections you have against Word, then why don't you turn them off? Word has a bajillion options you know, and turning off the clippy is as easy as right clicking it, choosing options, going to the options tab of the dialog that pops up, and unchecking 'Don't use Office Assistant'. Autocorrect/autocomplete can similarly be turned off.
Re:Erm... (Score:2)
Then typing:
itve<TAB><TAB>myAr<C-SPACE><R ET><TAB>th<C-SPACE><RET>.doS <C-SPACE><RET>
will gives you:
for (int i=0;i!=myArray.size();i++)
{ Thing theThing = (Thing)myArray.at(i);
theThing.doSomething();
}
Pretty cool demo, but a little too much for me personally
Besides, I find it's easier to really memorize the methods in a new API after I type them out in full a couple of dozen times
I'll give you that Intellij IDEA is a pretty cool piece of software, among Emacs and Eclipse in my favorites list.
Re:Erm... (Score:2, Informative)
Thats what I would call the windows way of thinking. My edtior of choice is the one beeing effektive, not the one with the most tricks in it's sleeve. Yes tricks are these things that make people ohhh and ahhh, when showing, but in a day-to-day live they hardly proove useful. vim keycodes and sequences - once you know them - are very very very effektive, I can edit files twice as fast as with i.e. visual things like visual studio. About code insight, I don't like it as it is. It doesn't show right either way, how can the editor know how the compiler really sees the file?
Re:Erm... (Score:2)
OK, so maybe I'm missing something here, but exactly how will the ability to watch movies on my mobile help me edit my C or Perl code on a Linux machine?
I use Gvim for pretty much all my editing needs; for me it's not a backup editor, but the editor of choice whenever I can use it. I'm using it for programming, configuration edits and I'm writing my thesis using Vim. Graphical editors are pretty, but they all lack the power and flexibility of an editor like Vim (Emacs also qualifies, but I'm from Earth and don't have the extra hands needed for all key combinations...).
There is a beginning of a Gnome component wrapping for Gvim as well, and when it's mature enough, I'll finally be able to use Vim in Evolution ass well. Ending half of my mail messages with a friendly ':wq' is a little embarrassing...
BTW: what is it with Slashdot and Gnome/KDE? Seems there's quite a bit of hostility towards Gnome among the editors lately.
/Janne
Re:Motivation for this port? (Score:2)
Re:Let me be the frist to say it (Score:2, Funny)
the feature of having multifacits key typing is for the day when motion detecting is use for input. all the vim users will have an inherent twitch that will be reconizable to these devices and thus make them superior.
the beauty of vim is that you can flick people off while typing in code and without taking your hand off the keyboard. plus you don't have the distraction of pron from the web or usenet.
woohoo, this is fun. i'm going to waste more bandwidth.
Re:Let me be the frist to say it (Score:2)
Re:VIM going down the wrong path (Score:2)
HTH
Re:The mind boggles. (Score:2)
Now how the HECK would you be able to hold down all those keys to do anything with either a Palm keyboard or handwriting mode??
At least with VI you could actually think about it.
You wouldn't want to do it - but you could consider it.
.
BRIEF R.I.P. (Score:2)
When I switched to Unix from DOS an aeon ago, the first thing I did was look for a decent editor, and was incredulous that people actually used vi - a line editor!! - for real work. The absolute minimal requirements for a productive editor are modeless, mouse cut and paste and off-the-cuff macro record/playback. I ended up choosing emacs and configuring the keys like BRIEF.
You're right about nedit though - it's an excellent editor and I use it on occasion to do stuff like complicated search/replaces that I've never bothered to learn with emacs (how does emacs refer to wildcarded bits of what you searched for in the replace string?).
arrow keys? (Score:2)
Bah! People who like vim are weird ;-)
Re:Vim has ruined me...(Conspiracy?) (Score:2)
First we had ^3^[
Then, simply ^[
Now, it's only *one* key. Is there any another keystroke you can think of that has gone through the exhaustive RnD, innovation, and human interface studies that ESC has? I think not!
Not a flame, btw, just an amusing thought. It simply did not turn out that way in print.