Linux基础: 五. 文本编辑器vi和vim

文章目录

1、创建/打开文件

vi 文件名

打开一个文件,如果文件不存在,就创建它。

示例:

bash 复制代码
vi abc.txt
or
vim abc.txt

2、vi的两种模式

  • vi 有两种模式,命令模式和编辑模式,在命令模式下,键盘输入是命令,在编辑模式下,键盘输入的才是字符。
    进入vi时,初始是命令模式。

3、vi的常用命令

  • k 类似方向键上。

  • j 类似方向键下。

  • h 类似方向键左。

  • l 类是方向键右。

  • i 在光标所在位置前面开始插入。从命令模式切换到编辑模式。

  • a 在光标所在的位置后面开始插入。从命令模式切换到编辑模式。

  • o 在光标所在位置的下面插入空白行。从命令模式切换到编辑模式。

  • O 在光标所在位置的上面插入空白行。从命令模式切换到编辑模式。

  • I 在光标所在位置的行首开始插入。从命令模式切换到编辑模式。

  • A 在光标所在位置的行末开始插入。从命令模式切换到编辑模式。

  • Esc 从编辑模式切换到命令模式。

  • Ctrl+u 上翻半页。

  • Ctrl+d 下翻半页。

  • Ctrl+insert 相当于Ctrl+c。

  • Shift+insert 相当于Ctrl+v。

    以上两个命令在windows和UNIX中是通用的。

  • Ctrl+g 显示光标所在位置的行号和文件的总行数。

  • nG 光标跳到文件的第n行的行首。

  • G 光标跳到文件最后一行。

  • :5回车 光标跳到第5行。

  • :n回车 光标跳到第n行。

  • 0 光标跳到当前行的行首。

  • $ 光标跳到当前行的行尾。

  • w 光标跳到下个单词的开头。

  • b 光标跳到上个单词的开头。

  • e 光标跳到本单词的尾部。

  • x 每按一次,删除光标所在位置的一个字符。

  • nx 如"3x"表示删除光标所在位置开始的3个字符。

  • dw 删除光标所在位置到本单词结尾的字符。

  • D 删除本行光标所在位置后面全部的内容。

  • dd 删除光标所在位置的一行。

  • ndd 如"3dd"表示删除光标所在位置开始的3行。

  • yy 将光标所在位置的一行复制到缓冲区。

  • nyy 将光标所在位置的n行复制到缓冲区。

  • p 将缓冲区里的内容粘贴到光标所在位置。

  • r 替换光标所在位置的一个字符。

  • R 从光标所在位置开始替换,直到按下Esc。

  • cw 从光标所在位置开始替换单词,直到按下Esc。

  • u 撤销命令,可多次撤销。

  • J 把当前行的下一行文本拼接到当前行的尾部。

  • /abcd 在当前打开的文件中查找文本内容"abcd"。

    • n 查找下一个。
    • N 查找上一下。
  • . 重复执行上一次执行的vi命令。

  • ~ 对光标当前所在的位置的字符进行大小写转换。

  • :w回车 存盘。

  • :w!回车 强制存盘。

  • :wq回车 存盘退出。 write and quit

  • :w 文件名 把当前文件另存为......

  • :x回车 存盘退出。

  • :q回车 不存盘退出。

  • :q!回车 不存盘强制退出。

  • :g/aaaaaaaaa/s//bbbbbb/g回车 把文件中全部的aaaaaaaaa替换成bbbbbb。

  • vi .cpp .h 打开全部后缀为.cpp和.h的文件。

  • :n 切换到下一个文件。

相关推荐
xywww1687 小时前
大模型 API 选型实战:GPT、Gemini、Claude 接入时该看哪些指标?
运维·服务器·人工智能·python·gpt·langchain
梦想的颜色10 小时前
【Docker原理】Docker 容器一文打尽:生命周期、环境管控、迁移备份、日志进程排查、垃圾清理
运维·docker·容器·容器生命周期·容器日志排查·容器迁移备份·容器进程管理
donoot12 小时前
Linux系统下图书馆级电子书全自动标准化分类整理完整实施方案
大数据·linux·运维·电子书管理
ITKEY_12 小时前
macOS brew 安装的nginx 文件在哪里?
运维·nginx·macos
Felix-lxd13 小时前
Ubuntu 22.04 配置 Nginx
linux·nginx·ubuntu
Elastic 中国社区官方博客13 小时前
如何比较两个 Elasticsearch 索引并找出缺失的文档
大数据·运维·数据库·elasticsearch·搜索引擎
Tim_Van14 小时前
在 CentOS 7 中安装 Chromium 的完整步骤
linux·运维·chrome·centos
2023自学中14 小时前
C++ 内存追踪器
linux·c++
孫治AllenSun14 小时前
【Nginx】配置参数和使用案例
运维·nginx
啵啵鱼爱吃小猫咪16 小时前
Ubuntu 20.04 + ROS Noetic 源码安装 libfranka 0.8.0 和 franka_ros 0.8.0 完整教程
linux·运维·ubuntu