编辑器之神Vim

“神之编辑器Emacs,编辑器之神Vim”      

                                                               -----鲁迅


为何要掌握Vim?

答:1.vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计;

         2.因为程序简单,编辑速度相当快速。

         3.可扩展能力强(甚至可以上QQ)。

         4.vi的升级版,会了vim你也会了vi。

         5.所有的 Unix Like 系统都会内置 vi 文书编辑器,其他的文书编辑器则不一定会存在。


Vim如何使用?

Vim三模式:一般模式,编辑模式,命令模式


        一般模式:以 Vi /Vim打开一个文件就直接进入一般模式了。

                    (常用)用法

h 或 向左方向键(←):光标向左移动一个字符。

j 或 向下方向键(↓):   光标向下移动一个字符。 

k 或 向上方向键(↑): 光标向上移动一个字符。

l 或 向右方向键(→):光标向右移动一个字符。

[Page Down]:            屏幕“向下”移动一页。

[Page Up]:              屏幕“向下”移动一页。

数字“ 0 ”或Home:  移动到这一列的最前面字符处。

$ 或功能键[End]:   移动到这一列的最后面字符处。

G:                          移动到这个文件的最后一列(常用)。

nG:                        n 为数字。移动到这个文件的第 n 列。

gg:                         移动到这个文件的第一列,相当于 1G。

查寻与代替:

n<Enter>:              n 为数字。光标向下移动 n 列。

/word:                    向光标之下寻找一个名称为 word 的字串(把/换成?则向光标之上寻找)

n:                             如果刚刚我们执行 /word 去向下搜寻 word 这个字串,则按下n 后,会向下继续搜寻下一个名称为 word 的字串。如果是执行 ?word 的话,那么按下 n 则会向上继续搜寻名称为 word 的字串!

:n1,n2s/word1/word2/g: n1 与 n2 为数字。在第 n1 与 n2 列之间寻找word1 这个字串,并将该字串取代为 word2。

:1,$s/word1/word2/g:    从第一列到最后一列寻找 word1 字串,并将该字串取代为 word2 !

:1,$s/word1/word2/gc:  作用同上且在取代前显示提示字符给使用者确定(confirm) 是否需要取代!

删除、复制与粘帖

dd:          删除光标所在的那一整列。

ndd:        删除光标所在的向下 n 列。

yy:          复制光标所在的那一列。

nyy:        n 为数字。复制光标所在的向下 n 列,例如20yy 则是复制 20 列。

p,P:     p 为将已复制的数据在光标下一列贴上,P 则为贴在光标上一列! 举例来说,我目前光标在第 20 列,且已经复制了 10 列数据。则按

u:            复原前一个动作造成的改变。

ctrl+r:       重做上一个动作。



        编辑模式:在一般指令模式中可以进行删除、复制、贴上等等的动作,但是却无法编辑文件内容的!按下,'I,iA,a,O,o,R,r'中的任何一个便可进入编辑模式。

                    这个没太多要点,也就这几个建,自己去尝试吧哈哈(=A=)


        命令行命令模式:在一般模式当中,输入“ : / ? ”三个中的任何一个按钮,就可以将光标移动到最下面那一列。

            命令模式下储存,离开等指令:

w:将编辑的数据写入硬盘文件中。

q:离开Vim/Vi。

!:在Vim/Vi中常常具有“强制”的意思。

wq:储存后离开,若为:wq!则为强制储存后离开

     

Vim区块(Visual Block)

这是很有意思的,因为在文本编辑器中,我也只遇见Vim可以这样玩!!QAQ

        区块选择的按键意义:

v:                字符选择,会将光标经过的地方反白选择。

V:                列选择,会将光标经过的列反白选择。

[Ctrl]+v:       区块选择,可以用长方形的方式选择数据。

y:                 将反白的地方复制。

d:                 将反白的地方删除。

p:                 将刚刚复制的区块,在光标所在处贴上。


不知道如何使用?那我来 举个栗子:

                    我要把:

                                    192.0.0.1    host0hhost1ost1.class.net

                                    192.0.0.1    host0hhost2ost2.class.net

                                     xxxxxxxx    xxxxxxxxxxxxxxxxxxxxxxx

                                    192.0.0.x    host0hhost2ost2.class.net

                            变成:

                             192.0.0.1    host0hhost1ost1.class.net     

                                    192.0.0.1    host0hhost2ost2.class.net

                                     xxxxxxxx    xxxxxxxxxxxxxxxxxxxxxxx

                                    192.0.0.x    host0hhost2ost2.class.net

这是我的Vim的文本内容:

可以这样操作:

                在一般模式下,按ctrl+v,然后进行区块选择。见下图:

                然后按下y吧可视块复制,再把光标移到第一行尾,按下p,你会发现很有趣的现象:


我觉得这些都是Vim常用的功能啦,还有Vim的多文本编辑多窗口等等,虽然我很少用但还是很有趣的。这些都只是常用的,也只是Vim中的九牛一毛。

希望想学习编程的朋友去试试Vim。真的很棒!!

若能驾驭之,它便是神器。

无力驾驭之,它便是负担。

本文禁止转载或摘编

-- --
  • 投诉或建议
评论