linux(1)----vi

最近又回到了PHP开发,由于之前做过,但是主要是在window下进行的开发,对linux还是不太熟悉,所以趁此机会学习一下。使用linux系统,首先要学会如何记录东西,书写内容,所以就学习了vi。

首先,vi编辑文档分为3种模式,。

一般模式:以vi打开一个文档就进入了一般模式,在一般模式中,可以移动光标,删除行,删除字符,复制,粘贴的等操作。

编辑模式:该模式下可以输入字符内容内容,由一般模式进入编辑模式的方式是按下【i,I,o,O,a,A,r,R】中的任何一个键,由编辑模式返回一般模式按下        【ESC】建即可。

命令模式:也就是能够让你能够保存,退出,查找等命令的模式,有一般模式进入命令模式的方式是输入【:,/,?】中的任何字符。

ok,下面就新建一个文件,咱在linux下建立一个test.txt

新建:

输入命令 vi test.txt

按回车键进入一般模式

按【i】键进入编辑模式即可进行编辑,输入内容,最下面的【-- INSERT--】是系统显示内容,表示在编辑模式。

文件编辑完成后,按【ESC】返回一般模式,并按【:】进入命令模式,输入wq,保存并退出,一个新的文件就生成了。

使用ls命令,查看我们的文件已经存在了

上面就是一个简单的创建文件的过程,编辑文件类似。vi对文件的操作还有很多命令,可参照下面:

第一部分 一般模式下:

【h或向左箭头】:光标向左移动一个字符。

【j或向下箭头】:光标向下移动一行。

【k或向上箭头】:光标向上移动一行。

【l或向右箭头】:光标向右移动一个字符。

【n<space>】:n代表数字,输入数字n,然后按空格键,表示向右移动n个字符。

0或【home】:移动到该行的头位置。

$或【end】:移动到改行的最后。

【H】:光标移动到屏幕的最上方一行的第一个字符。

【M】:光标移动到屏幕的中央一行的第一个字符。

【L】:光标移动到屏幕最下方一行的第一个字符。

【G】:移动到该文件的最后一行。

【nG】:n为数字,移动到该文件的第n行。

【gg】:移动到该文件的第一行,相当于1G。

【n<Enter>】:n为数字,向下移动n行。

 

查找和替换:

【/word】:从光标位置往后查找word字符串,"/aa"为查找字符串”aa“。

【?word】:从光标处向上查找word字符串。

【n】:字母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】:从第一行到最后一行查找字符串word1,并将该字符串替换为word2。能够提示用户确认。

删除,复制与粘贴

【x和X】:x为向后删除一个字符,X为向前删除一个字符。

【nx】:n为数字,向后删除n个字符。

【dd】:删除光标所在的行。

【ndd】:n为数字,删除用从光标所在行起往下共n行。

【d1G】:删除光标所在行到第一行的数据。

【dG】:删除光标所在行到最后一行的数据。

【d$】:删除光标所在的位置到到文件最后的所有字符。

【d0】:删除光标所在处到文件开始的所有数字。

【yy】:复制光标所在的行。

【nyy】:n为数字,复制光标所在行向下n行。

【y1G】:复制光标所在行到第一行的所有数据。

【yG】:复制光标所在行到最后一行的所有数据。

【y0】:复制光标所在字符到行首的所有字符。

【y$】:复制光标所在字符到行尾的所有字符。

【p,P】:p将复制的数据粘贴到光标坐在行的下一行,P将复制的数据粘贴到光标所在行的上一行。

【J】:将光标所在行的数据和下一行的数据合并成同一行。

【u】:复原

【ctrl+r】:重复动作。

 

第二部分 一般模式切换到编辑模式的键:

【i,I】:进入插入模式,i为”从目前光标坐在出插入“,I为”在目前所在行的第一个非空格符处开始插入“;

【a,A】:a为”从光标所在处的下一个字符处开始插入“,A为”从光标所在行的最后一个字符处开始插入“。

【o,O】:o为”在光标坐在的下一行处插入新的一行“,O为”在光标坐在行的上一行处插入新的一行“。

【r,R】:进入替换模式,r只会取代光标所在的字符一次,R会一直取代光标所在的文字,指导按下ESC。

 

第三部分 命令

【:w】:将数据写入硬盘档案中。

【:w!】:当文件为只读是,强制写入该档案中。

【:q】:离开vi。

【:q!】:不存储档案,退出vi。

【:wq】:存储后离开,:wq! 为强制存储后离开。

【ZZ】:若档案没有变动,则不存储离开,若已经变动过,则存储后离开。

【:w [filename]】:将编辑的数据存储成另一个文件(另存为)。

【:r [filename]】:读入另一个档案的数据,既将filename的内容加到光标所在行后面。

【:n1,n2 w [filename]】:将n1到n2的内容存储成filename。

【:set nu】:显示行号。

【:set nonu】:取消行号。

 

 

 

 

 

posted @ 2012-11-09 18:14  shrlive  阅读(132)  评论(0编辑  收藏  举报