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 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 【Vim】模式的切换、常用命令总结 -> 正文阅读

[开发工具]【Vim】模式的切换、常用命令总结

参考总结自:
https://blog.csdn.net/qq_39147299/article/details/108972206
https://www.cnblogs.com/mabingxue/p/10281132.html
https://zhidao.baidu.com/question/277761048.html

使用vi 打开文件时,默认是命令行模式(普通),编辑模式、尾行模式的切换都需要经过命令行模式。
在这里插入图片描述

命令行模式

默认打开文件是为命令行模式,从其他模式按一次或多次ESC返回到命令行模式。
进入vi的命令

    vi filename :打开或新建文件,并将光标置于第一行首
    vi n filename :打开文件,并将光标置于第n行首
    vi /pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
    vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
    vi filename....filename :打开多个文件,依次进行编辑

在命令模式下,从键盘上输入的任何字符都被当作编辑命令来解释,如果输入的字符是合法的vi命令,则vi就会完成相应的动作;否则vi会响铃警告。

命令行模式光标移动

H  J  K  L
左 下 上  右

命令行模式下的快捷命令

  • gg、G
    gg是回到第一行,G是回到最后一行,nG是去到指定的第n行。
    如果想要回到第20行,那就 " 20G "

  • dd 剪切(删除)光标所在行
    如果想要删除20行,那就 " 20dd "

  • d1G、dG
    d1G是删除当前行前面的所有数据,dG是删除当前行之后的全部数据

  • x、X
    x是删除下一个字符,X是删除上一个字符
    如果想删除10个字符,那就" 10x "

  • yy 复制光标所在行
    如果想要复制20行,那就 " 20yy "

  • y1G、yG
    y1G是复制当前行前面的所有数据,yG是复制当前行之后的全部数据

  • p、P p是粘贴到下一行,P是粘贴到上一行。3p就是重复粘贴三次。

  • u 撤销上一步操作,uuu撤销三步操作…

  • Ctrl+r 反撤销

  • w 光标移动到下一个单词首部(每个标点符号算一个单词)。w可以结合其他命令一起使用,如yw复制单词,dw、cw

  • e 光标移动到下一个单词尾部

  • b 光标回到上一次停留的单词处

  • dw 删除光标所在的一个单词

  • cw 改变一个单词

  • .(小数点) 重复上一个动作

编辑模式

从命令行进入编辑模式:

  • i, I (或insert键)
    i 为『在光标前的位置输入』, I 为『在光标所在行的最前输入』
  • a, A
    a 为『在光标后的位置输入』, A 为『在光标所在行的末尾输入』
  • o, O
    o 为『在光标所在行的下一行输入』; O 为『在光标所在行的上一行输入』
  • r, R 进入取代模式(或两次insert键)
    r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止
  • s
    从当前光标位置处开始,以输入的文本替代指定数目的字符

从编辑模式回到命令行模式只需要一次ESC。

尾行模式

从命令行模式进入尾行模式需要按 shift+冒号/分号。可以使用命令保存、替换、退出、显示行号等等;
也可以使用/ 进入尾行模式并搜索内容。

尾行模式的操作命令:

:w 将编辑过的文本保存
:w! 强制保存
:q 退出vim
:q! 不保存退出。 (或直接命令行模式下的 ZQ)
:wq 保存并退出 。(或直接命令行模式下的 ZZ)
:w [filename] 文档另存为filename
:r [filename] 在当前光标所在行的下面读入filename文档的内容

:n1,n2 w [filename] 将n1到n2的内容另存为filename这个文档

:e! 放弃所有修改,从上次保存文件开始再编辑

:! [command] 暂时离开vim并运行某个linux命令

:set nu 显示行号 (也可以在vim永久配置set number)
:set relativenumber 显示相对行号
:set nonu 取消显示行号

:/搜索的文本 ,搜索到的内容会高亮显示
:%s/要替换的字符/替换后的字符/g ,全局替换文本

tips:
实现将文件的最后一行删除,可以不经过编辑模式:全程在命令行模式下,按G去到最后一行,按dG是删除当前行以及之后行,按 ZZ保存并退出。

在尾行模式执行完命令,或两次ESC就能回到命令行模式。

视觉模式

从命令行模式进入视觉模式
命令行模式输入v、V、Ctrl+v 就进入视觉模式,同时移动光标(方向键或hjkl都可以)就能选中对应的区域

  • v 是光标起始和结束之间的文本会被选中
  • V 是光标起始和结束之间的所有行被选中
  • Ctrl+v 是光标起始和结束之间构成的矩形区域被选中

选中的文本可以使用d删除。

恢复文件:

vi在编辑某一个文件时,会生成一个临时文件,这个文件以 . 开头并以 .swp结尾。正常退出该文件自动删除,如果意外退出例如忽然断电,该文件不会删除,我们在下次编辑时可以选择一下命令处理:

O只读打开,不改变文件内容

E继续编辑文件,不恢复.swp文件保存的内容

R将恢复上次编辑以后未保存文件内容

Q退出vi

D删除.swp文件

或者使用vi -r 文件名来恢复未保存的内容

  开发工具 最新文章
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常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:26:35  更:2022-08-19 19:28:25 
 
开发: 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年11日历 -2024/11/25 22:50:44-

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