Dev enviroment setup
Hi folks, I moved all my systems to linux last year, and its now time to move my development projects across. I wanted to ask for a few ideas for a development environment setup. I’m not after ultra detailed replies, just hints, tip and ideas I can research and make my own decisions with. I use MSVS at work, but I’m not wanting to replicate that. I’m looking at using vim as my editor (having used vi for unix development in the past), but I would like a couple of features I’ve found handy. These are the ability to highlight a compile error and be taken to the offending line, and possibly some form of auto-completion. Are these both available in vim via plugins or configuration? Are there any other plugins, configurations or applications that are particularly helpful in this environment? Apart from gdb and gcc :p Many thanks chedburgh
i use vim, and i love it. but i needed about 2 months to get used to it...
about your questions:
yes, you can jump to offending errors. if you have a makefile, and run make from vi (enter :make), make will be executed and the errors are shown; then you press a key and you're back in vi, at the first compilation error. with :cn and :cp you can go forward and backward in the error list; the list can be shown with :cl
Auto-completion is not available, afaik. but there's the possibility to jump to definitions/declarations of variables and functions, using tags (or etags).
Some other useful things:
set tabulator width: :se tabstop=4
switch off backup files: :se nobackup
convert tabs to whitespace: se expandtab
just write all options to ~/.vimrc.
hope that was helpful; if you have more vim questions, post them here...
Chris
about your questions:
yes, you can jump to offending errors. if you have a makefile, and run make from vi (enter :make), make will be executed and the errors are shown; then you press a key and you're back in vi, at the first compilation error. with :cn and :cp you can go forward and backward in the error list; the list can be shown with :cl
Auto-completion is not available, afaik. but there's the possibility to jump to definitions/declarations of variables and functions, using tags (or etags).
Some other useful things:
set tabulator width: :se tabstop=4
switch off backup files: :se nobackup
convert tabs to whitespace: se expandtab
just write all options to ~/.vimrc.
hope that was helpful; if you have more vim questions, post them here...
Chris
You definitely want to read up about Makefiles and, for larger projects, autotools (I'm thinking of writing a tutorial about the autotools soon). I don't use vim, but I don't want to start yet another emacs/vim/ide war.
* clum hides under a table as the battle begins...
* clum hides under a table as the battle begins...
Zorx (a Puzzle Bobble clone)Discontinuity (an animation system for POV-Ray)
Presumably you already know about vim.sf.net but just in case...
As mentioned if you use :make (`:h :make`) you can use the quickfix window (`:h quickfix`) and jump to errors well enough. I personally never really used it though preferring instead to just 'make' from a term and then just jump to the line in question via ':[range]' (':h up-down-motions').. Primarily because I had a rather verbose (read messy) makefile output that I wanted to see in its entirety.
Completion is sorely lacking currently though ':h compl-generic' works pretty well.. No scope though so you can't blindly ASSume.
Doxygen (http://doxygen.org) tends to be handy, as does ctags (http://ctags.sf.net/). I also like ImageMagick and Python.
Fwiw :)
As mentioned if you use :make (`:h :make`) you can use the quickfix window (`:h quickfix`) and jump to errors well enough. I personally never really used it though preferring instead to just 'make' from a term and then just jump to the line in question via ':[range]' (':h up-down-motions').. Primarily because I had a rather verbose (read messy) makefile output that I wanted to see in its entirety.
Completion is sorely lacking currently though ':h compl-generic' works pretty well.. No scope though so you can't blindly ASSume.
Doxygen (http://doxygen.org) tends to be handy, as does ctags (http://ctags.sf.net/). I also like ImageMagick and Python.
Fwiw :)
There are a large number of available scripts for vim available here. I don't know how many of these will help, but that should get you started anyway.
Vim is very extensible through its scripting. Yet another reason vim is awesome.
Vim is very extensible through its scripting. Yet another reason vim is awesome.
Quote:Whoa, whoa, whoa. This topic is getting way too biased. I just want to balance the argument, of course. Emacs also has very advanced scripting configurability and you don't have to keep changing modes.
Original post by Strife
There are a large number of available scripts for vim available here. I don't know how many of these will help, but that should get you started anyway.
Vim is very extensible through its scripting. Yet another reason vim is awesome.
Zorx (a Puzzle Bobble clone)Discontinuity (an animation system for POV-Ray)
Quote:
Original post by clum Quote:Whoa, whoa, whoa. This topic is getting way too biased. I just want to balance the argument, of course. Emacs also has very advanced scripting configurability and you don't have to keep changing modes.
Original post by Strife
There are a large number of available scripts for vim available here. I don't know how many of these will help, but that should get you started anyway.
Vim is very extensible through its scripting. Yet another reason vim is awesome.
Where did I say that Emacs wasn't scriptable?
Sheesh, I mention one thing and I get attacked as being biased.
Well of course I'm biased. But I wasn't saying "EMACS IS TEH SUX0R!!! VIM OR DAETH!" so quite your bellyachin.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement