4.vi和vim编辑器

4.1 vi和vim的基本介绍

  • 所有Linux系统都会内置vi文本编辑器
  • vim是vi的升级版,可以主动以字体颜色分辨语法的正确性,代码补完和编译,错误跳转等功能。

4.2 vi和vim的三种模式

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)和底线命令模式(Last line mode)。 这三种模式的作用分别是:

4.2.1 正常模式

  • 用户刚刚启动 vi/vim,便进入了正常模式。

    此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

    以下是常用的几个命令:

    • i 切换到输入模式,以输入字符。
    • x 删除当前光标所在处的字符。
    • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

4.2.2 插入/编辑模式

  • 在命令模式下按下i就进入了输入模式。

    在输入模式中,可以使用以下按键:

    • 字符按键以及Shift组合,输入字符
    • ENTER,回车键,换行
    • BACK SPACE,退格键,删除光标前一个字符
    • DEL,删除键,删除光标后一个字符
    • 方向键,在文本中移动光标
    • HOME/END,移动光标到行首/行尾
    • Page Up/Page Down,上/下翻页
    • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
    • ESC,退出输入模式,切换到命令模式

4.2.3 命令行模式

  • 在命令模式下按下:(英文冒号)就进入了底线命令模式。

    底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

    在底线命令模式中,基本的命令有(已经省略了冒号):

    • q 退出程序
    • w 保存文件

    按ESC键可随时退出底线命令模式。

4.2.4 三种模式转换示意图

4.3 vi/vim 使用实例

使用 vi/vim 进入一般模式

如果你想要使用 vi 来建立一个名为 runoob.txt 的文件时,你可以这样做:

$ vim runoob.txt

直接输入 vi 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

按下 i 进入输入模式(也称为编辑模式),开始编辑文字

在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!

在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。

这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

按下 ESC 按钮回到一般模式

好了,假设我已经按照上面的样式给他编辑完毕了,那么应该要如何退出呢?是的!没错!就是给他按下 Esc 这个按钮即可!马上你就会发现画面左下角的 – INSERT – 不见了!

在一般模式中按下 :wq 储存后离开 vi

OK,我们要存档了,存盘并离开的指令很简单,输入 :wq 即可保存离开!

4.4 Vim 按键说明

除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。

4.4.1 一般模式的光标移动、搜索替换、复制粘贴

移动光标的方法
h 或 向左箭头键(←) 光标向左移动一个字符
j 或 向下箭头键(↓) 光标向下移动一个字符
k 或 向上箭头键(↑) 光标向上移动一个字符
l 或 向右箭头键(→) 光标向右移动一个字符
[Ctrl] + [f] 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用)
[Ctrl] + [b] 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用)
[Ctrl] + [d] 屏幕『向下』移动半页
[Ctrl] + [u] 屏幕『向上』移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
n 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。
0 或功能键[Home] 这是数字『 0 』:移动到这一行的最前面字符处 (常用)
$ 或功能键[End] 移动到这一行的最后面字符处(常用)
H 光标移动到这个屏幕的最上方那一行的第一个字符
M 光标移动到这个屏幕的中央那一行的第一个字符
L 光标移动到这个屏幕的最下方那一行的第一个字符
G 移动到这个档案的最后一行(常用)
nG n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu)
gg 移动到这个档案的第一行,相当于 1G 啊! (常用)
n n 为数字。光标向下移动 n 行(常用)
搜索
/word 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。
/^abc 查找以 abc 为行首的行
/abc$ 查找以 abc 为行尾的行
n 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串!
N 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。

在查找过程中需要注意的是,要查找的字符串是严格区分大小写的,如查找 “shenchao” 和 “ShenChao” 会得到不同的结果。

如果想忽略大小写,则输入命令 “:set ic”;调整回来输入":set noic"。

如果在字符串中出现特殊符号,则需要加上转义字符 “”。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 “10$”,则需要在命令模式中输入 “/10$”。

替换文本 功能描述
r 替换光标所在位置的字符
R 从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束

