Linux_vi、vim学习笔记

Linux vi/vim 学习笔记

vim 简介

  • 文本编辑器
  • vim由vi发展而来
  • 程序开发工具

安装指令:sudo apt install vim
打开指令:vim hjx.txt

在这里插入图片描述在这里插入图片描述

为什么要学习vi/vim编辑器

vi与vim的区别:

  • vim是vi的升级版本,兼容vi
  • vi按 u只能撤消上次命令,而在vim里可以无限制的撤消
  • vi只能运行于类unix系统中,而vim不仅可以运行于unix,windows ,mac等多操作平台
  • vim可以用不同的颜色来高亮代码
  • 可通过vimrc文件配置更加高级的功能

vi/vim 的使用

三种模式 : 命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)

模式切换指令:

:输入模式与底线命令模式不能直接切换,要通过命令模式衔接

  • 刚启动时为命令模式
  • 命令模式 to 输入模式:i
  • 命令模式 to 底线命令模式::
  • 切换到命令模式:ESC

模式切换关系图:

在这里插入图片描述

一般模式、命令模式

  1. 刚启动的模式
  • vim runoob.txt:使用 vi 来建立一个名为 runoob.txt 的文件
  1. 此模式的键盘动作被识别为命令而非字符输入
  2. 常用的几个命令:
  • i切换到输入模式
  • x删除光标所在位置的字符
  • :切换到底线命令模式,从而在最底下一行输入命令
  • :wq:存档后,离开vi

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

在这里插入图片描述

输入模式

  1. 命令模式i进到输入模式
  2. 输入模式可以使用以下按键:(很正常的逻辑)
  • 字符按键以及Shift组合,输入字符
  • ENTER,换行
  • BACK SPACE,删除光标前的一个字符
  • DEL,删除光标后的一个字符
  • 方向键,文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up / Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

在这里插入图片描述

  • 左下角状态栏出现--INSERT--或者--插入--

底线命令模式

  1. 命令模式:进到底线命令模式
  2. 该模式可用的命令非常多
  3. 基本命令有(已省略了冒号):

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

  1. ESC,随时退出底线命令模式

在这里插入图片描述

vi/vim 使用实例

  1. 创建一个 xiaohuang.txt 文件(一般模式)
    vim xiaohuang.txt
  2. 按下i进入输入模式进行编辑(输入模式)
  3. 输入完毕后,按下ESC (一般模式)
  4. 按下:wq,保存并离开
  5. xiaohuang.txt 创建完毕

vi/vim 按键说明

除了i, Esc, :wq 之外, vim 还有非常多的按键

更加详细的按键说明可以看菜鸟教程


以下来自于野火Linux开发板资料:
在这里插入图片描述

进入/退出插入模式快捷键
快捷键功能描述
i在当前光标所在位置插入文本
a在当前光标所在位置的下一个字符插入文本
o在光标所在位置后插入新行
r替换当前光标所在位置的字符
R可以替换当前光标所在位置之后的字符,按下”Esc”则退出
ESC退出插入模式
一般模式快捷键
快捷键功能描述
光标移动k / ↑光标向上移动
j / ↓光标向下移动
h / ←光标向左移动
l / →光标向右移动
PageUp向上翻页
PageDown向下翻页
n+shift+g跳转到第n行
shift+g跳转到最末行
gg跳转到第一行
文本查找与替换/word在文件中搜索关键字word
n查找下一个关键字
N查找上一个关键字
撤销重做u撤销上一步的操作,等价于Windows的Ctrl+Z
Ctrl+r重做上一步的操作。
删除、剪切、复制、粘贴dw删除一个单词
dd删除当前行
ndd删除光标后n行
x剪切光标选中的字符
y复制光标所选的内容
yy复制当前行
nyy复制当前行后n行
p将复制的数据粘贴在当前行的下一行
P将复制的数据粘贴在当前行的上一行
区块操作v选择多个字符
V可以选择多行
命令行模式快捷键
快捷键功能描述
w保存文档
w 另存为以为文件名的文档
r 读取文件名为filename的文档
q直接退出软件,前提是文档未做任何修改
q!不保存修改,直接退出软件
wq保存文档,并退出软件。
set nu在行首加入行号
set nonu不显示行号
set hlsearch搜索结果高亮显示
! command回到终端窗口,执行command命令,按回车键可切回vim。

特别注意,在 vi/vim 中,数字是很有意义的!数字通常代表重复做几次的意思! 也有可能是代表去到第几个什么什么的意思。

举例来说,要删除 50 行,则是用 『50dd』 对吧! 数字加在动作之前,如我要向下移动 20 行呢?那就是『20j』或者是『20↓』即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值