我正在考虑是否应该重新使用VIM而不是IDE。VIM最有用的功能在IDE中不是标准的?
emacs
。;-)
我正在考虑是否应该重新使用VIM而不是IDE。VIM最有用的功能在IDE中不是标准的?
emacs
。;-)
Answers:
我认为使其功能如此强大的不一定是VIM的高级功能。这是您无需为执行任何操作而不必离开键盘的事实。在巨大的文件中查找内容就像两次击键一样简单。在同一个窗口中打开和关闭多个文件的速度也非常快。
尽管乍一看似乎并不直观,但值得您花时间。即使您不将其用作标准IDE(例如,我通常使用Visual Studio或Eclipse),您也会发现使用VIM可以快速打开和编辑文件,因为它比等待IDE更快。加载。
花时间学习如何很好地使用VIM,您将永远不会后悔。我想说它相当于学习触摸式。
对我来说,:global
命令是一个杀手级应用。它将在匹配(或不匹配)正则表达式的任何行上执行任意vim命令。
这里有些例子:
默认行为是列出匹配的每一行,因此:
:g/TODO:/
将列出包含文本“ TODO:”的每一行
在还包含单词“ Mouse”的任何行上将“ Mickey”更改为“ Minnie”
:g/Mouse/ s/Mickey/Minnie/
这些命令可以有自己的范围,因此这将从带有“ TODO:”的每一行删除到下一个空白行:
:g / TODO:/。,/ ^ $ / d
使用:g!在与正则表达式不匹配的每一行上执行,例如,将“ emacs”替换为“ vim”,但包含单词“ sucks”的行除外:
:g!/sucks/ s/emacs/vim/
“插入模式关键字完成”。在插入模式下,按Ctrl-P和Ctrl-N可搜索文本以尝试完成所键入的变量名。我从未在任何其他IDE中见过,我真的很想念它。IDE中的代码完成是不一样的。
^X^O
如果启用了omni,则在插入模式下完成。但是您是对的,我发现自己使用关键字补全远远超过了omni-complete。
我发现另一个非常有用的功能是更改缩进的功能。:15,30>>
从15至30(含)的所有行缩进两次,而:15,30<<
相同的行两次缩进。
=
是一样,如果不是更有益比<<
和>>
。
命令dd(删除当前行)。我经常使用这个。
同样,能够键入类似3dd的内容并删除接下来的3行也是一件很了不起的事情。我从来没有在其他编辑器中看到过这个
快速访问命令行。CTRL + Z或:wqa会在不到1秒的时间内为我提供命令行,而我的手不会离开键盘。
:!/bin/bash
。我:!
经常使用。
:sh
根据您使用的编程语言,坚持使用ide或使用提供您可以找到的最大重构能力的ide,如果您正在使用c#,为Java使用intellij或为visual studio进行视觉辅助,则可以为Visual Studio获得帮助。最大限度地利用Eclipse或Netbeans进行重构。
我们应该从操纵文本转向操纵代码,重构工具可以为您提供这种能力。如果vim确实为您提供了所有功能,那么我真的不想再使用文本编辑器了。
大多数IDE不允许您拆分屏幕。我喜欢VIM中的该功能。
<C-w>