协慌网

登录 贡献 社区

你母亲从未告诉过你的 Vim 的黑暗角落是什么?

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

但是,我没有提到 Vim 的新手会觉得很酷的常用快捷方式。我说的是一个经验丰富的 Unix 用户(他们是开发人员,管理员,两者等),他们认为他们知道我们 99%的人从未听过或梦到过的东西。有些东西不仅让他们的工作变得更轻松,而且还很酷,而且很酷 。毕竟, Vim居住在世界上最黑暗角落最丰富的操作系统中,因此它应该只有少数特权知道并希望与我们分享的错综复杂。

答案

可能不是 99%的 Vim 用户不知道的,但这是我每天使用的东西,任何 Linux + Vim poweruser 都必须知道。

基本命令,但非常有用。

:w !sudo tee %

在编辑我没有写入权限的文件之前,我经常忘记 sudo。当我来保存该文件并获得权限错误时,我只发出该 vim 命令以保存文件而无需将其保存到临时文件,然后再将其复制回来。

你显然必须在安装了 sudo 的系统上并拥有 sudo 权限。

我刚刚发现的一些我认为非常酷的东西:

:earlier 15m

将文档还原为 15 分钟前的状态。可以针对您想要回滚的时间量采用各种参数,并且取决于 undolevels。可以用相反的命令反转:later

:! [command]当你在 Vim 时, :! [command]执行一个外部命令。

但是在冒号后添加一个点, :.! [command] ,它会将命令的输出转储到当前窗口。那是: . !

例如:

:.! ls

我使用这个很多东西,例如将当前日期添加到我正在键入的文档中:

:.! date