RHEL7 下 Vim编辑器使用(3)

再次使用vim编辑test.txt文件出现以下信息

E325: ATTENTION Found a swap file by the name ".test.txt.swp" owned by: root dated: Sat Aug 13 11:42:16 2016 file name: ~root/test.txt modified: no user name: root host name: process ID: 20247 (still running) While opening file "test.txt" dated: Sat Aug 13 11:38:53 2016 (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 test.txt" to recover the changes (see ":help recovery"). If you did this already, delete the swap file ".test.txt.swp" to avoid this message. Swap file ".test.txt.swp" already exists! [O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

上面的信息已经明确的说明了原因

其他人或程序同时在修改这个文件
由于Linux是多用户多任务的环境,因此很可能有很多人同时在编辑同一个文件。
如果在多人共同编辑的情况下,大家同时储存,这个文件会被修改的面目全非。
这是出现这个警告的原因之一,解决方案:

找到正在修改这个文件的程序或用户,请他结束该vim的工作后再进行处理

如果只是查看文件的内容而不进行编辑行为,按O以只读模式打开

在上一次的vim编辑时异常中断
比如使用SSH远程连接服务器使用vim进行编辑时连接断开这种情况。
根据不同的情况采用不同的解决方案:

如果之前的vim操作没有保存,按R进入恢复模式就可以找回之前为存储的数据

如果确定之前的vim操作是无用的,按D删除之前swp文件,此时vim会创建新的swp文件

警告信息中的六个按键的作用

按键说明
O   以只读方式打开文件  
E   以正常方式编辑文件并且不会载入之前的swp文件中的内容
(谨慎操作:有可能会造成多个使用者互相修改文件的情况)
 
R   恢复之前未存储的内容  
D   删除之前的swp文件,此时vim会创建新的swp文件  
Q   退出vim  
A   跟Q差不多,忽略这次的编辑行为返回到文本界面  
多文件编辑

vim可以同时编辑多个文件

[root@ ~]# vim anaconda-ks.cfg test.txt 按键说明
:n   编辑上一个文件  
:N   编辑下一个文件  
:files   列出本次vim指令打开的所有文件  
:files 1 %a "anaconda-ks.cfg" line 1 2 "test.txt" line 0 多窗口功能

vim可以分屏编辑多个文件

按键说明
:sp [文件名]   如果有加文件名则以上下分屏的模式在右边打开一个新的文件
否则在下面的窗口打开当前文件
使用vim的-o参数打开多个文件时会上下分屏,使用-O参数会左右分屏
 
Ctrl+w+j或Ctrl+w+↓   先按下Ctrl+w,再按下j或↓在上下两个窗口间进行窗口切换
左右分屏的情况使用 ←→或hl左右切换窗口
 
Ctrl+w+q   退出关闭光标所在的窗口  
补全功能

vim和大部分集成开发环境一样包含补全功能

按键说明
[ctrl]+x -> [ctrl]+n   通过目前正在编辑的这个“文件的内容文字”作为关键字,予以补齐  
[ctrl]+x -> [ctrl]+f   以当前目录内的“文件名”作为关键字,予以补齐  
[ctrl]+x -> [ctrl]+o   以扩展名作为语法补充,以vim内置的关键字,予以补齐  
常用指令示意图

常用指令示意图

乱码处理

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/15043.html