c/c++ && vim解决思路

c/c++ && vim
如何用c/c++实现 在代码中操作vim去编辑一个文件,期间要能像正常用vim一样,包括各种模式和模式下的命令。
也就是用c/c++去实现和vim的交互问题。

------解决方案--------------------
使用vim script啊!
比如 do.vim
:set ts=8 sw=8
G


vim -s do.vim hello.c

就可以设置ts=8 sw=8, 然后在转到文件末尾。



------解决方案--------------------
换用 Emacs

当然是 EMACS , 因为 Emacs -> LISP , LISP = 自由随心所欲
VIM的,只是个强大的编辑器

VIM 已经是昔日的泡影了。

著名的说法: 而Emacs 简直就是 披着编辑器外皮的操作系统。


参见,酷客的 对9个超级程序员的访问http://coolshell.cn/articles/8275.html

摘录

Q 7: 什么工具是你的最爱(操作系统,编程/脚本语言,文本编辑器,版本管理,shell,数据库,或其它没它你活不了的工具),为什么不是别的?

Steve Yegge

操作系统: Unix! 我用Linux,cygwin,和 darwin。你无法打败那些高效的工具。每一个程序员都应该学习使用/bin和/usr/bin下的所有命令。

脚本语言:Ruby。我几乎对所有的重要的脚本语言都很熟悉: Perl, Python, Tcl, Lua, Awk, Bash, 和一些我忘了的。但是我太懒了,而Ruby是目前所有脚本语言中最简单的,它应该是天堂制造的。

编程语言:没有一个我喜欢的,我觉得所有的编程语言都很扯。我倾向于Java,因为它很强,可跨平台,有多不错的工具和类库。但是Java未来会进化或是灭亡,Java还没有好到可以永远保持其领先地位。

文本编辑器:Emacs,因为这是迄今最好的编辑器。

版本管理:SVN,Perforce更好一些,但是也很贵。

Shell脚本: Bash, 因为我太懒了去学一个更好的。

数据库: 当然是MySQL,没有之一。

其它:我发现GIMP是无价的,但也是令人恼炎火的。我用这个东西好几年了,但什么也没干,但是我没它活不了。很讽刺吧。Firefox 越来越是我最重要的工具。如果让我去用IE和Safari,我会有严重的窒息感。

注:所有的这些工具 (Unix, Emacs, Firefox, GIMP, MySQL, Bash, SVN, Perforce) 都有一个共同点:他们是可扩展的。例如:他们都有可编程的API。伟大的程序员知道怎么编写他们的工具,而不只是去使用。

Linus Torvalds

实际上,我最终也没有用过几个工具,而我却花了一些时间让这些工具为我工作。最大的事是我自己写了个操作系统,我也自己写了个版本管理系统(git),我用的文本编辑器是 micro-emacs – 最终我也定制和扩展了它。

除了上面三个,其它的东西,我深度关心我的邮件阅读软件,我使用“pine”,并不是因为它是史上最好的邮件阅读软件,因为我习惯了,用它我会有最低限度的大惊小怪。

David Heinemeier Hansson

OS X, TextMate, Ruby, Subversion, MySQL. 这些组合让我很快乐。我希望那些有好的品味的专注于重要的事的工具。

Peter Norvig

我不喜欢那三大操作系统 – Windows, Mac, Linux。我喜欢 Python 和 Lisp. Emacs.

Dave Thomas

在使用Linux10年后我转到Mac平台有两年多了。Mac并不见得有多好,但是它不需要很牛的技术,也不需要经常维护,这让我可以让我更专心得使用它。

我并不是一个单一工具的信仰者,我喜欢换来换去的,这样可以让我有更多的经历。现在,我使用 OSX, Emacs, TextMate, Rails, Ruby, SVN, CVS, Rake, make, xsltproc, TeX, MySQL, Postgres, 还有一堆高效的小工具。没人知道我明年会用什么。

Guido Van Rossum

Unix/Linux, Python, vi+emacs, Firefox.

James Gosling

这些天,我在用 NetBeans. 用它可以干我想干的所有的事,清洁,简单和高效。这是最好的我永远要生活在其中的环境了。

Bjarne Stroustrup

Unix, sam (一个非常简单的文本编辑器), 当然,一个好的C++编译器。

Tim Bray

我喜欢 Unix-like 的操作系统,像 Python 和 Ruby 的动态语言,像Java的静态语言(具体说来是Java API) Emacs, 还有, bash, whatever, NetBeans.