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

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


当前回答

这是一个用不同编码重新打开当前文件的好技巧:

:e ++enc=cp1250 %:p

当您必须使用传统编码时,这很有用。支持的编码列在编码值下的表中(请参阅帮助编码值)。类似的事情也适用于++ff,这样您就可以使用Windows/Unix重新打开文件了。如果您第一次出错,则行结束(请参阅帮助ff)。

其他回答

:%TOhtml

创建当前文件的html呈现。

这是一个用不同编码重新打开当前文件的好技巧:

:e ++enc=cp1250 %:p

当您必须使用传统编码时,这很有用。支持的编码列在编码值下的表中(请参阅帮助编码值)。类似的事情也适用于++ff,这样您就可以使用Windows/Unix重新打开文件了。如果您第一次出错,则行结束(请参阅帮助ff)。

这里有些不明显的地方。如果你的$HOME中有很多自定义插件/扩展,你需要从su/sudo/。。。有时,这可能是有用的。

在~/.bashrc中:

export VIMINIT=“:so$HOME/.vimrc”

在~/.vimrc中:

如果$HOME=='/root'如果$USER=='root'如果是目录('/home/your_typeualusername')let rtuser='your_typeal_user'elseif是目录('/home/your_other_username')let rtuser='your_other_username'结束符其他的let rtuser=$USER结束符让&runtimepath=替换(&runtimepath,$HOME,'/HOME/'.rutter,'g')结束符

它将允许您的本地插件加载-无论您使用何种方式更改用户。

您可能还想将*.swp文件从当前路径中取出,并放入~/vimtmp(这将放入.vimrc中):

如果isdirectory(展开('~/vimtmp'))调用mkdir(展开('~/vimtmp'))结束符如果是目录(展开('~/vimtmp'))设置目录=~/vimtmp其他的设置目录=/var/tmp、/tmp结束符

此外,我使用一些映射来简化编辑-使ctrl+s可以像escape和ctrl+h/l那样切换选项卡:

inoremap<C-s><ESC>vnoremap<C-s><ESC>noremap<C-l>gtnoremap<C-h>gT

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

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

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

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

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

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

我很少在大多数Vim教程中找到一个,但它非常有用(至少对我来说),那就是

g;和g,

在变更列表中移动(向前、向后)。

让我来演示一下我是如何使用它的。有时我需要复制并粘贴一段代码或字符串,比如CSS文件中的十六进制颜色代码,所以我搜索、跳转(不在乎匹配的位置)、复制它,然后跳回(g;)编辑代码的位置以最终粘贴它。不需要创建标记。更简单。

只是我的20美分。