【Linux】Vim使用总结

【Linux】Vim使用总结

  • Vim 的三种模式
  • 命令行模式
    • 1. 移动
    • 2.复制,粘贴,剪切
    • 3.撤销
    • 4.大小写切换,替换,删除
  • 插入模式
  • 底行模式

Vim 的三种模式

在这里插入图片描述

一进入VIM就是处于一般模式(命令模式),该模式下只能输入指令,不能输入文字。这些指令可能是让光标移动的指令,也可能是删除指令或取代指令。

输入"i"就会进入编辑模式(插入模式),此时在状态列会有INSERT字样。在该模式下才可以输入文字,按Esc键又会回到命令模式

输入 :就会进入底行模式,此时坐下角会有一个冒号,等待输入命令。按Esc键就可以返回命令模式。

命令行模式

1.首先创建一个文本文件

touch test.txt

2.使用vim编辑test.txt文件

vim test.txt

3.在文本中编辑一些示例文字
使用 ESC 然后输入 : 在输入i,编辑部分文字后,使用 ESC 然后输入 : 在输入wq。重新使用 vim test.txt。本文编辑后的文本如下:

在这里插入图片描述

注意:刚刚打开文件时,可以使用方向键或者“hjkl”进行光标的移动,了解这一点很重要!在默认的命令行模式,才能使用下述快捷命令方式。

1. 移动

注:在vim模式中尽量不要使用鼠标的滚轮去上下翻阅。

  • 上下左右
命令功能
h向左
j向右
k向上
l向右
  • 行内移动
命令功能
w向后移动一个单词
b向前移动一个单词
0行首
^行首,第一个不是空白符的位置
$行尾
  • 行数移动
命令功能
gg文件顶部
G文件末尾
数字+gg移动到数字对应行数
数字+G移动到数字对应行数
:数字移动到数字对应行数
$将光标定位到文档行的最开始
^将光标定位到文档行的结尾
nw/nb按照单词为单位(一个或者n个)进行前后移动w向后,b向前
  • 屏幕移动
命令英文功能
ctrl+bback向上翻页
ctrl+fforward向下翻页
HHead屏幕顶部
MMiddle屏幕中间
LLow屏幕底部
  • 标记
命令功能
mx添加标记x
‘x直接定位到x所在位置

2.复制,粘贴,剪切

yy/nyy:复制当前行或者复制当前行在内的指定若干行

3.撤销

u:进行撤销上一次的操作

此时我们进行了一次5p的命令,现在来撤销从这次的命令

4.大小写切换,替换,删除

shift+~/n Shift+~:快速大小写切换。
r/nr:替换当前光标所在字符或者当前光标在内的多个字符。
x/nx:行内删除 左->右。
X/nX:行内删除 右->左。
v/nv:行内选中一个字符或者多个字符。 d/nd:删除一个或者多个或选中的字符

插入模式

在这里插入图片描述

底行模式

set nu:显示行数。

set nonu:不显示行数。

/key:key代表要搜索的内容将会被标亮。

!:在vim的底行模式下执行Linux的基本命令。

vs file:多窗口编辑。

Ctrl+ww:将光标切换窗口。(光标在哪个窗口上就在编辑哪个窗口。)

w:保存当前文件。
q:退出当前文件。
wq:保存冰退出当前文件。
注:w/q后面加!表示强制保存或者强制退出。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/127882.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ORACLE】ORA-00972:标识符过长

问题 执行创建表结构sql,提示 ORA-00972:标识符过长; 如图所示,约束名称超过30个字符了 原因 一、11G and before 在使用11G数据库时,经常会遇到报错ORA-00972,原因是因为对象名称定义太长&#xff0c…

【项目开发 | C语言项目 | 贪吃蛇】

项目简单介绍 本项目是一个命令行版的贪吃蛇游戏。用户需要控制一个蛇在屏幕上移动,吃食物来增长,同时避免撞到边界和自己的身体。 一,开发环境需求 操作系统 :Windows 开发环境工具 :Qt, VSCode, Visual Studio 技…

