移动光标的方法
h 表示的是向左l 表示的向右k 表示的是向上j 表示的是想下通过和组合一起可以同时移动多个 ,比如30j 表示向下移动30行[Ctrl]+[f] 屏幕向下移动一页,相当于Page Down[Ctrl]+[b] 屏幕向上移动一页,相当于Page Up[Ctrl]+[d] 屏幕向下移动半页[Ctrl]+[u] 屏幕向上移动半夜[+] 光标移动到非空格符的下一列[-](不是减号) 光标移动到非空格符的上一列n<space> n代表的是数字 表示的是向右移动的字符 如果不够 会换行 20+space 光标向右移动20个0或者是Home键 表示的是回到这一行的最前面处$或者功能键[End] 移动到最后面的字符处H光标移动到这个屏幕的最上方那一行的第一个字符M光标移动到中央的那一行的第一个字符L光标移动到这个屏幕的最下方的第一个字符G移动到这个档案的最后一行nG n为数字 移动到这个档案的第n行(不是相当于当前行)gg 移动到这个档案的第一行 相当于1Gn<Enter> n为数字,光标向下移动n行搜索与取代
/word word为字符 表示的光标之下是搜索某一个字符?word word为字符 表示的光标之上是搜索某一个字符n(英文字符) 表示的是重复前面的操作 /word 的时候就是再往下搜索 ?word再往上搜索N(英文字符) 和n是相反的:n1,n2s/word1/word2/g n1和n2为数字 表示的是在n1和n2行之间查找word1 使用 word2进行代替:1,$s/word1/word2/g 代表的是从第一行和最后一行之间使用word1代替word2 :1,$s/word1/word2/gc 和上面的是同一个意思 但是会进行用户确定(confirm)是否需要取代删除,复制与贴上X,x 在一行字当中,x为向后nx n为数字 连续向后删除n个字符,举例来讲 连续删除10个字符:[10x]dd 删除游标所在的一整列ndd n为数字,删除光标所在的向下n列,例如20dd 表示删除向下的20行d1G 删除光标所在的第一行数据dG 删除光标所在的最后一行数据d$ 删除光标的那一行到最后一行的数据d0 数字是0 删除光标所在处到该行最前面的字符yy:复制游标所在的那一行(放入到缓冲中,需要使用p指令复制)nyy:n为数字 复制游标所在后面的n行 (放入到缓冲中,需要使用p指令复制)y1G :复制光标所在的第一行的所有的数据yG:复制光标所在的最后一行的所有数据y0:复制光标所在的那个字符到这行行首的所有数据y$:复制光标所在的那个字符到这行行尾的所有的数据p,P:p将已复制的数据在光标的下一行贴上,P则为上一行J:将光标所在的列和下一列组成同一列c:重复删除多个数据,如果向下的10行 10cju:复原前一个动作(相当于windows的Ctrl+Z)[Ctrl]+r:重做上一个动作“.”:重复前一个动作进入编辑模式i,I:进入插入模式(insert Mode)i为从目前光标所在处插入,I为目前所在行的第一个非空格符处开始插入a,A:进入插入模式(insert Mode)a表示的是从光标的下一个字符开始插入 A表示的是从当前行的最后一个字符开始o,O:进入插入模式(insert Mode)o在当前的光标的下一行r,R:r只会取代光标所在的那个字符一次,R会一直取代(也就是向后一直覆盖)指令模式:w 保存文档:w! 如果文件为只读 那么强制性的保存:q 离开vi:q! 如果修改过文档 但是不想保存:wq 保存并且退出:ZZ如果没有改动的话,则不储存离开,如果改动的了话 先保存然后再退出:w [filename] 将编辑的数据储存到另外的一个文档:r [filename] 在编辑的数据中,读入另外的一个档案的数据,将内容加到游标所在行后面:n1,n2 w [filename] 将n1和n2行之间的数据写入到 另外的一个文档中vim环境的变更:set nu 显示行号,设定之后,会在每一行的前缀显示该行的行号:set nonu与set nu相反 取消行号