【Linux】编辑器的天花板vim

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

​🌠 作者@阿亮joy.
🎆专栏《学会Linux》
🎇 座右铭每个优秀的人都有一段沉默的时光那段时光是付出了很多努力却得不到结果的日子我们把它叫做扎根
在这里插入图片描述

目录

👉前言👈

在 Window 环境下我们可以在 Visual Studio 软件上编写、编译、运行和调试我们的代码也上面可以写 C语言代码也可以写 C++代码等等。那么这种跨语言、跨功能的软件就叫做集成开发环境。而在 Linux 系统下我们的开发工具是一个一个分开的我们编写、编译和调试代码都是使用不同的工具的。那么本篇博客就带着大家学习编写代码的工具vim。

👉vim的基本概念👈

vim 是什么呢vim 其实是一款功能强大具有多种模式的编辑器。

知道了 vim 是一款编辑器那么我们就来简单地看看如如何使用 vim 来编写 C语言代码。

vim 文件名	#创建或打开文件

在这里插入图片描述
在这里插入图片描述
以上的操作大家都不需要做先。上图的操作在下文我们将会学到。

在上面我们说到 vim 是一种多模式的编辑器。那 vim 有多少中模式呢vim 总共有 13 中模式但是最常用的模式就只有 3 中分别是命令模式、插入模式和底行模式。

  • 命令模式打开 vim 之后的默认模式在该模式下输入的所有东西都会被看做命令。退出 vim 需要输入 : wq保存并退出。
  • 插入模式在该模式下才可以进行代码的编写。进入插入模式需要在命令模式下输入 i、a 或 o等等。回到命令模式摁下 Esc 键。
  • 底行模式在该模式下可以进行文件保存或退出也可以进行文件替换找字符串列出行号等操作。进入底行模式需要在命令模式下摁下 :键。在底行模式下输入:help vim-modes可以查看 vim 的所有模式。

在这里插入图片描述

命令模式是 vim 编辑器的初始模式从该模式可以实现到任何模式的切换而插入模式和底行模式之间不能相互切换。因为在插入模式下任何输入的字符都被认为是编辑到某一个文件的内容而不是命令在底行模式下任何输入的字符都被看做是底行命令尽管是不合法的两者都必修通过命令行模式才能进入对方即需要先摁下 “Esc” 模式回到命令模式。

👉命令模式👈

命令模式的意义使用各种命名来提高编辑效率

进入插入模式

命令功能说明
i从光标所在的位置开始插入新的字符
I从光标所在行的行首开始插入新的字符
a从光标所在位置的下一个字符开始插入新的字符
A从光标所在行的行尾开始插入新的字符
o增加一行并将光标移动到下一行的开头开始插入新的字符
O在当前行的上面增加一行并将光标移动到上一行的开头开始插入新的字符

进入底行模式

在命令模式下输入 “:”、“/” 或者 “?”即可进入底行模式。在该模式下用户输入的任何字符串都会被当成命令会在 vim 的最下面一行显示摁下回车键后会执行该命令。如果该字符串不是一个有效的命令则会出现错误提示。

底行模式下的常用命令

命令功能说明
w保存文件但不退出 vimwwrite
w!对于只读文件强制保存修改的内容但不退出 vim
q退出 vim如果文件有过修改则必须先保存文件
q!强制退出 vim 而不保存文件
wq保存文件并退出 vim
x保存文件并退出 vim
x!强制保存文件并退出 vim
E在 vim 中创建新的文件并为文件命名
N在本 vim 窗口中打开新的文件
w 文件名拷贝当前文件内容生成指定的文件名的文件不退出vim
wq 文件名拷贝当前文件内容生成指定文件名的文件并退出 vim
wq! 文件名强制拷贝当前文件内容生成指定文件名的文件并退出 vim
r 文件名读入指定文件的内容插入到光标所在的位置
set nu在 vim 的每行开头处显示行号
set nonu取消行号
s/pattern1/pattern2/g将光标所在行的字符串pattern1替换为pattern2
%s/pattern1/pattern2/g将所有行的字符串pattern1替换为pattern2
g/pattern1/s/pattern2将所有行的字符串pattern1替换为pattern2
/查找匹配字符串功能输入 “/字符串”系统便会自动查找并突出显示所有找到的字符串然后转到找到的第一个字符串。如果想继续向下查找可以摁 “n” 键向上查找则摁 “N” 键
?也可以使用 “?字符串” 来查找指定的字符串它的使用与 “/字符串” 相似但它是向前查找字符串
vs 文件名创建或打开文件并分屏只有一个光标
Ctrl + ww将光标切换到下一个文件
!Linux指令不退出 vim 执行Linux指令再摁一下 “q” 键退出

光标的意义选中行或者屏幕进行操作。

移动光标

