人们谈论常见技巧的问题很多,特别是“Vim+ctags提示和技巧”。

然而,我并没有提到Vim新手会觉得很酷的常用快捷方式。我所说的是一位经验丰富的Unix用户(无论是开发人员、管理员,还是两者都有),他们认为自己知道99%的人从未听说过或梦想过的东西。这不仅让他们的工作更容易,而且很酷,很粗糙。毕竟,Vim位于世界上最黑暗的角落丰富的操作系统中,因此它应该具有只有少数特权人士知道并想与我们分享的复杂性。


当前回答

通常,我喜欢在编辑时更改当前目录,所以我必须少指定路径。

cd %:h

其他回答

我确信有人已经发布了这篇文章,但这里是这样的。

请选择任何构建系统;制造,mvn,蚂蚁,随便什么。在项目目录的根目录中,创建一个始终使用的命令文件,如下所示:

根项目上进行构建mvn清洁安装等等

要进行构建,请将光标放在线上并键入!!即过滤该线路;将其写入shell并替换为结果。

构建日志将替换行,随时可以滚动、搜索等。

查看完日志后,键入u以撤消,然后返回命令文件。

我喜欢:ls命令。

想查看您的:命令历史记录吗?

q:

然后浏览、编辑,最后执行命令。

曾经对两个文件进行过类似的更改,并在它们之间来回切换吗?(例如,源文件和头文件?)

:set hidden
:map <TAB> :e#<CR>

然后在这些文件之间来回切换。

让我们看看一些非常小的IDE编辑器如何进行列转换。

:%s/\(.*\)^I\(.*\)/\2^I\1/

解释

\(和\)是如何记住正则表达式中的内容。1、2等是如何检索记忆中的内容。

>>> \(.*\)^I\(.*\)

记住所有内容,然后是^I(tab),然后是所有内容。

>>> \2^I\1

用“你记得的第二件事”替换上面的东西,然后是“你记得第一件事”——本质上是做一个换位。

为了将文本从Vim复制到剪贴板供其他应用程序使用,请选择要在视觉模式下复制的文本,然后按“+y”。这样,您可以轻松地将文本粘贴到其他应用程序。

如果您垂直拆分了窗口,并且希望从右侧窗口复制某些内容,则这特别有用。使用set mouse=r不会帮助您解决这种情况,因为它也会选择左侧窗口中的所有内容。

注意,必须使用xterm支持编译vim。