Linux之vim编辑器

目录

vim编辑器 

vim编辑器指令

命令模式指令

光标相关

移动光标相关

文本操作

底行模式指令

插入模式

vim配置


 面试官:小伙子,你是用什么环境编写代码的?

小明:vs2019

面试官:小伙子,你是用什么环境编译代码的?

小明:vs2019

面试官:小伙子,你是用什么环境调试代码的?

小明:vs2019

面试官:小伙子,你是用什么环境运行,发布代码的?

小明:vs2019

通过一个有趣的事例引入今天的主题--------vim编辑器。

vim编辑器 

我们知道,一份合格的代码要进行几个阶段:编写,编译,调试,运行,发布。在windows环境中,有很多比较nb的软件可以将这五个阶段一起搞定,什么idea,vs2019等等,我们称这些软件为集成开发环境,但是在linux操作系统中,这几种阶段却分别由不同的工具来完成,今天我们要学习的vim编辑器,完成的就是代码的编写工作

vim编辑器:一种类似于windows中记事本的工具,可以完成代码的编写且只能完成代码的编写。

vim的三种模式命令模式插入模式底行模式 。在打开vim编辑器时,默认处于命令模式。

vim编辑器指令

命令模式指令

光标相关

光标就是打开vim编辑器之后可以看到一个很显眼的鲜艳标志就是图标。图示如下:

H,J,K,L:除了键盘上原始的上下左右键外,这四个字母分别代表左(H),下(J),上(K),右(L)四个方向。

移动光标相关

shift + ^:移动至行首。

shift + $:移动至行尾。

gg:移动至起始行

 shift + g:移动至末尾行。

n+shift+g:切换至指定行。

下图从第14行切换至第2行:

b/w:以单词为单位向前移动或者向后移动。

文本操作

yy:复制当前行。

nyy:复制包含当前行以及当前行之后的n-1行。

u:撤销上一操作。

ctrl+r:撤回撤销上一操作的操作。

p:粘贴。

dd+p:实现剪切功能。

np:一次粘贴复制行数的n倍行。

dd:删除当前光标所在行。

ndd:删除当前行在内的总共n行。

shift+~:实现大小写转换。

x:从左向右删除光标之后的一个字符。

nx:从左向右删除光标之后的n个字符。

X:从右向左删除光标之前的一个字符。

nX:从右向左删除光标之前的n个字符。

r:替换光标位置的一个字符。

nr:替换包括光标位置及光标位置之后的n个字符。

shift+r:进行多个字符的替换。

底行模式指令

我们进入vim编辑器时,默认是底行模式,我们可以使用shift+:组合键进入底行模式。

底行模式快捷键:

set nu:设置行号。

set nonu:取消行号。

vs  文件名:进行多文件操作。

ctrl+w:进行多个文件之间的光标的切换,进入多文件之后,如果要退出,可以先进行单文件的退出。

w:保存文件。

w!:强制保存。

q:退出。

q!:强制退出。

wq!:强制保存退出。

插入模式

插入模式在进入vim编辑器之后默认是命令模式,然后按i键进入插入模式。

命令模式如下:

插入模式如下:

插入模式就是我们一般在记事本中的模式,除了不能用鼠标之外其实本质和记事本没有什么区别。

注意:不管是什么模式,只要按了ESC键,都会进入指令模式,只有在指令模式之下才可以切换底行模式,底行模式和插入模式不可以互相转换。

vim配置

一般的默认的vim编辑器如下:

默认状态下是一片空白,我们可以对.vimrc文件进行vim配置,使得vim编辑器更美观高效。

注意:默认在每个用户的工作目录之下,可以使用cd~指令切换到用户的工作目录,然后使用ls -al查看隐藏文件,如果没有.vimrc文件,需要自己进行创建。 在/etc/下面有默认的.vimrc文件,配置之后所有用户有效,但是不建议对该文件进行配置,应该在用户各自的目录下的文件中进行配置,配置之后,vim中的样式是互不相干的,root配置之后也不影响其它用户。

打开.vimrc文件,写入下列两行代码,保存之后,我们与上述vim原本编辑器进行对比:

set nu
set cursorline

