IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> Linux 实战技巧 --vi/vim 的使用 -> 正文阅读

[开发工具]Linux 实战技巧 --vi/vim 的使用

Vi 的使用

vi 是一个强大的文本编译器。它可以通过不同模式的切换,使用户可以不用鼠标,通过键盘完成对所有文本的操控。

vi 的四种模式:

  • 正常模式(Normal-model)
  • 插入模式(Insert-model)
  • 命令模式(Command-model)
  • 可视模式(Visual-model)

命令行输入 vi,会进入vim 文本编译器的版本,vim 是对 原始 vi 编译器的扩展。可以用命令 man vi获取到相应的帮助。可以在终端输入 vim 进入其主界面。

vi
man vi
vim

在这里插入图片描述

vim 的正常模式

光标移动按键:

按键含义
l or 右箭头向右移动一个字符
h or 左箭头 移动一个字符
j or 下箭头 移动一个字符
k or 上箭头 移动一个字符
0(零按键)移动到当前行的行首
$移动到当前行的行尾
^移动到当前行第一个非空字符
w移动到下一个单词或标点符号的开头
W移动到下一个单词开头忽略标点符号
b移动到上一个单词或标点符号的开头
B移动到上一个单词开头忽略标点符号
Ctrl + f or Page Down向下翻一页
Ctrl + b or Page Up向上翻一页
numberG移动到第 number 行(例:1G 表示移动到文件的第一行)
G移动到文件末尾

vi 中的许多命令都可以在前面加上一个数字,比如上面的 G 命令。在命令之前加上一个数字,就可以指定命令执行的次数。例:命令 5j表示将光标下移 5 行。

复制、剪切和粘贴

y 命令用来复制文本,可以将 y 命令和各种光标移动命令结合起来使用:

命令复制的内容
yy当前行
5yy当前行及随后的四行文本(数字表示从当前行开始复制的行数)
y0从当前光标位置到 行首
y$从当前光标位置到 行尾
y^从当前光标位置到文本行的第一个非空字符
yW从当前光标位置到下一个单词的开头
yG从当前行到文件末尾
y20G从当前行到文件的第 20 行(数字可以根据自己需求设置)

d命令用来剪切文本,用法和 y命令类似

p 命令用来粘贴文本

  • p 命令把剪切板中的文本粘贴到光标位置之后
  • P 命令把剪切板中的文本粘贴到光标位置之前

删除文本

xd 命令来删除字符。 x 按键会删除光标位置的一个字符。d 按键更通用一些。

命令删除的文本
x当前字符
3x当前字符及其后的两个字符
dd当前行
5dd当前行及随后的四行文本
d0从光标位置开始到当前行的行首
d$从光标位置开始到当前行的行尾
d^从光标位置开始到文本行的第一个非空字符
dW从光标位置开始到下一个单词的开头
dG从当前行到文件末尾
d20G从当前行到文件的第 20 行

撤销与重做

  • 撤销(后退):u
  • 重做(前进):Ctrl + r

vim 的插入模式

进入插入模式的几种方式:

命令含义
i进入插入模式,光标位置不变
I进入插入模式,光标来到原来光标所在开头位置
a进入插入模式,光标来到原来光标的下一位置
A进入插入模式,光标来到原来光标所在结尾位置
o进入插入模式,光标来到原来光标位置的下一行,原来下面的行依次下移
O进入插入模式,光标来到原来光标位置的上一行,原来下面的行依次下移

Esc 键退出插入模式。

vim 的命令模式

保存与退出

  • 保存::w <文件名>。例::w /home/a.txt

  • 退出:

    • 退出::q
    • 保存并退出:wq
    • 不保存退出::q!

执行 Linux 命令

在文本编辑的同时,想临时执行 linux 命令,可执行代码::! <命令>。例:查看 IP 地址::!ifconfig

查找与替换

  • 查找

    • 查找一行f 。例:fa表示在当前行查找字符 a
    • 查找整个文件:/ 。 例:/a 表示在全文查找字符 a 。如果查到的字符有多个,可以按 n 来查找下一个匹配的字符;shift + n 用来查找上一个匹配的字符。
  • 替换

    命令::%s/<被替换字符>/<替换成字符>/gc。对该命令的分解如下:

    条目含义
    :冒号字符运行一个 ex 命令
    %指定要操作的行数。%是一个快捷方式,表示从第一行到最后一行。1,5 表示从第一个行到第五行,如果省略文本行的范围,那么操作只对当前行生效。
    s指定命令,这里是:替换(查找与替换)
    /<被替换字符>/<替换成字符>查找类型与替换文本
    g全局。对文本行中所有匹配的字符串执行查找和替换操作。如果省略 g,则只替换每个文本行中第一个匹配的字符串
    c替换确认。在执行每个替换命令之前,vi 会停下来,通过信息(replace with <替换文本> (y/n/a/q/l/E/Y)?)来要求我们确认这个替换

    例::s/x/a:表示对光标所在行,把 x 替换成 a

    ? :%s/x/a: 表示对全文,把 x 替换成 a

    ? :3,5s/x/a:表示对第 3 到 5 行,把 x 替换成 a

    ? :s/x/a/g:表示对全局,把 x 替换成 a

    替换确认按键如下:

    按键行为
    y执行替换操作
    n跳过当前匹配的实例
    a对当前及随后所有匹配的字符串执行替换操作
    q or Esc退出替换操作
    l执行这次替换并退出
    Ctrl+e, Ctrl+y分别是向下滚动和向上滚动。用于查看建议替换的上下文

显示行号

  • 显示行号::set nu

  • 取消显示行号::set nonu

    上述命令只能对单次修改生效,当退出再次打开时,恢复原来状态。如果想长期生效,需要修改 vim 的配置文件。

    1. 打开 vim 配置文件。执行命令 vim /etc/vimrc
    2. set nu 写入到配置文件最后一行,并保存。

vim 的可视模式

可视模式主要是用于对重复的大量操作,可以一次性执行完成的一种功能。进入可视模式的三种方式:

命令行为
v字符可视模式
V可视模式
Ctrl+v可视模式(配合 dI命令可以进行块的便捷操作)

I在当前块的前面插入内容。

d删除当前的块。

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 21:48:21  更:2021-08-07 21:48:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 13:09:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码