日期:2014-05-16  浏览次数:20683 次

Linux学习笔记(四) vim程序编辑器
  一、常用按键  
  1.一般模式下的按键 
   (1)光标移动   
    Ctrl+f:屏幕向下移动一页,相当于pagedown按钮
    Ctrl+b:屏幕向上移动一页,相当于pageup按钮
    n+space(空格):n是数字,表示向右移动多少字符。如:20+空格,表示向右移动20个字符
    0或者Home:移动到这一行的最前面字符处
    $或者End:移动到这一行的最后的字符处
    G:移动到文件的最后一行
    nG:n为数字,表示移动到文件的第n行,可配合:set nu使用
    gg:移动到文件的第一行,相当于1G
    N+Enter:表示向下移动n行,注意与nG的区别
   (2)查找与替换   
    /word:向下寻找名称为word的字符,如:/hello,即为查找为"hello"的字符
    ?word:向上寻找字符
    n:n是英文按键,代表重复前一个查找的操作,如输入/hello后,再摁n,则继续向下查找"hello"字符串
    N:与n正好相反,如果输入/hello后摁N,则表示向上查找"hello"字符串
    :n1,n2s/word1/word2/g:n1,n2是数字,表示在第n1行和n2行之间寻找word1这个字符串,并且将该字符串替换为word2。如:100,200s/hello/HELLO/g,表示在100行到200行之间查找hello并且将它替换为HELLO
    :1,$s/word1/word2/g:从第一行到最后一行查找word1,并且替换为word2
    :1,$s/word1/word2/gc:从第一行到最后一行查找word1并替换为word2,但是替换前会提示用户确认是否替换
    (3)删除、复制、粘贴   
    x,X:x表示向后删除一个字符(相当于Del键),X表示向前删除一个字符(相当于backspace)
   nx:向后删除n个字符
    dd:删除光标所在的一整行
    ndd:删除光标所在向下n行
    yy:复制光标所在的一行
    nyy:复制光标所在向下n行
    p,P:p是将复制的数据在光标下一行粘贴,P则为粘贴在光标上一行。如:光标在十二行,已经复制一行数据,摁p则数据会粘贴在下一行,即是第十三行,如果摁P,则原本的第十二行会变成第十三行。
    u:复原前一个操作,相当于撤销
    Ctril+r:重做上一个动作
    .(小数点):重做前一个操作,如果想重复删除,重复粘贴,摁下小数点就行。
    2.一般模式到可编辑模式   
    i,I:插入模式,i从目前光标处开始插入,I在目前所在行的第一个非空格符开始插入
    a,A:插入模式,a表示从目前光标的下一个字符处开始插入,A表示从光标所在行的最后一个字符处插入
    o,O:插入模式,o为在目前光标所在的下一行处插入新的一行,O为在目前光标所在处的上一行插入新的一行
    r,R:替换模式,r替换光标所在的那一个字符,R则会一直替换,直到摁下Esc键为止
    Esc:退出编辑模式,回到一般模式
    3.一般模式到命令行模式   
    :w:将编辑的数据写入硬盘中,即为保存
    :w!:若文件属性为"只读"时,强制写入,但到底能不能写入,要看具体权限
    :q:离开vi编辑器
    :q!:若修改过文件,又不想存储,使用"!"强制离开不保存文件
    :wq:保存后离开,":wq!"则为强制保存后离开
    ZZ:文件如果没有改动,则不保存离开,若文件改动过,则保存后离开
    :w[filename]:另存为别的文件
    :r[filename]:在编辑的数据中,读入另一个文件的数据,即将"filename"这个文件内容加到光标所在行的后面
    :n1,n2 w[filename]:将n1到n2的内容保存成filename这个文件
    :! command:暂时离开vi到命令行模式下执行command的显示结果,如:":! ls /home"表示在vi中查看/home下面的ls输出
    :set nu/:set nonu:显示行号/不显示行号