一:vi命令的两个功能

linux中,vi命令不仅可以修改还可以创建并修改文件。

如:vi 文件名

这个命令中文件名如果存在则直接进入修改界面,如果不存在,则先自动创建再进入编辑修改界面!


二:vi命令的保存退出

1.进入编辑命令界面后,界面最下面一行显示如“"a.properties" 6L,83C”,其中a.properties代表你所编辑的文件名,此时不是输入状态

2.(以SecureCRT、XShell为例)直接按键盘字母A或I开始(其他字母键中有些是快捷键,如S和X:删除当前字符,O:回车,P:复制上一行到下一行,K:↑,L:→,J:↓,H:←,B:前进,T:替换,)输入,发现界面最下面一行变成显示如“-- INSERT --”,这就表示进入真正编辑模式了,可以编辑文件;

3.编辑完文件后,按Esc退出编辑模式。此时你会发现,无法编辑了,要想继续编辑,还是按键盘输入就可以了;

4.注意了,退出时,你可以有以下几个选择:    :wq    :wq!    :q!  :q

其中:wq和:wq!都是保存并退出,但是有一点不一样的是:wq!比:wq更霸道是强制保存退出;

:q!就不一样了是放弃(不)保存退出的意思.

光标推到文档最后再输入冒号:后光标推到最后一行了,就可以输入退出命令了!


三:同时编辑

1.如果两人先后进入修改同一文件,但是都还没先来的人还没来得及保存修改的内容,后来的人进入修改的时候就吹出现提示1

E325: ATTENTION
 Found a swap file by the name "test1/.a.properties.swp"
           owned by: root   dated: Tue Jul 11 21:33:00 2017
          file name: ~root/test1/a.properties
           modified: no
          user name: root   host name: Vctvit-109
         process ID: 10811 (still running)
 While opening file "test1/a.properties"
              dated: Tue Jul 11 21:32:54 2017




(1) Another program may be editing the same file.

If this is the case, be careful not to end up with two
     different instances of the same file when making changes.
     Quit, or continue with caution.




(2) An edit session for this file crashed.

If this is the case, use ":recover" or "vim -r test1/a.properties"
     to recover the changes (see ":help recovery").
     If you did this already, delete the swap file "test1/.a.properties.swp"
     to avoid this message.
 "test1/a.properties" 6L, 108C
 Press ENTER or type command to continue

提示有一个会话在修改此文件。直接按回车进入进入修改即可。

等先来修改的人修改完保存后,后来的人也修改完了,要保存的时候出现提示2

WARNING: The file has been changed since reading it!!!
Do you really want to write to it (y/n)?

此时可要注意了:如果,你怕你的东西把别人的覆盖了,按“n”放弃保存,回到修改命令界面,在按Esc和:q!放弃修改。此时,先来修改的人的东西保存下来了,后来人的修改的没有保存下来。这是比较保险的做法。

如果,后来人就是要覆盖先来人的修改,直接按“y”,即可覆盖掉先来人的修改(即先来人的修改全部没保存),保存的是后来人的修改。


注意:

(1)如果两人非同时编辑,有先有后进入编辑的,先来的在编辑还没保存的时候就按X关闭窗口的(此时你修改的东西不会被保存),别人再来修改此文件,会提示有会话正在修改此文件,此时出现提示1,处理方法同上。修改完保存的时候不会出现任何提示(安全保存),即点X关闭的会影响后来人进入修改,但不会影响后来人保存修改。

(2)如果两人同时编辑,先有一人编辑未保存点的X关闭的窗口(此时修改不会被保存),后人保存时不会出现任何提示(安全保存)。

(3)如果两人同时编辑,先有一人编辑保存完再点的X关闭的窗口,后人保存时就会出现提示2。处理方法同上

(4)同一个客户端点X关闭后,再进入就会出现提示1,而不是另有人在和你同时修改