我们发现,相较于之前,显示了行号,并且可以更清楚的看见所在行。 还有其它的指令,大家可以在网上自行搜索下载。

为了省事,大家可以运行下述指令,可以是vim变成类似vs2019的集成开发环境,原文地址如下:

Gitee 搜索 - Gitee.com

最终根据最后提示的指令完成安装,或者重启xshell即可完成安装。

使用vim编辑器更改添加 

以上便是vim编辑器的所有内容,本期内容到此结束^_^

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

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

相关文章

Verilog HDL设计实现m序列+选择器

设计m序列发生器,其特征方程为,输出数字序列信号m_sequence码速率为10Mbps;设计串行转并行电路,每4位m序列并行输出,先输入的串行数据位于并行输出数据的高位。设计测试程序,进行功能仿真,将Ver…

深度分享:世界顶级神经科学家王小勤教授CCL 2018主旨报告(PPT全文,经报告人同意发布)...

报告人:王小勤 清华大学脑与智能实验室主任来源:TsinghuaNLP公众号人类的语言处理系统起始于听觉系统,大脑通过听觉系统来感知自然界多姿多彩的声学环境。在我们日常听见的众多声音中,语音和音乐是我们人类相互交流最为重要的两类…

贪心算法+回溯算法+动态规划

一.贪心算法 1.分饼干问题 #思路:排序加贪心 先让胃口小的孩子满足 class Solution:def findContentChildren(self, g, s):print(g:, g)print(s:, s)g sorted(g)#孩子s sorted(s)#饼干res 0for j in range(len(s)):#遍历饼干 先给胃口小的分配if res<len(g):if g[res]&…

小谈@override

override是jdk1.5增加的注解&#xff0c;主要是用来声明子类的某方法覆盖了父类的某方法。非常简单的注解&#xff0c;但是有个小问题&#xff1a; 项目最开始使用的是jdk1.6&#xff0c;mvc模式&#xff1a;接口 ----> 实现类。后来项目改成了jdk1.5&#xff0c;结果所有实…

单片机期末复习代码

1、左右来回循环的流水灯的电路连接见图4-6&#xff0c;显示规律如图4-7。实现本任务要求&#xff0c;可以有多种软件实现方法。下面列出了3种&#xff0c;具体如下 数组的字节操作实现 #include <reg51.h> #define uchar unsigned char uch…

中国AI专利数稳居第一!世界各国AI专利深度盘点

来源&#xff1a;智东西摘要&#xff1a;深入分析AI技术在世界范围内的专利申请数据&#xff0c;从专利申请的角度发现AI领域发展活跃的技术。最近两年&#xff0c;随着人工智能技术在国内的蓬勃发展&#xff0c;一些研究机构对国内外的技术现状进行了不同角度的分析&#xff0…

将多个csv文件合成一个csv

1.python的writer做法 import csv import pandas as pd import os from statistics import mean #对dev测试生成的多个csv进行融合 def merge_different_csv():CSV_C0_NAME file_nameCSV_C1_NAME real_lengthCSV_C2_NAME dev_lengthCSV_C3_NAME dev_length_abs_errorCSV_C4…

微信接口开发-初级体验

目录&#xff1a; 1. 微信接口的注册 2. 申请成为开发者 3. 申请测试账号 4. 获取access_token值 5. 调用接口 6. 自己编写程序 7. 总结 1. 微信接口的注册 进入到微信开发的官网&#xff08;https://mp.weixin.qq.com/&#xff09;进行注册。不过注册时需要一张手持身份证的照…

德国汽车产业研究:立足本土,迈向世界

来源&#xff1a;国泰君安德国汽车市场目前已进入成熟阶段&#xff0c;成熟阶段的标志是国内销量增速下降&#xff0c;自主品牌份额远高于其他品牌。国内市场趋于饱和&#xff0c;而出口量快速增长&#xff0c;并且在豪华车市场拥有高市场份额。德国汽车产业链的特点是&#xf…

利用混淆矩阵查看每一类预测结果+miou计算

混淆矩阵的示意图如下&#xff1a; import numpy as np cmnp.array([[4,0,0,0],[0,1,0,0],[0, 0, 2, 0],[0, 1, 3, 0]]) plt.figure() plt.grid(False) plt.imshow(cm, cmapjet) plt.colorbar() plt.show() import matplotlib.pyplot as plt import seaborn as sn import numpy…

