vi编辑器常用操作,vi编辑器的功能
Vi编辑器学习使用(VI)
在当前的vi版本,或vim中,区别于其前辈的一个特征是,在当前版本中有一个可视化模式。这种视觉模式允许您高亮显示一个文本块,然后将其作为一个整体来命令。例如,您可以突出显示一个文本块,然后使用d命令删除该文本块。与其他编辑器相比,这种可视化模式的一个优点是,在进行更改之前,您可以看到您的操作对编辑的文本的影响。那么我们如何用这种有趣的可视化模式来编辑我们的文本呢?
要进入可视化模式,我们可以输入主命令v,这样vi的状态行将显示我们已经进入了可视化模式。在这种模式下,当我们移动光标时,光标起始位置和光标当前位置之间的文本将被高亮显示。这时候我们就可以把这些高亮的文字作为一个整体来指挥了。比如这个时候我们可以输入D命令,然后这些高亮显示的文字就会被删除。
一般来说,可实现模式可以分为三种视觉模式,一种是我们刚刚用V命令进入的所谓逐字符视觉模式。在这种模式下,我们在进行文本选择高亮时,是以字符为单位的,可以一个字符一个字符的选择。第二种是所谓的linewise视觉模式,在这种模式下,我们可以输入v命令。这个时候,我们在做的事情是以行为为单位的。还有一个命令可以让我们进入可视化模式,就是CTRL_v,也就是我们要说的第三种可视化模式。它可以突出显示矩形中的文本,然后整体编辑文本。我们还可以在可视化模式下获得一些相关的帮助信息。当然,在输入命令时,要在想要帮助的名字前面加上v_。例如,如果我们想获得一些关于在可视模式下删除的命令,我们可以获得这样的帮助信息:help v_d
当我们想退出可视化模式时,可以按ESC键退出。当然,CTRL_c也可以达到同样的效果。CTRL_和CTRL_N的功能和ESC一样。
在可视模式下,我们可以执行各种编辑操作。比如d命令可以删除高亮显示的文本内容,而d命令只删除一行,即使这一行只有部分文本高亮显示。与d和d命令类似,您可以复制y和y命令。y命令是复制高亮显示的文本,而y只是复制一行文本。C命令可以删除高亮显示的文本,然后进入编辑模式,而C命令有类似的功能,只不过C命令只是删除一行文本。我们还可以使用可视化模式将几行文本合并成一行。j命令可以将高亮显示的文本内容合并成一行,同时用空格区分每一行。如果我们不想看到这些空格,我们可以使用gJ命令。当我们在视觉模式下编辑文本时,我们还可以选择和切换视觉模式。你可以在任何情况下进行这种切换,而这种切换仅仅是为了进入可视化命令操作。比如现在我们在字符模式的视觉模式下操作,现在要切换到方块模式的视觉模式。这时候我们只需要简单的输入CTRL _ V,当然也可以用ESC关闭当前的可视化模式,然后选择想要的可视化模式。
对于程序员来说,似乎这种视觉模式会更有用。我们可以使用视觉模式突出显示文本,然后使用命令缩进文本。我们也可以用命令来缩进文本。我们也可以用CTRL_]跳转到定义函数的地方。我们还可以使用man命令,在可视模式下使用突出显示的文本来获取更多信息。当然,这必须是人类能找到的东西。
对于可视化模式下的文本编辑还有一个有趣的现象,主要表现在CTRL _ V定义的文本块中,比如我们用这个命令定义一个文本块,然后输入Istring。在这个命令中,I是插入文本的命令,string是我们要插入的文本,Esc是结束插入操作的命令。这时,我们会看到我们输入的文本显示在文本块的左侧,也就是开头。当我们完成插入操作时,我们会惊讶地发现,我们输入的文本也会出现在定义的文本块中包含的其他行的开头。同样,当我们使用C命令进行操作时,也会发现类似的情况。当然,使用C命令时,输入的文本不能超过一行,否则只会改变第一行文本。而c命令也会有类似的情况。我们同样可以获得一些关于块操作的命令帮助:例如:help v_b_r