ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux系统中的Vim编辑器 [打印本页]

作者: 尚未崩坏    时间: 2024-7-28 21:50
标题: Linux系统中的Vim编辑器
本章将和大家分享Linux系统中的Vim编辑器。废话不多说,下面我们直接进入主题。
一、Vim 入门帮助

Vim 带有完整的帮助文档:进入 Vim 后输入“:help”即可访问
二、Vim 模式介绍 


与大部门其它编辑器差别,进入 Vim 后,缺省状态下键入的字符并不会插入到所编辑的文件之中。Vim 的模式(mode,可以简单地理解为“状态 ”)概念非常紧张。必要知道 Vim 有以下几个模式:
1、正常模式


2、命令模式


3、插入模式

三、Vim 实例

1、首次运行 Vim
  1. [root@localhost myfolder]# ll
  2. 总用量 4
  3. -rw-r--r--. 1 root root 152 7月  27 23:28 file1
  4. [root@localhost myfolder]# vim file1
复制代码
使 Vim 开始编辑一个名为 file1 的文件,屏幕上看起来大致是这样:

1)“黑色块”代表当前光标位置;
2)上波浪线(~)表示地点行并不是文件内容的一部门。换句话说,Vim 将文件之外的部门显示为波浪线;
3)在窗口的底部,一个消息行显示说当前正在编辑的文件叫 file1,它有27行,152个字符,当前光标地点位置为第21行的第1位。
如果是新文件呢?
  1. [root@localhost myfolder]# vim file
复制代码

在窗口的底部,一个消息行显示说当前正在编辑的文件叫file,并且它是一个新文件。
2、插入文本

Vim 编辑器是一个模式编辑器。这意味着在差别状态下编辑器有差别的举动模式。两个根本的模式 Normal 模式和 Insert 模式。在 Normal 模式下你输入的每一个字符都被视为一个命令。而在 Insert 模式下输入的字符都作为实际要输入的文本内容。刚启动时 Vim 工作于 Normal 模式。要进入 Insert 模式你必要使用“i”命 令(i 意为 Insert),接下来就可以直接输入了。别怕出错,错了还可以修改。

编辑内容时使用 回车键 换行,编辑完成后按下 Esc 键退出 Insert 模式,回到 Normal 模式。
要知道你现在所处的工作模式是什么,打开显示模式的开关:
  1. :set showmode
  2. :set noshowmode 关闭显示模式
复制代码

你会看到按下冒号键之后当前光标跑到窗口的最后一行去了。那是使用冒号命令的地方(顾名思义,冒号命令就是总是以冒号打头的命令)。最后按下回车键竣事整个命令(所有的冒号命令都以这种方式表明命令的竣事)。
现在,如果你输入了“i”命令 Vim 就会在窗口底部显示—INSERT—(插入)。这表明你现在处于 Insert 模式。如果按下 Esc 键返回到 Normal 模式,则刚才显示出来的模式—INSERT—就会消散;Normal 模式并不会显示—NORMAL—,作为默认的工作模式它不显示任何字符串。
不管你当前所处的模式是什么,按下 Esc 键都会让你回到 Normal 模式(即使已经在 Normal 模式下)。偶然必要按两次,如果 Vim 以一声蜂鸣回答你,那说明你已经是在 Normal 模式了。
3、移动光标

回到 Normal 模式后,你就可以用下面的命令来移动光标:
备注:同时你还可以用箭头键来移动光标。不过这样做实际上会大大低落你的效率,因为用这些键你必要不停地在字母区和箭头键之间频仍转换。
4、删除字符

5、其它编辑命令

另起一行 o/O (在 Normal 模式下):
6、退出

7、光标的指定移动

8、简单搜索

1)“/string”命令,可用于搜索一个字符串,例如:要找到单词“mysql”,则可以使用命令:“/mysql”。
要查找上次查找的字符串的下一个位置,使用“n”命令。如果你知道你要找的确切位置是目标字符串的第几次出现,还可以在“n”之前放置一个命令计数,例如:“3n”则会去查找目标字符串的第3次出现。向光标地点位置以上查找用大写的“N”。
2)“?string”命令,“?”命令与“/”的工作相同,只是搜索方向相反。
3)忽略巨细写,可以通过设置“ignorecase”选项:
  1. :set ignorecase  //忽略大小写
  2. :set noignorecase  //取消忽略大小写
复制代码
4)查找结果高亮显示
  1. :set hlsearch  //查找结果设置为高亮显示
  2. :set nohlsearch  //取消高亮显示
  3. :nohlsearch  //只去掉当前的高亮显示
复制代码
9、复制粘贴

要把文本内容从一处复制到另一处:
“y”命令:
10、替换字符

四、Vim 的保护机制

如果我们没有通过 q 退出,而是通过其他方式强行退出,好比说直接关终端,会导致 vim 的一个报错,当我们下次打开这个文件的时候,会提示:
  1. E325: 注意
  2. 发现交换文件 ".file.swp"
  3.             所有者: root    日期: Sun Jul 28 19:43:04 2024
  4.             文件名: ~root/myfolder/file
  5.             修改过: 是
  6.             用户名: root      主机名: localhost.localdomain
  7.            进程 ID: 3884
  8. 正在打开文件 "file"
  9.               日期: Sun Jul 28 17:25:26 2024
  10. (1) Another program may be editing the same file.  If this is the case,
  11.     be careful not to end up with two different instances of the same
  12.     file when making changes.  Quit, or continue with caution.
  13. (2) An edit session for this file crashed.
  14.     如果是这样,请用 ":recover" 或 "vim -r file"
  15.     恢复修改的内容 (请见 ":help recovery")。
  16.     如果你已经进行了恢复,请删除交换文件 ".file.swp"
  17.     以避免再看到此消息。
  18. 交换文件 ".file.swp" 已存在!
  19. 以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)), 中止((A)):
复制代码
这是因为 vim 他不是实时写入的机制,他会先把文件写到内存,等我们实行 w 操作以后,再写回到原文件。那么在写回原文件,或者实行 q 的放弃操作之前,会天生一个暂时的文件,以 . 开头,以 .swp 结尾。当我们看到这种环境,就说明这个文件是在被编辑的过程中逼迫退出的,或者是正在被人编辑。
所以这个文件的作用就是防止逼迫退出造成的数据安全隐患,和防止文件同时被多次修改。
我们可以根据他的提示实行相应的操作,好比说 Q 退出。如果想要顺遂编辑这个文件的话,一方面可以使用 E 直接编辑,或者先退出,把 swp 文件删除了以后再编辑也是可以的。
留意:使用 vim 必要留意一下权限问题,必须要有读写权限才能使用 vim 。
可以看一下没有写权限和没有读权限会出现什么问题。
 
此文由博主精心撰写转载请保留此原文链接:https://www.cnblogs.com/xyh9039/p/18327652
版权声明:如有雷同纯属巧合,如有侵权请及时联系本人修改,谢谢!!! 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4