Linux 中vim编辑器学习笔记

vim是Linux是非常常用的编辑器,也是编程开发中的神器之一。接下来,是我学习vim编辑器的一些笔记,总结如下:
首先:我们接触的vim编辑器一共有三种模式,分别为命令模式编辑模式末行模式
具体架构如下
在这里插入图片描述
注意:命令模式只能输入命令。
末行模式的功能是实现保存和退出的
基本命令如下:
第一:
命令模式>>编辑模式

i:在光标之前输入
I:在行首进行输入
a:在光标后进行输入
A:在行末尾进行输入
o:在光标下一行进行输入
O:光标上一行进行输入

编辑模式>>命令模式

按Esc即可

第二
命令模式>>末行模式

输入":"即可(注意所有的命令必须是英文状态下的输入)
末行模式实现的功能是保存输入、退出vim等等
具体如下
w:保存编辑
q:退出VIM
q+!:不保存直接退出VIM。
wq:保存退出VIM

末行模式>>命令模式

输入**Esc**即可

对于命令模式还有许多常用命令接下来进行简单汇总:
命令模式常用命令*
第一:命令行中的复制、剪切(删除)、粘贴、撤销、反撤销
复制:

   yy:复制光标所在行;4yy:复制从光标所在行开始往下的四行;

剪切:

  dd:剪切(删除)管标所在行;4dd:剪切(删除)从光标所在行开始往下的四行;d+0(零):从当前光标的前一位开始剪切到行首;D:从当前光标开始剪切至行尾。

粘贴:

p:粘贴复制或者剪切的内容,如果剪切的内容没有进一步粘贴那么,就相当于删除。

删除:

   dd:剪切(删除)管标所在行;4dd:剪切(删除)从光标所在行开始往下的四行;x:删除当前光标所在的位置,每次只删除光标所在字符X:删除当前光标前一个所在的位置,每次只删除光标所在字符dw:删除一个单词(以单词进行删除)

撤销:
u:撤销之前的操作,一步一步撤销
反撤销:
Ctrl+r: 反撤销
第二:命令行中的前后左右

h:左
l:右
j:下
k:上

第三:命令行中的屏幕内容移动

M:光标移动到到当前屏幕的中间
H:光标移动到当前屏幕的上方
L:光标移动到当前屏幕的下方
Ctrl+f:当前屏幕向下翻一页
Ctrl+b:当前屏幕向上翻一页
Ctrl+d:当前屏幕向下翻半页
Ctrl+u:当前屏幕向上翻半页
{:按照代码块向上跳
}:按照代码块向下跳

第三:命令行中的快速定位

20G:快速跳到第20行所在的代码
G:快速跳到整个代码的最后一行
gg:快速跳转到整个代码的第一行
w:光标以单词为单位,向后跳,跳到下一个单词的第一个位置
b:光标以单词为单位,向前跳,跳到上一个单词的第一个位置

第四:命令行中的缩进或者反缩进
方法一:

按下命令v   >>>>>   按命令j向下选中要缩进的行    >>>>>    然后按下>号进行缩进或者
按下<进行反缩进

方法二:

按下命令V   >>>>>   按命令j向下选中要缩进的行   >>>>>   然后按下>号进行缩进或者
按下<进行反缩进

注意:按下>/<号后,如果还要进行重复操作可以通过按下‘.’来执行。
第五:命令行中的搜索和替换

r:先按下命令r,然后输入你要输入的内容,注意:只能替换光标所在的字符
R:先按下R命令,然后从当前光标开始替换,输入多少内容就替换多少字符
/money:搜索money所在的位置,找到后,光标会一定自动跳到money上
注意:因为找到money后,可能会有多个,这个时候可以使用n向下寻找,使用N向上寻找。

替换:

:%s/print/output/g:将整个代码中的print用output替换
%20,25s/print/output/g:将20-25代码中的print用output替换

第六:命令行中的退出VIM方法

shift+zz:保存并且退出vim,和末行模式中的wq一致。

