It's a standard UNIX text editor. Support for extensions, syntax highlighting, intelligent indentation, etc. Basically, it's one of the two possible editors used by UNIX/linux developers, the other being emacs.Uhh... I am a huge linux noob. I have no idea what modal or chorded means, unless it's similar to unimodal/bimodal, like in statistics, or chords like in music. On a side note, as previously mentioned, I know nothing of linux/unix. What language do linux developers use? Assembly? Basic? I can't imagine it's too complicated at a kernel level.
Oh, and it's modal, while emacs is chorded. That's really the main difference between them.
Uhh... I am a huge linux noob. I have no idea what modal or chorded means, unless it's similar to unimodal/bimodal, like in statistics, or chords like in music.
But what in the world is it used for?Powerful, efficient text input and modification within a terminal. Vi (the more primitive predecessor to Vim) is installed by default on nearly *nix system, so it is a handy tool to know. And once you reach a certain level of expertise using it, you become the Kwisatz Haderach of text manipulation.
Chords like in music. Most programs we use have hotkeys, where you chord together keys together to perform a command (i.e., ctrl+alt+del, or ctrl+s). That is the convention Emacs follows.
Vim, on the other hand, is modal; it does not have hotkeys per-se. Rather, it has several different modes: command mode, insert mode, and visual mode being the most used. Vim is normally in command mode, where every key on the keyboard performs some operation. When you want to enter text, you enter insert mode (usually by pressing 'i'), at which point every key becomes a standard text-input key. Pressing escape pulls you back into command mode. It is sort of strange to explain, since this type of command scheme is so uncommon.
Powerful, efficient text input and modification within a terminal. Vi (the more primitive predecessor to Vim) is installed by default on nearly *nix system, so it is a handy tool to know. And once you reach a certain level of expertise using it, you become the Kwisatz Haderach of text manipulation.
The non-bearded would be best served by simply ignoring its existence.
If you're coding, you really do need to learn either vi(m) or emacs. Both have decently steep learning curves, but you seriously become ninja like in your ability to manipulate text once you're proficient. I can get around in both, but I definitely prefer emacs, but that's mainly because I learned it first, and have it extensively customized. I should probably try and switch full time to vim, to get it to an equal footing. But I doubt I will.
Take a look here for vim: http://www.openvim.com/tutorial.html
For emacs, there is this: http://www2.lib.uchicago.edu/keith/tcl-course/emacs-tutorial.html
Just remember kids: emacs is a better operating system, but UNIX has a better editor.
Chords like in music. Most programs we use have hotkeys, where you chord together keys together to perform a command (i.e., ctrl+alt+del, or ctrl+s). That is the convention Emacs follows.
Vim, on the other hand, is modal; it does not have hotkeys per-se. Rather, it has several different modes: command mode, insert mode, and visual mode being the most used. Vim is normally in command mode, where every key on the keyboard performs some operation. When you want to enter text, you enter insert mode (usually by pressing 'i'), at which point every key becomes a standard text-input key. Pressing escape pulls you back into command mode. It is sort of strange to explain, since this type of command scheme is so uncommon.
Powerful, efficient text input and modification within a terminal. Vi (the more primitive predecessor to Vim) is installed by default on nearly *nix system, so it is a handy tool to know. And once you reach a certain level of expertise using it, you become the Kwisatz Haderach of text manipulation.
The non-bearded would be best served by simply ignoring its existence.
A guy I knew back in the day started the nano project. Yet another editor for linux users and one that's a whole lot simpler than vim or emacs. Just in case you need to edit straight text at some point rather than a "document" :)
How easy it is with run-time debugging? Worth to change from ide, if g++ is used?I have no idea what you're saying or who this is directed at.
How easy it is with run-time debugging? Worth to change from ide, if g++ is used?
Take a look here for vim: http://www.openvim.com/tutorial.html
I went through the interactive tutorial theferenc posted, and the navigation seemed far from intuitive to me. I'll probably take a look at it to see if it as useful as you all claim, as it sounds like it could be. Though it seems like if I'm going to be coding in one or two languages, I may just be better off using an IDE for simplicity's sake. I can use MonoDevelop for Java, C#, and Python, should I need it, so I might stick with that for the time being purely because VIM looks quite complicated. However, is VIM the preferred method of coding in JavaScript and HTML5? Because I need a way to do that, preferably with error checking, because my code will definitely be sloppy as I pick up the syntaxes.
So, I heard a story about the origins of the arrow key movement in vim the other day. Apparently, Bill Joy was using an ADM3A terminal keyboard, which embedded the arrows on HJKL, so that's what he used for navigation, and hence, what we use for navigation today.
Not sure how true it is, but I got it from someone who actually knows Bill Joy, so it's likely somewhat true.
Bill Joy wrote the first version of vi on an ADM3A. Besides the arrow keys, you can also see why he used Esc:This I agree with. If there was some way to change this to that, I'd be all over it.Show Image(http://upload.wikimedia.org/wikipedia/commons/a/a0/KB_Terminal_ADM3A.svg)
The hjkl arrow keys are one of my least favorite quirks of vim. Inverted T arrow keys are so much more intuitive.
Inverted T arrow keys are so much more intuitive.
This I agree with. If there was some way to change this to that, I'd be all over it.
I thought it was pretty cool, myself.
So, I heard a story about the origins of the arrow key movement in vim the other day. Apparently, Bill Joy was using an ADM3A terminal keyboard, which embedded the arrows on HJKL, so that's what he used for navigation, and hence, what we use for navigation today.
Not sure how true it is, but I got it from someone who actually knows Bill Joy, so it's likely somewhat true.
Bill Joy wrote the first version of vi on an ADM3A. Besides the arrow keys, you can also see why he used Esc:That's the only reason I'm not using it right now. HJKL + Dvorak = fail.
The hjkl arrow keys are one of my least favorite quirks of vim. Inverted T arrow keys are so much more intuitive.
That's the only reason I'm not using it right now. HJKL + Dvorak = fail.
I use Gedit (syntax highlighting is awesome) or nano for everything, really.
Edit: though it seems that I can ignore those keys and just use the arrows? I may have to switch immediately.
(Also, I know you can change the keys to HTNS, but I don't really have time to invent a new layout layer for vim. I feel like anything good shouldn't be based on QWERTY at all, this is why I haven't tried Colemak.)
That's the only reason I'm not using it right now. HJKL + Dvorak = fail.I use dvorak and vim for few years and have really no problem with HJKL. H is right index finger's home key, L is just above right home row and J and K are placed next to each other just below left home row. It isn't much more inconvenient than in QWERTY where you have to move entire right hand one key to the left, and it still requires much less movement than reaching arrows.
I use Gedit (syntax highlighting is awesome) or nano for everything, really.
Edit: though it seems that I can ignore those keys and just use the arrows? I may have to switch immediately.
And don't forget B,W, and E, they navigate faster and you don't have to use your pinkies. Just as Tx or Fx.
Dude, just remap the keys. Gedit, really? Not that I'm judging. (Some of the best programmers where I work use nedit.) But still. Surely someone has already come up with a vim layout for Dvorak. And I don't think it's fair to say that vim's movement keys are based on QWERTY. They are based on home row.Gedit came pre-installed, and is easy to use. I was impressed with syntax highlighting. I also use Links, if that helps to redeem myself. Mostly I use Gedit now to compose Octave code for class and Homework.
Thought I would open up with my favorite xkcd of all time, unfortunately I can't post links yet. But Google 'Real Programmers' - the first listing should be the link to it.
Thought I would open up with my favorite xkcd of all time, unfortunately I can't post links yet. But Google 'Real Programmers' - the first listing should be the link to it.
For the other vim'ers: If you haven't tried it already, I highly recommend using screen and vim together (or tmux and vim) - the split screen capabilities are beastly.
Nice colorscheme for vim:
http://ethanschoonover.com/solarized
I hear this a lot, but I'm a gvim man (sans UI of course). Something in my config makes terminal vim unresponsive in ways that don't affect gvim. Maybe it's time to figure out why.
Nice colorscheme for vim:
http://ethanschoonover.com/solarized
You're probably pressing Ctrl+S. Which puts the terminal on pause, try pressing Ctrl+Q to make it work again.
Quarzac: If you use eclipse, try the vrapper plugin. I read it here somewhere and I tried it.
It's wonderful, all the magic from vim into with the powerful eclipse. I can't live without it.
Naw, it's not that. When I hit escape to leave insert mode, if I type too quickly afterward I get a seemingly random character inserted and remain in insert mode. It feels like vim is waiting on a short timeout for me to type an escape sequence. Very, very annoying.
Ah yup. I think that's timeoutlen. Try `set timeoutlen=100' in your vimrc and give it a whirl. It's default 1000. For details as usual check :help.
edit: I should have known. I use a plugin called vimacs to get emacs-like editing hotkeys in insert mode and while editing commands (mainly ctrl-{AKFBD}). That plugin sets timeoutlen and also seems to be causing the weird escape behavior. That'll teach me to mix water and oil.
Looks nice, I'll give it a try. My favorites are dante and candycode.
I love zenburn (http://slinky.imukuppi.org/zenburn/)
Sublime Text is pretty good, though you can replicate almost all it's features in Notepad++.
I am also a zenburn fan. So much so that I use it in every application that I can customize color palettes for.
Except notepad++ is only really available on M$ platform. Sublime runs on M$, Mac and Linux (at least the beta does) - actually I'm liking it because there a geeza working on VIM functionality - trouble is I use urxvtd (lots of command work) and on gentoo for some reason copy/paste is a nightmare ... especially when multiplexing in Tmux
" Copy with C-w
vmap <C-w> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>
" paste with C-y
nmap <C-y> :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p
" to paste in insert mode
imap <C-y> <Esc><C-y>a
Have you tried using xclip? It used the X bin, so better interoperability with other programs.
I have this in mi vimrcCode: [Select]
" Copy with C-w
vmap <C-w> y:call system("xclip -i -selection clipboard", getreg("\""))<CR>:call system("xclip -i", getreg("\""))<CR>
" paste with C-y
nmap <C-y> :call setreg("\"",system("xclip -o -selection clipboard"))<CR>p
" to paste in insert mode
imap <C-y> <Esc><C-y>a
rm sublime
I always get interested looking at other text editors... then I realize that Vim is free and open source, and more powerful than any editor I've tried. It ain't going anywhere. I build my own version of vim on all windows, mac, and linux (whenever I work in it). Don't mess with a good thing.
sounds like you havent tried emacs
PS: Just gave emacs another shot. WTH? It's a 140MB install? For a text editor? And I thought Vim's 20mb was excessive.if you install it from a package it probably comes with full elisp sources, extra addons, possibly multiple graphics frontends, ect. if you are really hurting for space then you can compile it yourself
if you install it from a package it probably comes with full elisp sources, extra addons, possibly multiple graphics frontends, ect. if you are really hurting for space then you can compile it yourself
...I could see how this would help if your are continuously switching between the console and Vim.
For the other vim'ers: If you haven't tried it already, I highly recommend using screen and vim together (or tmux and vim) - the split screen capabilities are beastly.