• 在一般模式中的命令
  • 1,:w和:w!
    将编辑癿数据写入硬盘档案中。和
    若文件属性为『只读』时,强制写入该档案。丌过,到底能丌能写入, 还是跟你对该档案癿档案权限有关啊!
    2,:q和:q!
    离开 vi。和
    若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。
    3,:wq和ZZ
    储存后离开,若为 :wq! 则为强制储存后离开。和

    若档案没有更改,则不储存离开,若档案已经被更改过,则储存后离开!
    4,:w [filename]
    将编辑癿数据储存成另一个档案(类似另存新档)
    5,:r [filename]
    在编辑癿数据中,读入另一个档案癿数据。亦即将 『filename』 这个档案内容加到游标所在行后面
    6,:n1,n2 w [filename] 
    将 n1 到 n2 癿内容储存成 filename 这个档案。
    7,:! command
    暂时离开 vi 到指令列模式下执行 command 癿显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出癿档案信息!
    8,:set nu和:set nonu
    显示行号。和
    取消行号。

    ①,光标的操作
    1,gg,G,nG,:n
    gg移到文档的开头一行,G移动到最后一行,nG移动到第n行,到指定的行。

    2,H,M,L
    光标分别移动到这个界面的最上边,中间,最下边
    3,n+<space>和n+<Enter>
    光标分别向右n列,向下n行。
    4,Ctrl+f/+b/+d/+u
    屏幕分别是向下移动1页,向上移动一页,向下移动半页,向上移动半页。
    5,o,O,
    o:光标所在行的下面加入空行,并转成插入模式

    O:光标所在行的上面加入空行,并转成插入模式

    6,A,I
    A:光标移动到行尾,并转成插入模式

    I:光标移动到行首,并转成插入模式

    ②,搜寻相关
    1,/
    向游标之下搜寻/后边的字比如/work,在文中搜寻work。

    2,?
    向游标之上搜寻

    3,n
    重复前一个搜寻的动作
    4,N
    与n的搜寻方向相反,方向搜寻上一个动作

    5,grep
    可以查找关键字:grep “pattern”  ,cn跳转到下一个匹配处。

    6,[ i和[ I
    [ i是查找本文档中与光标所在位置的词一样的位置,[ I是包含include的文件的查找。

    7,gd
    使用”gd”可以跳转到当前光标所在的单词(变量)的局部定义处。

    8,*—效果暂时和gd相同
    使用”*”可以高亮显示文中所有的单词(变量) 。

    ③,复制粘贴相关
    1,x或者X–删除
    x是向后删除一个字元,如同del
    X是向前删除一个字元,如同backspace
    2,nx
    连续向后删除n个字元

    3,dd和ndd
    dd是删除游标所在的一整行,ndd是删除游标所在的向下的n列。

    4,d0和d$
    d0是删除游标所在处到行首的字元,d$是删除游标所在处到行尾的字元.

    剪切第19行到41行
    :19,41d
    5,yy和nyy–复制
    yy是复制游标所在的一行,nyy是复制游标所在的向下的n列。

    6,y0和y$
    y0是复制游标所在处到行首的字元,y$是复制游标所在处到行尾的字元.

    复制第19行到41行
    :19,41y
    7,p和P–粘贴
    p是将内容粘贴到光标所在行的下一行,P是将内容粘贴到光标所在行的上一行。

    8,u–如同ctrl+z
    返回上一个动作

    9,ctrl+r
    重复上一动作,跟u相反
    10,:s–替换
    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky
    :s/vivian/sky/g 替换当前行所有 vivian 为 sky
    :%s/vivian/sky/g 替换文档中所有 vivian 为 sky,注意中间没有空格