命令功能说明
$将光标移动到该行的行尾
^将光标移动到该行的第一个非空字符处
0将光标移动到该行的行首
G将光标移动到文件最后一行的第一个非空字符处
nG将光标移动到文件第n行的第一个非空字符处
gg将光标移动到文件第一行的第一个非空字符处
w将光标向后移动一个字
nw将光标向后移动n个字
b将光标向前移动一个字
nb将光标向前移动n个字
h向左移动光标
j向下移动光标
k向上移动光标
l向右移动光标
上下左右键向上下左右移动光标
Ctrl +b向上翻一页
Ctrl +f向下翻一页
Ctrl +u向上移动半页
Ctrl +d向下移动半页
Ctrl +y向上翻一行
Ctrl +e向下翻一行

老式键盘

在这里插入图片描述
在这里插入图片描述

复制粘贴

命令功能说明
yy复制光标所在行的整行内容
nyy复制从光标所在行开始向下的n行内容n为正整数表示复制的行数
p粘贴将复制的内容粘贴在光标所在行的下一行
np将复制的内容粘贴n次
yw复制光标所在单词的内容
nyw复制从光标所在字开始向后的n个字

删除剪切

命令功能说明
dd删除光标所在行
ndd删除光标所在行及其向下n-1行
x删除光标所在位置的字符
X删除光标所在位置的前一个字符
nx删除光标所在位置及其向后的n-1个字符不超过当前行
nX删除光标所在位置及其向前的n-1个字符不超过当前行
dw删除光标所在位置的字
ndw删除光标所在位置及其向后的n-1个字
d0删除当前行光标之前的所有字符
d$删除当前行光标之后的所有字符
ndk删除光标所在行及其向上n行
ndj删除光标所在行及其向下n行

注删除内容后再输入粘贴命令进行粘贴。

其他命令

命令功能说明
~字符大小写切换
r替换光标所在位置的字符如rx是指将光标所在位置的字符替换为x
nr将光标所在位置的字符及其向后n-1个字符替换为指定字符
R替换光标所到之处的字符直至摁下 “Esc” 键为止
u表示恢复功能即撤销上一次的操作
Ctrl + r撤销上一次的u操作
U取消对当前行所做的所有修改
ZZ保存文档后退出 vim 编辑器
cw删除光标所在位置的字并进入插入模式
cnw删除光标所在位置的字及其向后n-1个字并进入插入模式

👉vim的配置原理👈

  • vim 的配置是一人一份的一个用户配置的 vim 是自己的不影响别的用户。
  • 每个人虽然用的是同一个 vim 程序但是大家用的是不同的 vim 配置。每个用户在自己的家目录都有一个属于自己的配置文件.vimrc
  • 通过用户的家目录是没有.vimrc的需要自己创建。
  • 所谓的 vim 基本配置就是修改自己的.vimrc文件不要动任何不属于自己的配置文件。

常见配置选项

我们在自己的家目录输入vim .vimrc创建 vim 的配置文件然后再文件内输入一下配置选项。

  • 设置语法高亮: syntax on
  • 显示行号: set nu
  • 设置缩进的空格数为4: set shiftwidth=4

以上是一些常用的配置选项如果想要知道更加全面的 vim 配置选项可以自行搜索 vim 配置大全。

source .vimrc	#使.vimrc配置文件生效

关于 vim 也有很多好玩的插件如果大家想要配置的话也可以自行搜索如何配置 vim 插件。

👉vim的一键配置👈

  1. 打开 gitee搜索 vimforcpp并点击进去

在这里插入图片描述
2. 点击进去后向下滑动至下图位置

在这里插入图片描述
3. 复制上图链接粘贴至 Linux 系统上按下回车键并输入 root 密码进行安装

在这里插入图片描述
4. 安装完成后复制下图红色框框框住的字符串并粘贴再按下回车键。

在这里插入图片描述
5. 以上步骤完成后vim 的一键配置就完成了。你可以尝试用 vim 来编写 C/C++ 代码了。

在这里插入图片描述
6. 将缩进修改为 4 个空格在家目录下输入vim .vimrc打开.vimrc配置文件。在底行模式搜索 2并将 2 全部改成 4。

在这里插入图片描述

解决无法使用 sudo 命令的问题

输入 su 指令切换成 root 用户切换成功后输入指令vim /etc/sudoers打开该文件。

在这里插入图片描述
注可能不允许写入那么我们可以输入 w! 和 q! 指令强制写入并退出。完成以上步骤我们就能够执行 sudo 命令了。

👉总结👈

本篇博客主要讲解了 vim 编辑器vim 编辑器三种最常用的模式命令模式的各种命令、底行模式的一些命令以及 vim 的配置原理和一键配置等等。那么以上就是本篇博客的全部内容了如果大家觉得有收获的话可以点个三连支持一下谢谢大家💖💝❣️

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: linux