Answers:
从IDE到控制台/ xterm环境的经验丰富的程序员的一个方面是寻找替代源代码对象(函数名称,变量)的索引的方法。我相信用于Microsoft Visual Studio的通用术语是Intellisense或类似的东西。
在Unix / Linux世界中,例如vim ctags
,旺盛的ctags是 if 或流行的多语言Open Source实现所使用的一种工具。它不是vim
特定的,并且受Unix,Linux,MS Windows,Mac OS文本编辑器的支持,包括Emacs,CRiSP,vile和其他许多vi克隆,nedit,gedit,JED,UltraEdit,BBEdit和DreamWeaver (其中一些通过第三方插件)。
除此之外,良好的设计和周到的分解,较大的项目的组织使项目易于管理,因为只有1-2个明显的潜在位置可以寻找任何给定的信息(typedef
或class
定义等)。
另外,我使用了多个vim实例(通常通过view
来查看源文件的只读方式),以及每个vim实例有限地使用多个编辑缓冲区(主要用于在文件之间移动或重构代码)。我发现一次只使用几个打开的源文件可以以很小的方式帮助您,让我专注于手头的任务。
我无意参加VIM与IDE的辩论。我想那是个人喜好。但是我使用了很多VIM,这就是为什么我发现使用vim非常强大的原因
答案分为两部分:
答:VIM允许您执行IDE的大多数操作(我不是在尝试介绍所有功能,而只是尝试一些不明显的功能使vi看起来受到限制)
您可以ctags
启用并遍历原型ctrl+{
您可以使用:sp'filename'命令同时打开多个窗口。当然,有时我只是打开多个终端以使生活更轻松。
强大的语法突出显示。默认以及其他内容。另外,与某些IDE不同,如果开括号,字符串不匹配或与闭括号不匹配,则会为您提供非常清晰的指示。它适用于大多数语言,而不是特定的。
您可以使用命令执行命令行,":!make"
而不必离开窗口。
特拉弗斯快得多基于词的基础上,搜索(如果可用的Vi支持正则表达式),你可以遍历{来}使用ESC %
在执行步骤调试并保留vi的同时,可以在GDB中进行工作(在其他窗口中进行代码处理)。当您决定更改文件时,可以再次进行制作并将其重新加载到GDB中。
B.在VIM中发现很多更好的东西
搜索和替换绝对更强大。
您可以创建自定义的外观和感觉(黑色+绿色,白色+蓝色),更重要的是您自己的强大命令。
垂直块选择。尝试ctrl+v
垂直移动光标。这确实是不可想象的功能!
听起来有点麻烦-但请尝试剪切/复制一个块并将其粘贴30次!它只需要做1次就可以了。此外,尝试重做(而不是撤消)一项或多次活动。
自动缩进,制表符控制和自动将注释转换为块注释或特定样式的注释的方式。
与vimdiff有效合并冲突。
基于控制台的工作环境最重要的是,您永远都不会碰鼠标!因此,如果您使用快速键盘,则IDE不好。
同时在多台机器和服务器上工作!看起来并不明显,但有时在服务器上工作时,您直接登录多台计算机并执行操作。
如果对这些功能有严格的要求,将回答如何使用vi进行操作。请参阅此网站Vimcast。当然有很多。
但是,是的,大多数基于控制台的东西都是老式的,我绝不反对IDE。
:make
内置有一个命令,您甚至不需要!
(对于不使用vim的用户,可以在终端上执行命令)。我是在ctrl-v
几周前才发现的,现在我不断使用它,它非常有用。
:make
是它会自动将您移至第一个错误,并且您可以使用cn
和浏览它们cp
,请参见:help make
。直到我抬起头,我才真正意识到这一点。我通常在不同的窗口和pwd中进行创建,看来您必须与Makefile位于同一窗口中,尽管您可以将其中一个放置在src目录中只是为了移至根目录并在其中进行。
在我看来,Vim为您提供了一个非常强大的具有基本功能的编辑器,但是您可以使用在项目中最有可能使用的脚本/插件来为其增添趣味。根据您主要是编辑脚本,文档还是需要编译的文件,这些内容可能会有所不同。
例如,我zencoding
偶尔进行html / css编辑,snipmate
为的TextMate样片段,以及一对夫妇蟒蛇相关的附加组件(pyflakes
,pep8
,vimpdb
Python的编码,这是我做的最经常,等等)。
还有其他一些我不经常使用的插件,但我仍然发现它们偶尔还是有用的,例如 Dpaste
和ConqueTerm
。
对我来说,Vim最有用的功能还是内置的(基于时间的撤消,快速导航,范围过滤器等)-我找不到的东西(或者至少不是那么容易访问的东西) )。因此,一旦将Vim设置为具有您真正需要的一点点(snipmate
,ctags
...),就可以从IDE和控制台环境中受益。
我对Vim的使用仅限于控制台,所以我不能说这些工具对Gvim的帮助。
尽管所有的插件善良,但是,我仍然觉得自己运行!grep ...
或^Z + find ...
飘飞。
已经有很多大规模的应用程序(至少有两个;),我的猜测是,将有更多的应用程序完全用Vim编写。可以这么说,IDE本身仍是相当现代的创新。
但是,缺少普通的香草vi(ouch)或Vim。了解Vim并以某种方式进行思考会有所帮助,而插件会有所帮助,而www.vim.org就是源源不断的信息。一些特定于您使用的语言的语言,以及一些通用的语言(用于注释,文件浏览,...),可以迅速将其转变为一个非常快速的开发环境。毕竟(有些人肯定会争论),IDE只是一个编辑器,其插件打包在一个更好的接口中。IDE中也没有太多图形化内容。