linux笔记10--编辑器之神VIM

news/2024/6/30 10:06:30

文章目录

  • 1. 简单介绍
    • ① 为什么叫vim
    • ② linux常见的编辑器
    • ③ 注意事项
    • ④ 其它
  • 2. 操作模式的划分
    • ① 两种 -- 国际上
      • 普通模式(命令操作模式)
      • 插入模式
    • ② 三种 -- 国内
      • 普通模式
        • 如何进入与退出
        • 界面
      • 插入模式
        • 如何进入与退出
        • 界面
      • 命令模式
        • 如何进入与退出
        • 界面
        • 常见的命令模式
    • ③ 区别
    • ④ 其它
  • 3. 命令
    • ① 移动光标
    • ② 翻页
    • ③ 不同方式编辑文本以及跳跃单词
      • 编辑文本
        • 插入
        • 删除
        • 撤销操作
      • 跳跃单词
    • ④ 跳跃行首行尾
    • ⑤ 大括号跳跃函数段落
    • ⑥ 替换字母
    • ⑦ 光标移动到代码首行的开头
    • ⑧ 访问当前目录所有文件夹
    • ⑨ 注意
  • 4. vim复制剪切粘贴
    • ① 复制
      • 缺点
    • ② 粘贴
    • ③ 剪切
  • 5. Visual可视化模式
    • ① 作用
    • ② 操作方式
      • 删除或选择全部代码
        • 光标移动到所选文本的开头或结尾
      • 矩阵选择
      • 补全角落
      • 向上选择文本
      • 快速选择某个单词
      • 快速删除或替换某个单词
    • ③ 视图模式其它用法
      • 代码缩进
      • 大小写转换
  • 6. 查找和替换
    • ① Windows中记事本
    • ② Linux中vim
      • 查找
      • 替换
        • ① 替换单个
        • ② 替换整行
        • ③ 替换整个文件的(替换全局文档)
        • ④ 替换指定行(全局替换)
          • 临时显示行号
          • 跳跃到指定行
        • ⑤ 全局替换带提示(②的升级):
  • 7. vim的基础配置
    • ① ll查看home目录
    • ② 创建.vimrc文件
    • ③ 配置vim
    • ④ 更新当前终端
    • ⑤ 检测是否配置成功
  • 8. 推荐

1. 简单介绍

① 为什么叫vim

① GNU中的开发人员把 vi 移植到 linux 当中以后,他们就不能再用 vi 这个名字了。
② 准确来说,vim只是一个简称,全称应该是vi improved

② linux常见的编辑器

命令版:
vi – 原始Unix最初使用的编辑器
nano
emacs – 神的编辑器 用的多
vim – 编辑器之神 用的多
界面版:
KWrite
Gnome
注:
① Ubuntu自带的编辑器:text editor
② 服务器都是server版(纯命令)的,没有界面版

③ 注意事项

① 使用vim之前必须先安装vim,因为它自带的库有些有问题
② centos上显示的可能不是vim,而是vi
在这里插入图片描述

④ 其它

① vim好处很多,例如:可以快速跳转到长文档的开头或者末尾等,在下面的小节中可以感受到
② vim不太容易上手,需要一段时间适应(其实主要由于习惯问题),而且vim不安装插件就没有任何代码提示。因此,业界里有一个吹牛的话:牛逼的人总是想办法让工具变得更难用,来提高自己
③ 使用vim的两种人:1. 临时需要用服务器写一些东西(文档、配置、脚本等)或者编辑一些东西;2. 单纯喜欢vim
④ vim的使用与否也要根据个人习惯而言
⑤ 当今世界最流行的还是vim
⑥ 好的工具和插件确实帮助我们提高了开发效率,但从某种角度来说不能提高我们的水准
⑦ vim

2. 操作模式的划分

① 两种 – 国际上

普通模式(命令操作模式)

普通模式:操作文件的时候 (例如:查找、撤销、复制粘贴、全选、翻页、保存等)

插入模式

插入模式:编辑文件内容的时候

② 三种 – 国内

普通模式

普通模式:操作文件的时候 (例如:查找、撤销、复制粘贴、翻页、全选等)

如何进入与退出

进入:vim + 文件名在这里插入图片描述
退出:冒号 + q 具体参见下述命令模式这一部分中常见的命令模式这一部分

界面

在这里插入图片描述

插入模式

插入模式:编辑文件内容的时候

如何进入与退出

进入:普通模式下按一下 i 即可 (原因:插入的英文是insert)
退出:Esc键

界面

在这里插入图片描述

命令模式

命令模式:普通模式输入冒号的一瞬间就进入了命令模式

如何进入与退出

进入:普通模式下按一下 shift + ; (即输入冒号)即可
退出:Esc键

界面

在这里插入图片描述

常见的命令模式

① :w – 只保存不退出 (w代表write,写入文件的意思)
② :q – 退出 (q代表quit,退出的意思)
③ :wq – 保存退出
④ :q! – 不保存退出

③ 区别

