首页 > 其他分享 >vim指令教程

vim指令教程

时间:2023-01-01 23:13:44浏览次数:44  
标签:文件 教程 模式 vim 编辑 指令 移动 光标

vim指令教程

0.写在前面

本人最近刚刚完成了学校的软件课设,基本算得上除了毕设最后一个课设了。题目不难,就是创建linux虚拟机,并完成相应的系统编译,编译一个内核模块以及一个应用模块。第一次在linux上使用vim编辑文件,所以决定在大佬文章的基础上记录一下。

原文链接:https://blog.csdn.net/wangyuxiang946/article/details/126560108

1.三种模式

vim编辑器有三种模式:命令模式编辑模式末行模式

  • 命令模式:可以进行删除、复制、粘贴等快捷操作。

  • 编辑模式:可以编辑文件内容。

  • 末行模式:可以通过命令操作文件,比如搜索、保存、退出等。

2.三种打开方式

注意:使用vim打开文件时,尽量使用 Tab 键补全文件名,如果文件名不存在,则会创建一个新的文件。

  • 打开指定文件:
vim 文件路径
[root ]# vim /test/a.txt 

提示:输入:wq 退出文件。

  • 打开文件时,将光标移动到指定行:
vim +行数 文件路径
[root ]# vim +3 /test/a.txt

打开文件时,光标停在了第三行(默认停在首行)
注意:加号 + 是语法格式,不要漏掉

  • 打开文件时,高亮显示关键字:
vim +/关键字 文件路径
[root ]# vim +/root /test/a.txt

打开文件时,字符串 root 已高亮显示

3.命令模式

打开文件后,默认就是命令模式,可以进行光标移动、复制粘贴、搜索替换等操作。

注意:命令模式中,敲击的键盘会被识别为命令,而不是输入内容。

3.1 移动光标

指令 作用
h 或 左方向键(←) 光标向左移动一个字符
l 或 右方向键(→) 光标向右移动一个字符
k 或 上方向键(↑) 光标向上移动一个字符
j 或 下方向键(↓) 光标向下移动一个字符
0 或 Ctrl+6 或 home键 光标移动到行首
Ctrl+4 或 end键 光标移动到行尾
Ctrl + f 或 PgUp键 【屏幕】向下移动一页
Ctrl + b 或 PgDn键 【屏幕】向上移动一页
gg 移动到文件的第一行
G 移动到文件的最后一行
nG 移动到文件的第n行

3.2 搜索替换

指令 作用
/字符串 + 回车 向下搜索指定字符串
n 继续向下搜索下一个字符串
?字符串 + 回车 向上搜索指定字符串
N 继续向上搜索下一个字符串
:%s/word1/word2/g 将文件中的word1替换为word2
:%s/word1/word2/gc 将文件中的word1替换为word2,但替换前需要用户确认!
:1,10s/word1/word2/g 将第1行到第10行的word1替换为word2

3.3 复制粘贴删除

指令 作用
x 删除后一个字符
X 删除前一个字符
dd 剪切一行
数字dd 剪切多行
yy 复制一行
数字yy 复制多行
p 粘贴到下一行
P 粘贴到上一行
u 撤回操作
Ctrl + r 撤回刚才的撤回操作
.(小数点) 重复刚才的操作

提示:

1)vim中的数字键代表重复次数,可以配合其他指令简化操作,比如:

  • 10↓或10j可一次向下移动10行。

  • 2p可以一次粘贴2行

  • 2dd可以一次剪切2行

  • 以此类推…

2)输入的数字可以在右下角查看

3)Xshell右下角的 CAP 可判断大小写,高亮代表大写,灰色代表小写

4.编辑模式

命令模式中按下 i 键进入编辑模式,也就是vim打开文件后按下 i 键进入编辑模式。

指令 作用
i 进入输入模式,进入后显示 – INSTER–
o 进入输入模式,在光标下一行插入新行,进入后显示 – INSTER –
R 进入取代模式,输入的值会取代光标所在的内容,进入后显示 – REPLACE –
esc键 退出编辑模式(输入模式)

