笑谈vim的快捷方式和简易配置

开发工具类型的认识:

在我们的日常的开发中一般有两种选择的编程工具:

1.编译器:写代码的"笔"(负责创建和修改源文件)

代表有vs devc++...

  1. 编辑器:翻译代码的"翻译官"(负责把人类可读的代码转为计算机可执行的指令)

代表有: vim vscode...

vim的键盘图:

在vim操作的时候也有对应的快捷方式这就是大概的键盘图:

vi与vim的区别:

当然在学习的时候我们可能听说过vi,vi也是一款编辑器,我们可以理解为vim是vi的加强版,vim也不只适用于Linux , 也可以用于windows, mac... 而我们现在是使用的操作系统是Liunx。

vim的基本概念:

在vim的操作中我们有三大常用的模式,分别为1.命令模式,2. 底行模式 3.写入模式。

接下来我们深入的理解一下这三种模式的功能:

三大模式:

1.命令模式:

该模式能后输入一些命令,但不能对文件进行写,可以读。 我们想要进行写要进入插入模式(键盘输入i进入插入模式)。当然我们也可以进入底行模式(输入**shift+; =:**进入低行模式)。

2.插入模式:

该模式可以对文件的内容进行修改。 当然我们想要输入的时候也可以进入命令模式(Esc)

3.底行模式

给模式可以把命令行调出来我们可以进行设置行号(set nu)和保存退出(wq)。 我们也可以进入命令模式(Esc)。

问题一:

插入模式和底行模式能进行相互的转换吗???

答: 不能, 但是我们可以通过命令模式当作中介进行转换。

例: 我先是插入模式我想要进入底行模式,该怎么办呢? 我们可以先输入Esc进入命令模式再写入:进入底行模式。

三大模式的原理图:

vim的使用:

先在给出大家两种配置方式:

1. touch + vim

2. 直接vim

他会直接的生成对应的源文件。(有则进入,无则新建之)

vim常用指令和快捷键的使用:

i :

从命令模式进入插入模式。

Esc:

从其他(插入模式, 底行模式...)模式进入命令模式。

: :

命令模式进入底行模式。

w:

写(写入插入模式进行插入的代码)

q :

退出(退出vim)

!:

强制(一般配合q进行强制退出)

yy :

复制(复制这一行的内容)--->这一行指的是光标指向的那一行。

++数字++ yy: 复制++数字++行代码(从光标的位置开始向下数数字行进行复制)。

p:

粘贴。

++数字++ p: 将复制的内容复制++数字++遍。

gg:

将光标跳转到第一行的第一个字符的位置(帮助我们快速的进行回到首行)。

GG/shift+G:

光标跳转到尾行(能快速的定位尾行)。

++数字++ + GG/shift+G: 跳转到++数字++行。

h :

光标左移。

j :

光标下移。

k:

光标上移。

l:

光标右移。

++数字++ h,j,k,l:表示连续跳动++数字++次字符。

DD:

剪切光标后续的内容(输入p就能够将剪切的内容给回复出来)。

dd:

剪切光表的这一行(输入p就能够将剪切的内容给回复出来)。

U:

撤销,撤回上一级操作(方式后悔使用w可继续U,但是使用q退出在使用无法进行使用)。

ctrl+r:

回复撤销。

ZZ:

退出

w:

以单词为单位向后进行移动。(到了下一行就直接换行)

B:

以单词为单位向前移动移动。

shift+ ^ :

光标回到此行的开头。

shift +$:

光标移动到此行的尾端。

X:

删除一个字符(光标所在位置的字符)。

++数字+++X:

删除++数字++个字符。

shift +X :

光标左侧不动开始删除右侧的数据。(删除后P一下就出来最后删除的那一个字符了)。

R:

进入REPLACE(切换)模式, 开始替换光标所在位置的字符。

数字 +R :

连续替换数字个字符。

shift+~:

大小写切换,光标向后移动一位。

ctrl +v:

进入视图模式(v-Block): 非常的实用,我们一般用于批量化的注释。

具体操作: ctrl+v 进入视图模式+(hjkl)进行区域的选择 + (shift+i) 进入插入模式+(//)具体的想要意见化的操作+(Esc)就可完成一键化的操作了。

shift + # :

选中单词(并添加高亮)。 n从上到下的查找选中的单词。

ctrl + b:

屏幕往"后"移动一页

ctrl + f :

屏幕往"前"移动一页。

ctrl + u :

屏幕往"后"移动半页 。

ctrl + d :

屏幕往"前"移动半页。

操作模式的补充:

底行模式命令:

set nu:

设置行号。

set nonu:

取取消设置行号。

vs+文件名:

添加其他文件。ctrl+ww:实现文件之间的替换(从当前文件跳转到另一个文件)。

wq:

保存退出。

!ls -l:

查看该文件所在目录下的文件。

!+ 命令:

可以在编译中进行操作命令(gcc...)。

%s/要替换的数据(src)/ 替换为的数据/:

一键替换。

/字符:

将对应的字符进行高亮出来。

vim使用的小技巧:

假如说我现在代码有点错误

提示我第十行有错,我们默认进入的都是第一行, 而我们输入vim +文件名+ 数字可以直接的进行跳转到第数字行。

如果我们想要执行最近使用的一次命令我们不想在进行输入了我们可以!+字符来进行最近一次命令的再次执行。

vim的配置:

我们进行vim的配置要进行.vimrc的一个文件

复制代码
vim .vimrc

进行一些操作这样的化我们可以进入第一行: set nu 来进行设置行号。

一键配置记住要用普通用户在家目录下进行安装:

配置链接:

适用于unbutu

git的常用配置和一键部署

相关推荐
minji...2 小时前
Linux 网络套接字编程(三)UDP服务器与客户端实现:Windows与Linux通信,新增字典翻译功能的 UDP 通信
linux·服务器·开发语言·网络·windows·算法·udp
嵌入式×边缘AI:打怪升级日志2 小时前
DHT11 驱动开发实录:从零搭建 Linux 字符设备驱动框架(保姆级教学)
linux·运维·驱动开发
艾莉丝努力练剑2 小时前
【Linux网络】计算机网络入门:网络通信——跨主机的进程间通信(IPC)与Socket编程入门
linux·运维·服务器·网络·c++·学习·计算机网络
炘爚2 小时前
Linux :进程间通信(IPC)与信号
linux·进程间通信
Lfei51202 小时前
Centos 9 stream部署zabbix7.0.25(最新)
linux·运维·centos
枫叶落雨2222 小时前
服务器下载两个jdk
linux·运维·服务器
Elivs.Xiang2 小时前
基于docker安装MySQL、RabbitMQ、ElasticSearch、minio
linux·mysql·elasticsearch·docker·rabbitmq
Jason_zhao_MR2 小时前
基于米尔RK3576核心板的国产割草机器人解决方案
大数据·linux·人工智能·单片机·物联网·机器人·嵌入式
相思难忘成疾2 小时前
Linux SSH免密登录实验:基于Xshell的公钥认证机制
linux·运维·ssh·rhce