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 切换到下一个文件。

相关推荐
梁bk2 小时前
[Nginx]反向代理和负载均衡
运维·nginx·负载均衡
2401_826097627 小时前
JavaEE-Linux环境部署
java·linux·java-ee
(:满天星:)8 小时前
第31篇:块设备与字符设备管理深度解析(基于OpenEuler 24.03)
linux·运维·服务器·网络·centos
小陶来咯8 小时前
【仿muduo库实现并发服务器】Acceptor模块
运维·服务器
爱莉希雅&&&8 小时前
shell编程之awk命令详解
linux·服务器·git
笑稀了的野生俊8 小时前
在服务器中下载 HuggingFace 模型:终极指南
linux·服务器·python·bash·gpu算力
cui_hao_nan8 小时前
Docker后端部署
运维·docker·容器
渡我白衣8 小时前
Linux操作系统之文件(四):文件系统(上)
linux
ZZH1120KQ8 小时前
Linux系统安全及应用
linux·运维·系统安全
程序漫游人9 小时前
centos8.5安装jdk21详细安装教程
java·linux