大家可以用微信扫描下方的二维码,关注一下,大家一起讨论,学习。
在这里插入图片描述

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

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

相关文章

Python 面向对象(初级篇)

概述面向过程&#xff1a;根据业务逻辑从上到下写垒代码函数式&#xff1a;将某功能代码封装到函数中&#xff0c;日后便无需重复编写&#xff0c;仅调用函数即可面向对象&#xff1a;对函数进行分类和封装&#xff0c;让开发“更快更好更强...”面向过程编程最易被初学者接受&…

利用IDA Pro反汇编程序

IDA Pro是一款强大的反汇编软件&#xff0c;特有的IDA视图和交叉引用&#xff0c;可以方便理解程序逻辑和快速定位代码片断&#xff0c;以方便修改。 IDA视图 示例程序 下面会通过修改示例程序的输出字符串&#xff0c;来讲解如何使用IDA Pro。 #includemain() {int n;scanf (…

Neo4j:找到两个纬度/经度之间的中间点

昨天我写了一篇博客文章&#xff0c;展示了如何使用Cypher查找两个纬度/经度之间的中点&#xff0c;这是第一次尝试填补丢失位置的方法&#xff0c;但我意识到我可以做得更好。 正如我在上一篇文章中提到的&#xff0c;当我找到一个缺少经纬度坐标的停靠点时&#xff0c;通常可…

Linux系统更新最新版R语言方法

Linux系统更新最新版R语言方法 第一&#xff1a;卸载之前的版本 sudo apt remove r-base-core第二&#xff1a;在 /etc/apt/sources中添加源 sudo vi /etc/apt/sources对于不同系统添加不同的源具体如下&#xff1a; #(19.04) deb https://cloud.r-project.org/bin/linux/…

Kali Linux下安装VMware

1.Kali Linux安装VMware Workstation 10.0 首先去官网下载VMware Workstation 10.0&#xff1b;下载地址&#xff1a; https://my.vmware.com/web/vmware/details?downloadGroupWKST-1006-LX&productId362&rPId8483 然后cd到下载目录&#xff0c;输入&#xff1a; su…

3月12号

上午复习了昨天的内容&#xff0c;学习了有序列表、无序列表、自定义列表、特殊字符标签. 下午学习了表格、表单、文本域、html新增标签、input新增的type属性值、多媒体标签、多媒体video. 这些知识都比较简单&#xff0c;我在来学校上课之前就已经非常熟悉了...... 最后发一张…

day10T1改错记

题面 有两个串\(A\)和\(B\)&#xff0c;长度分别为\(n\)和\(m\)&#xff0c;只含Z,P,S,B四个大写字母&#xff0c;定义\(B\)在第\(p\)位(\(0 \le p \le n - m\))匹配\(A\)为对\(B\)的每个位置\(B_i\)&#xff0c;在\(A_{\max (0, p i - k)}\)到\(A_{min(n - 1, p i k)}\)中都…

架构层和建模域逻辑

在讨论用于建模域逻辑&#xff08;例如事务脚本&#xff0c;表模块&#xff0c;域模型&#xff09;的PoEAA模式时&#xff0c;我注意到人们对域模型模式是最好的印象&#xff08;尽管印象不对&#xff09;。 因此&#xff0c;他们开始将其应用于所有内容。 不配领域模型模式 让…

一步步通过命令行cl.exe编译Windows程序

Windows系统下有强大的IDE工具VS&#xff0c;VC6.0等&#xff0c;隐藏了很多编译和链接的细节。事实上&#xff0c;VS是通过调用cl.exe进行源代码编译。接着调用link.exe进行目标文件的链接等操作。有时候&#xff0c;如果出现编译或者链接错误&#xff0c;我们也可以通过命令行…

将数据流链接到加密转换的流CryptoStream 类

1.命名空间:System.Security.Cryptography 程序集:mscorlib&#xff08;在 mscorlib.dll 中&#xff09;----------------------------------------------------继承层次结构-System.Object----- System.MarshalByRefObject--------- System.IO.Stream-------------System.Secu…

