【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.mzph.cn/news/97831.shtml

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

相关文章

ES 关于 remote_cluster 的一记小坑

最近有小伙伴找到我们说 Kibana 上添加不了 Remote Cluster,填完信息点 Save 直接跳回原界面了。具体页面,就和没添加前一样。 我们和小伙伴虽然隔着网线但还是进行了深入、详细的交流,梳理出来了如下信息: 两个集群:…

架构师-软件工程习题选择题

架构师-软件工程习题选择题

不同数据类型在单片机内存中占多少字节?

文章目录 前言一、不同编译器二、C51* 指针型 三、sizeof结构体联合体 前言 在C语言中,数据类型指的是用于声明不同类型的变量或者函数的一个广泛的系统。变量的类型决定了变量存储占用的空间 一、不同编译器 类型16位编译器大小32位编译器大小64位编译器大小char…

LINGO-1 - 自动驾驶的 视觉语言动作模型

文章目录 LINGO-1: Exploring Natural Language for Autonomous Driving https://wayve.ai/thinking/lingo-natural-language-autonomous-driving/ 【LINGO-1:将自然语言应用于无人驾驶增强学习和可解释性】 探索将视觉、语言和行动相结合的视觉语言行动模型(VLAM)…

运维常见的22个故障排查和10个问题解决技巧大汇总!

作为运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个运维工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是…

HTTPS工作过程,国家为什么让http为什么要换成https,Tomcat在MAC M1电脑如何安装,Tomcat的详细介绍

目录 引言 一、HTTPS工作过程 二、Tomcat 在访达中找到下载好的Tomcat文件夹(这个要求按顺序) zsh: permission denied TOMCAT的各部分含义: 引言 在密码中一般是:明文密钥->密文(加密) &#xff…

机器学习笔记 - 深入研究spaCy库及其使用技巧

一、简述 spaCy 是一个用于 Python 中高级自然语言处理的开源库。它专为生产用途而设计,这意味着它不仅功能强大,而且快速高效。spaCy 在学术界和工业界广泛用于各种 NLP 任务,例如标记化、词性标注、命名实体识别等。 安装,这里使用阿里的源。 pip install spacy…

三十二、【进阶】hash索引结构

1、hash索引结构 (1)简述: hash索引,就是采用一定的hash算法,将键值换算成新的hash值,映射到对应的槽位上,然后存储在hash表中。 (2)图示: 2、hash索引结构…

elasticsearch深度分页问题

一、深度分页方式from size es 默认采用的分页方式是 from size 的形式,在深度分页的情况下,这种使用方式效率是非常低的,比如我们执行如下查询 1 GET /student/student/_search 2 { 3 "query":{ 4 "match_all":…

Ansible系列 | Ansible变量详解

Ansible系列 | Ansible变量详解 1. 在Inventory中定义变量2. 在Playbook中定义变量2.1. 通过vars关键字定义变量2.2. 通过vars_files关键字引入变量文件2.3. 通过vars_prompt来实现人机交互3. 内置变量3.1. hostvars3.2. group_names3.3. groups3.4. inventory_hostname与inven…

【算法练习Day15】平衡二叉树二叉树的所有路径左叶子之和

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 平衡二叉树二叉树的所有路径…

周总结【java项目】

项目进度: 学习了JavaFX,下载了sceneBuilder辅助工具构建窗口(目前建立了登陆,注册,忘记密码的界面),然后是学习了MySQL的连接,现在的项目是刚连上数据库; 下一步&…

多线程锁-synchronized字节码分析

从字节码角度分析synchronized实现 javap -c(v附加信息) ***.class 文件反编译 synchronized同步代码块 >>>实现使用的是monitorenter和monitorexit指令 synchronized普通同步方法 >>>调用指令将会检查方法的ACC_SYNCHRONIZED访问标志是否被设置&#xf…

【项目】5.1阻塞和非阻塞、同步和异步 5.2Unix、Linux上的五种IO模型

5.1阻塞和非阻塞、同步和异步(网络IO) 典型的一次IO的两个阶段是什么?数据就绪和数据读写 数据就绪:根据IO操作的就绪状态 阻塞非阻塞 数据读写:根据应用程序和内核的交互方式 同步异步 陈硕:在处理IO的…

华为云API自然语言处理的魅力—AI情感分析、文本分析

云服务、API、SDK,调试,查看,我都行 阅读短文您可以学习到:人工智能AI自言语言的情感分析、文本分词、文本翻译 1 IntelliJ IDEA 之API插件介绍 API插件支持 VS Code IDE、IntelliJ IDEA等平台、以及华为云自研 CodeArts IDE&a…

Mac os 点击桌面 出现黑边框 解决

1、桌面黑框效果 2、解决:设置为 仅在台前调度中

img标签src动态绑定资源失败问题

img标签src动态绑定资源失败问题 需要采用require的方式进行 在 Vue 中,require 是一个通用的模块加载函数,用于在运行时(客户端或服务器端)引入模块。它通常用于加载 JavaScript 文件、JSON 数据、静态资源等。 组件使用&#xf…

6.01 定时任务,关闭超时订单

步骤1:创建定时任务类 import com.imooc.service.OrderService; import com.imooc.utils.DateUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.s…

mysql在Ubuntu中新增用户配置

打开终端(Terminal)。 使用超级用户权限登录到 MySQL 服务器。如果您知道MySQL的root用户密码,可以运行以下命令并输入密码: sudo mysql -u root -p 如果您没有设置MySQL root密码,可以直接使用以下命令登录&#xff…

读书笔记--未来简史关键金句和阅读感悟

借着国庆假期,终于有时间研读了尤瓦尔.赫拉利的《未来简史》,作者的写作方式、文笔、观察视角都是我喜欢的类型,作者从古到今,谈到了上帝、神、宗教、科技、生物、智人到未来的超人智神(数据主义)&#xff…