【小工具-生成合并文件】使用python实现2个excel文件根据主键合并生成csv文件

1 小工具说明 1.1 功能说明 一般来说,我们会先有一个老的文件,这个文件内容是定制好相关列的表格,作为每天的报告。 当下一天来的时候,需要根据新的报表文件和昨天的报表文件做一个合并,合并的时候就会出现有些事新增…

LVS+Keepalived 高可用集群负载均衡

一.keepalived介绍 1.1.Keepalived实现原理 由多台路由器组成一个热备组,通过共用的虚拟IP地址对外提供服务。 每个热备组内同时只有一台主路由器提供服务,其他路由器处于冗余状态。 若当前在线的路由器失效,则其他路由器会根据设置…

Zabbix监控系统与部署Zabbix6.0监控(系列操作完整版)

目录 Zabbix 6.0 1 zabbix 是什么 1.1 zabbix 监控原理 1.2 Zabbix 6.0 新特性 1.3 Zabbix 6.0 功能组件 2 Zabbix 6.0 部署 2.1 部署 zabbix 服务端 2.1.1 部署 Nginx PHP 环境并测试 2.1.2 部署数据库,要求 MySQL 5.7 或 Mariadb 10.5 及以上版本 2.1.3…

10.8流水灯

.text .global _start _start: 1.设置GPIOE寄存器的时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000a28 LDR R0,0X50000A28 LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1 ORR R1,R1,#(0x1<<4) 第4位设置为1 STR R1,[R0] 写回1.设置GPIOF寄存器的时钟使能 R…

c++视觉图像线性混合

图像线性混合 使用 cv::addWeighted() 函数对两幅图像进行线性混合。alpha 和 beta 是两幅图像的权重&#xff0c;它们之和应该等于1。gamma 是一个可选的增益&#xff0c;这里设置为0。 你可以通过调整 alpha 的值来改变混合比例。如果 alpha0.5&#xff0c;则两幅图像等权重…

Apache Tomcat安装、运行

介绍 Apache Tomcat是下面多个规范的一个开源实现&#xff1a;Jakarta Servlet、Jakarta Server Pages、Jakarta Expression Language、Jakarta WebSocket、Jakarta Annotations 和 Jakarta Authentication。这些规范是 Jakarta EE 平台的一部分。 Jakarta EE 平台是Java EE平…

C/C++ 进程间通信system V IPC对象超详细讲解(系统性学习day9)

目录 前言 一、system V IPC对象图解 1.流程图解&#xff1a; ​编辑 2.查看linux内核中的ipc对象&#xff1a; 二、消息队列 1.消息队列的原理 2.消息队列相关的API 2.1 获取或创建消息队列&#xff08;msgget&#xff09; 实例代码如下&#xff1a; 2.2 发送消息到消…

day25--JS进阶(递归函数,深浅拷贝,异常处理,改变this指向,防抖及节流)

目录 浅拷贝 1.拷贝对象①Object.assgin() ②展开运算符newObj {...obj}拷贝对象 2.拷贝数组 ①Array.prototype.concat() ② newArr [...arr] 深拷贝 1.通过递归实现深拷贝 2.lodash/cloneDeep实现 3.通过JSON.stringify()实现 异常处理 throw抛异常 try/catch捕获…

v-bind绑定

一、标签属性动态绑定 方式一&#xff1a; v-bind:属性名"data声明的变量名" 方式二&#xff1a;&#xff08;简写&#xff09; 将v-bind省略&#xff0c;直接 :属性名"data声明的变量" v-bind.属性名[.修饰符]"变量名、计算属性。。 对应还提供了修饰…

宠物社区风格 商业版(GBK)Discuz模板

仿爱宠乐园宠物社区风格Discuz模板&#xff0c;商业版&#xff08;GBK&#xff09;Discuz模板。 1、版本支持&#xff1a;discuzx3.0版本&#xff0c;discuzx3.1版本&#xff0c;discuzx3.2版本&#xff0c;discuzx3.3版本&#xff0c;discuzx3.4版本。包括网站首页&#xff0…