Spring Batch:多种格式输出编写器

作为Spring Batch的坚定倡导者&#xff0c;我一直在谈论Spring Batch的概念&#xff0c;它为开发人员提供了一个框架&#xff0c;使他们可以专注于解决业务需求。 这样&#xff0c;它使开发人员不必花费过多的时间来解决所有技术问题以支持该解决方案。 为了说明我的意思&…

《七哥说道》第五章:入职惨做苦力,画饼一望无际

【转载请注明】&#xff1a; 原文出处&#xff1a;https://www.cnblogs.com/jstarseven/p/10521426.html 作者&#xff1a;jstarseven 码字挺辛苦的..... “你是住在回龙观东大街附近吗&#xff0c;那先不急下班&#xff0c;一会我开车顺带你回去吧&#xff01;” 第二家公司的…

通过源码将git升级到最新版

因为go-get下载hugo失败&#xff0c;需要升级git到最新版本。 下载最新git代码 wget -O git-master.zip https://github.com/git/git/archive/master.zip编译 unzip git-master.zip cd git-masteryum install openssl-devel curl-devel expat-devel perl-ExtUtils-MakeMaker …

win10只有edge浏览器能上网的解决方法

问题描述&#xff1a;电脑就只有edge浏览器和自带的邮件可以上网&#xff0c;但是QQ Chrome&#xff0c;360浏览器都无法上网&#xff1b; 解决方法&#xff1a;打开命令提示符&#xff08;管理员&#xff09;&#xff0c;执行netsh winsock reset&#xff0c;重启系统就好了。…

CTF dotNet逆向分析

题目来源http://ctf.idf.cn/index.php?ggame&marticle&aindex&id36 .NET逆向第一题 嗯&#xff0c;看名字就应该明白了&#xff0c;快去下载吧&#xff01; http://pan.baidu.com/s/1bnvVbp9 下载后是一个DotNetCrackMe1.exe文件。 分析 逆向分析的基础问题&…

xaas_从XaaS到Java EE – 2012年哪款该死的云最适合我?

xaas您是否曾经想过要使Java EE正常运行需要什么&#xff1f; 是的 多年。 从托管我自己的主机开始&#xff0c;转到一些托管产品 &#xff0c;最后偶然发现了PaaS运动。 老实说&#xff0c;我并没有太认真。 我只是想把我的东西放到某个地方&#xff0c;而不在乎解决方案。 在…

day3----python变量与常量

一、python变量&#xff1a; 1、概述&#xff1a;&#xff08;1&#xff09;程序可操作的存储空间的名称&#xff1b;&#xff08;2&#xff09;程序运行期间可以改变的数据&#xff08;3&#xff09;每个变量都有特定的类型 2、作用&#xff1a;将不同类型的数据存储到内存中 …

垃圾收集中的代际差异

去年&#xff0c;我一直在帮助新兴公司Instana创建一个Java代理&#xff0c;该代理可跟踪Java应用程序中的执行情况。 收集并结合此执行数据以生成用户请求以及系统所有者半球内服务之间的最终通信的跟踪。 这样&#xff0c;可以可视化非结构化通信&#xff0c;从而显着简化了由…

简单解释 MapReduce 算法

一个有趣的例子 你想数出一摞牌中有多少张黑桃。直观方式是一张一张检查并且数出有多少张是黑桃&#xff1f; MapReduce方法则是&#xff1a; 给在座的所有玩家中分配这摞牌 让每个玩家数自己手中的牌有几张是黑桃&#xff0c;然后把这个数目汇报给你 你把所有玩家告诉你的数…

appium + python 搭建

appium python 1、安装jdk地址&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html配置&#xff1a;系统变量新建JAVA_HOME,输入jdk安装路径&#xff0c;如&#xff1a;C:\Program Files\Java\jdk1.8.0_201。系统变量新建CLAS…