Ubantu系统配置固定IP地址和Pycharm连接远程服务器

当需要远程办公时&#xff0c;使用pycharm远程连接服务器是必要的。 PyCharm提供两种远程调试(Remote Debugging)的方式&#xff1a; 配置远程的解释器&#xff08;remote interpreter&#xff09;配置Python调试服务器&#xff08;Python Debug Server&#xff09; 本篇文章主…

人工智能正在如何改变世界:BBC 总结 AI 的 A 到 Z

来源&#xff1a;AI 科技评论摘要&#xff1a;如今&#xff0c;人工智能已经不是一项虚无缥缈的实验室科技&#xff0c;它已经融入我们生活的方方面面。BBC Future 栏目撰写了一篇轻松愉快的文章&#xff0c;选出了首字母 A 到 Z 的 26 个单词&#xff0c;借助它们介绍机器的思…

灵活运用 SQL SERVER FOR XML PATH

FOR XML PATH 有的人可能知道有的人可能不知道&#xff0c;其实它就是将查询结果集以XML形式展现&#xff0c;有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作。那么以一个实例为主. 一.FOR XML PATH 简单介绍 那么还是首先来介绍一下FOR…

近代数字信号处理实验-DFT分析信号的频谱

一、实验目的 &#xff08;1&#xff09;掌握利用DFT近似计算不同类型信号频谱的原理和方法。 &#xff08;2&#xff09;理解误差产生的原因及减小误差的方法。 &#xff08;3&#xff09;培养学生自主学习能力&#xff0c;以及发现问题、分析问题和解决问题的能力。 二、…

人工智能+能源:能源行业变革新趋势

来源&#xff1a;资本实验室随着环保压力的不断加大&#xff0c;以及可再生能源成本持续降低等因素&#xff0c;越来越多的国家都开始大力推动从传统化石能源转向可再生能源&#xff0c;全球很多大型企业也纷纷加入了全球可再生能源计划RE100&#xff0c;以实现可再生能源100%的…

利用numpy生成各种波

一&#xff0c;生成矩形波 矩形波的傅里叶级数 xnp.linspace(-np.pi,np.pi,201) knp.arange(1,99) k2*k-1 ynp.zeros_like(x) for i in range(len(x)):y[i](4/np.pi)*np.sum(np.sin(k*x[i])/k) # print(t) # print(f) plt.plot(x,y) plt.show() 二&#xff0c;生成锯齿波和三角…

解决TeamViewer访问超时限制的问题

一、卸载TeamViewer:找到安装路径&#xff0c;点击uninstall卸载 二、修改MAC地址 1、查看现有的mac地址&#xff1a;打开cmd界面&#xff0c;输入ipconfig/all 按回车&#xff0c;红框标记为无线局域网mac地址。 2、修改现有无线局域网mac地址 &#xff08;1&#xff09;按住…

Linux系统中的load average

1. load average 定义 linux系统中的Load对当前CPU工作量的度量。简单的说是进程队列的长度。 Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。 通过系统命令"w"查看当前load average情况 上边0.31&#xff0c;0.30&#xff0c;0.31表示 第一位0.…

工业机器人原来可以这么酷,马斯克和中国美的都对它青睐有加

来源&#xff1a;机器人大讲堂摘要&#xff1a;工业机器人或许是大家认为最枯燥的机器人之一了吧&#xff1f;每次机器人展会上&#xff0c;工业机器人的展位总会备受冷落&#xff0c;硬邦邦的机械臂相比呆萌可爱的服务机器人总是少了那么几分吸引力。但是&#xff0c;我们也不…

100年前没人信他,但他仅1项研究便远程摧毁万架飞机……

来源&#xff1a;世界科技创新论坛摘要&#xff1a;他是爱迪生最强大的对手&#xff0c;也是一个一生独立开发并取得专利700种&#xff0c;合作开发达1000种以上的科学狂人。科学界有一个普遍共识&#xff0c;人类历史上曾经存在过两个公认的旷世天才&#xff1a;达芬奇和尼古拉…