02 【基础篇-vim编辑器 网络配置 远程登录】相关推荐

  1. Puppet基础篇9-Puppetmaster多环境配置

    Puppet基础篇9-Puppetmaster多环境配置 零基础学习Puppet自动化配置管理系列文档 扩充现有架构环境是对一个企业成长的见证 将基础环境模块部署到puppetmaster端之后就可以 ...

  2. 5G网络实现自动驾驶车联网——第三篇:5G网络实现远程SSH,远程桌面

    5G网络实现自动驾驶车联网--第三篇:5G网络实现远程SSH,远程桌面 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正,创业初期, ...

  3. 华为交换机配置远程登录

    华为交换机配置远程登录 配置思路: 一.密码认证登录模式 1.进入管理视图 2.进入用户视图:user-interface vty 0 4 3.设置认证模式: authentication-mode ...

  4. 02.虚拟功能介绍虚拟机网络配置xshell远程连接

    文章目录 0.运维三大职责 1.虚拟机功能介绍 1.1快照 1.2挂起操作 1.3复制系统 1.4克隆机修改ip 1.5删除虚拟系统 1.6导出系统 2.操作规范 2.1第一个规范 2.2第二个规范 ...

  5. RHCE课程-初级部分6、编辑工具VIM,网络配置,进程优先,日志文件简介。

    我们通常用各种编辑工具来处理文本文件 常用的编辑工具: VI VIM EMACS VI和VIM的区别 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的 ...

  6. Vim编辑器Windows配置(一)

    1. 前提准备 注意:安装vundle前提需要先安装git和配置curl 1.1 安装GVIM 1.2 安装git客户端:msysgit msysgit只提供了git的核心功能,而且是基于命令行的 下 ...

  7. ubuntu学习篇2——虚拟机网络配置

      刚开始学习,若有错误处请指出,共同进步.   QQ 群 号:513683159 前提知识: 查看主机网卡(win10)   选中"网络"图标右击选中"属性" ...

  8. 付呗聚合支付快速教程 基础篇①——基本介绍和配置

    文章目录 一.对接手册 二.商户后台 三.银行分账 四.其他介绍 一.对接手册 付呗聚合支付对接手册 第一步自然是商务对接 本专栏是作为付呗的普通级商户,商户后台 使用付呗开发平台的支付API,接入到 ...

  9. Linux shell 基础之Vim编辑器

    vim编辑器在内存缓冲区中处理数据,如在启动vim时未指定文件名,或者这个文件不存在,vim会开辟一段新的缓冲区域来编辑. 如果你在命令行下指定了一个已有文件的名字,vim会将文件的整个内容都读到一块 ...

最新文章

  1. PHP5.5的一点变化
  2. 数据表格搜索php代码_手把手教学:提取PDF各种表格文本数据(附代码)
  3. 使用DotNetBar制作漂亮的WinFrom界面,自定义AgileEAS.NET SOA平台WinClient主界面
  4. 深入使用XMemcached
  5. 发布5个月全系下跌500 麒麟980+40W快充 多亏了华为P30!
  6. 漫画:什么是中间人攻击
  7. KP-ABE基于属性的加密加解密算法及Access Tree构建
  8. Tensorflow一些常用基本概念与函数(4)
  9. python 基础课程第三天
  10. docker的核心原理-cgroup
  11. 《那些年啊,那些事——一个程序员的奋斗史》九
  12. WEB入门.七 CSS布局模型
  13. 计算机公式算加减乘除教程视频,Excel快速计算加减乘除教程 Excel表格公式计算方法...
  14. ecshop 添加php标签,ECSHOP模板标签【ecshop标签大全】ecshop标签手册
  15. E4A(易安卓)学习——常用组件(一)按钮
  16. 论文精读 清华ERNIE:Enhanced Language Representation with Informative Entities
  17. 学学拍照姿势!(别只懂得插裤袋,哈哈)
  18. 设置编程软件的背景颜色
  19. 统筹规划题:“服装店4个小组15天最多做多少套衣服裤子”的思路
  20. matlab两张图片合成一张_如何将多幅图合并在一起变成一张大图

热门文章

  1. delphi7微信支付宝支付单机版前台源码
  2. 网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)
  3. 3d打印光固化好还是热固化好_光固化3D打印机定制
  4. 计算机大师( 一 ) COMPUTER MASTERS (1)
  5. 修改linux服务器nls_lang,Oracle下服务端字符集修改
  6. 华为手机配什么蓝牙耳机好?适合华为手机的蓝牙耳机推荐
  7. 蓝桥杯嵌入式——扩展板DHT11
  8. 基于STC8G2K64S4单片机通过I2C硬件控制OLED屏幕
  9. JuiceFS 在多云存储架构中的应用 | 深势科技分享
  10. sqlserver根据经纬度查询距离范围