国内把用命令退出普通模式这个阶段,单独分离了出来,并且命名为命令模式。

④ 其它

我们可以发现在桌面版里用vim打开代码时,存在高亮;但是 server版里没有高亮(不过高亮效果可以后期自己设置,vim中的很多东西是可以调整的) 。

3. 命令

① 移动光标

通常情况下:方向键上下左右
在这里插入图片描述
vim:
h:向左
j:向下
k:向上
l:向右

注:
① vim被称为编辑器之神,是因为用它写代码时可以将双手绝对的投放在左半边键盘上
hhkb键盘没有方向键的目的就是,尽可能地避免使用方向键,减少时间消耗。
③ 一些大佬喜欢使用mbp(全称:MacBook Pro,苹果公司生产的一款笔记本电脑型号)编写代码

② 翻页

通常情况下:
PgUp:向上
PgDn:向下
在这里插入图片描述
vim:
Ctrl + F:下一页
Ctrl + B :上一页
Ctrl + E:向下 滚动翻页
Ctrl + Y:向上 滚动翻页
G :移动到文档最后一行
gg:移动到文档第一行
注:VIM中所有的命令区分大小写

③ 不同方式编辑文本以及跳跃单词

编辑文本

插入

i(insert):光标位置之前插入字符
a(append):光标位置之后插入字符

o:直接enter到下一行输入(无论你在当前行的哪个位置)

删除

x:删除光标所在字符
dd:删除光标所在行
dw:删除光标当前位置到当前单词的结尾(包括空格)的文本

撤销操作

u:撤销操作

跳跃单词

b(back):跳跃首字母(即将光标移动到当前或前一个单词的开头)
e(end):跳跃尾字母(即将光标移动到当前或下一个单词的结尾)
w(word):跳跃至下一个单词的首字母

大跳:
shift联合操作 – 只找大单词,忽略标点符号和空格
shift + b
shift + e
shift + w

④ 跳跃行首行尾

shift + 6 (^):跳跃到本行的开头
shift + 4($):跳跃到本行的末尾
0:直接跳到本行开头(包含空白字符)

⑤ 大括号跳跃函数段落

大括号相当于一个段落(代码块)
{ :跳至段落开头
} :跳至段落结尾
注:可以写个类似代码查看效果
在这里插入图片描述

⑥ 替换字母

r:替换光标所在字母(按下字母 r -> 按下要替换成的字母)
R:替换光标所在字母后还可以一直输入,直到按了Esc键退出

⑦ 光标移动到代码首行的开头

gg

⑧ 访问当前目录所有文件夹

vim .
在这里插入图片描述
仍然通过h j k l上下左右移动在这里插入图片描述
想要编辑哪个文件就把光标移到到哪个文件,然后回车

⑨ 注意

① 普通模式下,尽量不要使用Backspace键(退格键)和Delete键,因为vim中的Backspace和Delete有时候可能会代表一些命令
② 插入模式下,尽可能别使用Backspace键

4. vim复制剪切粘贴

vim中有一个专门的缓冲区,记录复制、剪切、删除的数据

① 复制

yw:复制一个单词(从当前字符开始到当前单词的末尾,包含空格)
y$:从当前字符开始往后复制到行末尾

缺点

只有粘贴出来才知道复制了什么

② 粘贴

p(put):释放(即将最后一次复制或者剪切文本粘贴到当前光标位置之后)

③ 剪切

vim中准确来说没有剪切的概念。
dd(dw等删除操作) -> 光标移动到目标位置 -> p:可以理解为剪切操作

5. Visual可视化模式

① 作用

在不借助鼠标的情况下选择文本(借助 h j k l 键)

② 操作方式

普通模式下按 v 或 V 键 进入可视化模式
V(visual):只能按行复制
v(visual):可以借助h j k l 键上下左右随意复制,甚至可以使用之前学过的跳跃命令 (如:使用w键跳跃单词复制)
y:文本选择结束
p:粘贴
d:删除
gg:普通模式下移动到首行代码开头在这里插入图片描述

删除或选择全部代码

① 删除:
gg(移动到首行代码开头) -> v -> G(全选) ->d
② 全选:
gg -> v -> G ->y

光标移动到所选文本的开头或结尾

o键

矩阵选择

Ctrl + v
在这里插入图片描述
例子(同时操作多行):
步骤一:ctrl +v
在这里插入图片描述
步骤二:y
在这里插入图片描述
步骤三:p
在这里插入图片描述

补全角落

v -> 0 或者 ctrl + v -> 0均可

向上选择文本

v -> -(减号) 或者 V -> - 或者 ctrl + v -> -均可

快速选择某个单词