提示:

1)输入模式和取代模式都是编辑模式,屏幕左下角出现 – INSTER – 或 – REPLACE –字样,表示进入了编辑模式,这时才可以输入内容。

2)按下esc键,确认下右下角 – INSTER – 或 – REPLACE – 字样消失后,再进行其他操作,以免误操。

3)想要「撤回」编辑模式下的操作,需要先退出编辑模式,再按 u 键

5.末行模式

英文状态的 :键 进入末行模式

命令模式 或 vim打开文件时,按下 : 键,左下角出现 :时,即表示末行模式。

指令 作用
:w 保存
:q 退出
:wq 保存后退出
:q! 不保存,强制退出
:set nu 显示行号
:set nonu 取消 显示行号
:w [文件名] 将编辑后的内容保存到另一个文件中(另存为)
:2,5 w [文件名] 将第2到5行的内容保存到另一个文件中(指定行另存为)
:r [文件名] 输入另一个文件的内容,到光标的下一行

标签:文件,教程,模式,vim,编辑,指令,移动,光标
From: https://www.cnblogs.com/Guoge66/p/17019211.html

相关文章

  • Django视频教程 - 基于Python的Web框架(全13集)
    Django是由Python驱动的开源模型-视图-控制器(MVC)风格的Web应用程序框架,使用Django可以在即可分钟内快速开发一个高品质易维护数据库驱动的应用程序。下面是一大坨关于Django......
  • 通道其实不难!Photoshop通道教程
    ■编者按美国人称:"通道是核心,蒙板是灵魂",足以说明通道在Photoshop中的重要地位。只有弄明白通道,你才能离开初学者的行列,向高手的境界前进......
  • 51单片机教程(从原理开始基于汇编)
    【发现了关于单片机的一系列不错的文章】很多电子爱好者,都想学习单片机这门技术。下面的这一系列教程是www.51hei.com专门为初学者入门而准备的,从底层硬件入手基于汇编和c......
  • 【保姆级】包体积优化教程
    市面上有很多优化方案,但是都没有一个完整的链路体系,现在它来了,本文将带你进阶新高度,不管是面试、绩效KPI,还是汇报宣讲,都能让你游刃有余!前置必读:​​Android包体积优化(常规、......
  • Grafana使用教程
    Grafana是一个开源的度量分析与可视化套件。经常被用作基础设施的时间序列数据和应用程序分析的可视化,它在其他领域也被广泛的使用包括工业传感器、家庭自动化、天气和过程......
  • JAVAEE零基础小白免费技术教程之集合体系结构讲解
    day13_JAVAOOP课程目标1.【理解】集合的体系结构2.【掌握】Collection集合中常用的方法3.【理解】Iterator迭代器4.【掌握】增强for的使用5.【理解】List集合的......
  • JAVA零基础小白免费学习教程之Object类和String类
    day10-JAVAOOP课程目标1.【理解】什么是API2.【掌握】API的使用方式3.【理解】Object类4.【掌握】Object类中的equals方法5.【掌握】String类中的常用方法API......
  • JAVA零基础小白学习教程之StringBuilder类和包装类.Arrays类.Math类
    day11-JAVAOOP课程目标1.【理解】StringBuilder类2.【掌握*】StringBuilder的使用3.【理解】Math类的使用4.【理解】Arrays类的使用5.【掌握*】包装类的使用6.......
  • JAVA零基础小白免费学习教程之异常类和Log4j
    day12_JAVAOOP课程目标1.【理解】什么是异常2.【理解】异常的体系结构3.【掌握】处理异常的方式4.【理解】自定义异常5.【理解】Log4J的作用视频:https://www.b......
  • libgdx游戏引擎教程 性能优良的游戏引擎—libgdx
    ===============搜藏备用===============以下系列教程按讲课顺序排列,也是推荐阅读的顺序第一讲:libgdx......