在单词任意角落:
① v -> a -> w
② v -> a -> b(包含’ () ‘括号)
③ v -> a -> B(包含’ { } ‘括号)
④ v -> a -> < 或者 v -> a -> > (包含’ <> '括号)
了解更多

快速删除或替换某个单词

光标放在单词开头:① 删除:v -> e -> c ② 替换:v -> e -> c -> 替换成的字符

③ 视图模式其它用法

代码缩进

缩进一行(不进入视图模式):i -> Tab
缩进很多行(视图模式):shift -> >
取消缩进(视图模式):shift -> <

大小写转换

shift + ~ (普通模式下也有效):大写变小写 小写变大写
选择文本后 -> 按U:全转换成大写
选择文本后 -> 按u:全转换成小写

6. 查找和替换

① Windows中记事本

编辑 -> 查找(替换)在这里插入图片描述
输入查找内容(替换内容)
在这里插入图片描述

② Linux中vim

查找

查找模式: / + 要查询的内容(+ 回车)
继续向下查询:n
例如:
① 输入完查询内容:
在这里插入图片描述
② 回车(下方白块消失,上方绿色方块不停闪烁):
在这里插入图片描述
③ 按n:绿色方块移动到下一个int位置,然后不停闪烁

替换

命令模式

① 替换单个

冒号s/替换的内容/替换成什么(+ 回车)
例如:
在这里插入图片描述

② 替换整行

冒号s/替换的内容/替换成什么/g(+ 回车)

③ 替换整个文件的(替换全局文档)

冒号%s/替换的内容/替换成什么(+ 回车)

④ 替换指定行(全局替换)

冒号 替换起始行,替换到哪一行s/替换的内容/替换成什么/g(+ 回车)
例如(将9-20行的int替换为long):
在这里插入图片描述
在这里插入图片描述

临时显示行号

冒号set number

跳跃到指定行

行号 + gg
例如跳跃到50行:直接50gg就行,不用输入冒号

⑤ 全局替换带提示(②的升级):

冒号s/替换的内容/替换成什么/gc(+ 回车)
c:comment – 注释、提示
例如(一个一个确认是否用long替换当下的int):
在这里插入图片描述

7. vim的基础配置

VIM和编辑器一样,可以配置主题、颜色、输入方式和习惯等内容

① ll查看home目录

发现没有所需的vim文件,只有一个.viminfo
在这里插入图片描述

② 创建.vimrc文件

touch .vimrc
在这里插入图片描述

③ 配置vim

配置vim:用vim编辑.vimrc文件中的内容
在这里插入图片描述
在这里插入图片描述
set syntax=on:常亮
set tabstop=4:每个tab之间的空当(开发时的要求,目的:统一进度),现有的Tab字符会显示为4个空格宽度
set softtabstop=4:在插入模式中按下Tab键会插入4个空格
set number:显示行号
set enc=utf-8:文件编码
set showmatch:括号匹配(实际上Ubuntu已经配好了)
注:其他常用配置可以去github搜索

④ 更新当前终端

source .vimrc
在这里插入图片描述

⑤ 检测是否配置成功

用vim随便打开一个文件(发现有行号等效果,说明配置成功):
在这里插入图片描述
在这里插入图片描述

8. 推荐

frank的linux课教程 以上笔记全部来源于此

-----------------------------------未完待续...------------------------
---------------------------出现问题欢迎批评指正啊 ---------------------

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

idea中使用springboot进行开发时遇到的工程结构问题汇总

idea中的工程结构和eclipse中不同&#xff0c;但是配置的内容都是一样的。 IDEA中也就是这个页面&#xff0c;快捷键ctrlaltshifts 如果在eclipse中&#xff0c;经常会遇到jre和jdk不正确的情况&#xff0c;但IDEA中这个问题很少&#xff0c;但是IDEA中会经常由于未正常配置根…

UDP编程

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 UDP是面向消息的协议&#xff0c;如果通信时不需要建立连接&#xff0c;数据的传输自然是不可靠的&#xff0c;UDP一般用于多点通信和实时的数据业务…

DevExpress Office File API教程 - 如何使用AI服务增强Word文档可访问性和语言支持?

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库&#xff0c;不用安装Microsoft Office&#xff0c;就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…

如何利用静力水准仪进行地形沉降测量

地形沉降测量在建筑工程和地质研究中起着至关重要的作用。准确的地形沉降测量可以帮助工程师预测和预防潜在的地基问题&#xff0c;从而保障建筑物的安全和稳定。本文将详细介绍如何利用静力水准仪进行地形沉降测量&#xff0c;并探讨其在实际应用中的优势。 静力水准仪的基本原…

Http客户端-Feign 学习笔记

作者介绍&#xff1a;计算机专业研究生&#xff0c;现企业打工人&#xff0c;从事Java全栈开发 主要内容&#xff1a;技术学习笔记、Java实战项目、项目问题解决记录、AI、简历模板、简历指导、技术交流、论文交流&#xff08;SCI论文两篇&#xff09; 上点关注下点赞 生活越过…

vscode使用Black Formatter以及Flake8实现代码格式化

vscode使用Black Formatter以及Flake8实现代码格式化&#xff08;实现和pycharm相似的效果&#xff09; 简单介绍一下这两个插件的功能&#xff0c;flake8可以实现对python代码风格的检测&#xff0c;对空格换行等内容都会有提示。 Black Formatter则可以实现在保存时&#x…