当前位置: 首页 > news >正文

linux 学习 2.vim学习指南

vim

vim是一款功能及其强大的编辑器,我们需要掌握其基本的操作才能数量的使用他

如果你想要功能更加丰富的vim获得代码补全之类的复杂功能,强烈建议你安装一下vimplus,可以参考这里vimplus

官方教程

建议学习的时候直接跟着教程一步步操作,非常简单大概30多分钟你就能领略一遍vim的基础操作

vimtutor

在这里插入图片描述
这是一个大概900页的教程,你可以跟随教程一步步操作,逐渐熟悉vim的操作

建议看英文版本,熟悉一下英文,如果你想看中文可以采用如下命令

在这里插入图片描述

这里讲解一下如何调节字体的大小,其实这里的大小实际上是你的终端字体大小,通常你直接采用ctrl+鼠标滚轮就能调整了,注意要退出vim 然后可能有的是ctrl++/- 我的是xshell滚轮即可,试了一下Windows的powershell 用滚轮也可

如何查看官方文档

vimtutor的教程只包含一些基础的操作,如果你想要查看学习完整的vim的文档

建议学完vimtutor再查看官文

你可以直接在vim中按下命令:help即可以
在这里插入图片描述
在这里插入图片描述
可以看到这里有非常多的小教程
你可以在vim中使用

:help usr_01.txt # help后面换成你想要了解的内容

即可查看
或者是将光标移动到对应的位置按下ctrl+]即可以跳转,ctrl+o可以回来(这是字母o)

在这里插入图片描述
不要直接看这个,而是先完成vimtutor掌握最基本的操作

官方文档是给你查阅的而不是通篇阅读,除非你想研究他

这里给出官方文档的网址,当然还是建议你直接在vim里面查看,顺便熟悉光标的移动

官方链接
中文文档

基本操作

强烈建议跟随vimtutor学习多练习几遍

vim 的主要逻辑是命令加动作,操作基本都可以组合而成,所有需要学会如何移动光标,结合上命令即可完成操作

基本模式

在这里插入图片描述

在使用命令的时候记得按esc退回普通模式

光标移动

在这里插入图片描述
hjkl最基础的光标移动不做过多解释
注意使用的时候你的右手食指放在j上面即可 中指k,无名指l你便能感受到操作的感觉,注意多加练习

光标命令的操作
本来想简要的写一下基本移动操作,看了一些官方文档,感觉非常直观简单,在此建议直接看官文吧

光标移动
中文光标移动

命令含义
h向左移动一个字符
j向下移动一个字符
k向上移动一个字符
l向右移动一个字符
[n]-向上移动n行
[n]+向下移动n行
:[n]或[n]G移动到第n行
gg移动到文件的第一行
G移动到文件的最后一行
^移动到这一行的第一个非空白字符处
$移动到行尾
w下一个单词的词首
b上一个单词的词首
W(按空格)下一个单词的词首
B(按空格)上一个单词的词首
t)向后查找,将光标移动到)的前一个字符
T"向前查找,将光标移动到"的后一个字符
f)向后查找,将光标移动到)
F)向前查找,将光标移动到"

我也提供一些常用的供你查看

删除文本

删除类似windows的剪切,会将删除的内容复制到剪切版里面
使用组合键action+motion来完成多样化的删除

命令含义
x删除一个字符
dw删除一个单词
[n]dw或d[n]w删除n个单词
dd删除一行
[n]dd或d[n]d删除n行
:[m],[n]d删除m,n行
d^删除到行首
d$删除到行尾
dt)删除到)
dt"删除到"

复制(yank)文本

命令含义
yy复制一行
[n]yy或y[n]y复制n行
:[m],[n]y复制[m,n]行
yw复制一个单词
[n]yw或y[n]w复制n个单词
yt)复制到)
yt"复制到"

修改(change)文本

修改其实就是删除操作和进入编辑的组合

命令含义
cc/S删除当前行进入编辑
[n]cc/[n]S删除n行进入编辑
cw删除一个单词进入编辑
[n]cw/c[n]w删除n单词进入编辑
c^删除到行首进入编辑
c$删除到行尾进入编辑
ct)删除到)进入编辑
ct"删除到"进入编辑
c[n]G删除到第n行进入编辑
cG删除到文件末尾进入编辑

粘贴撤销和恢复

命令含义
p或P粘贴
u(undo)撤销
ctrl+r恢复

单独一个r是replace替换光标所在字符

查找和替换

支持正则表达式

命令含义
/pattern从光标所在位置向后查找匹配pattern的内容
?pattern从光标所在位置向后查找匹配pattern的内容
n移动到下一个匹配项
N移动到上一个匹配项

替换

:s/pattern/replace/选项 将匹配pattern的内容替换为substitute

  1. :s/pattern/substitute 只会替换光标所在行的第一个匹配项
  2. :s/pattern/substitute/g 替换光标所在行的所有匹配项
  3. :[m],[n]s/pattern/substitute/g 替换[m,n]行的所有匹配项
  4. :%s/pattern/substitute/g 替换全文的匹配项

对文件相关的操作

命令含义
:w将buffer里的内容写入文件,即保存
:q退出
:q!不保存退出
:wq保存退出

vim前缀原则,只要字母可以唯一确定一个命令就可以使用

q:quit
w:write

多窗口操作

命令含义
:split(:sp)水平分割
:new水平分割
:vsplit(:vsp)垂直分割
:vnew垂直分割
[ctrl]+ww切换窗口
:wall保存所有修改过的窗口
:qall退出所有窗口
:only保留当前窗口,关闭其他窗口

建议新手直接用vimtutor学习

如果有想指导的东西直接看官方文档,这是最全面的学习一手资料

相关文章:

  • Azure 私有端点和存储帐户用例
  • 2026《数据结构》考研复习笔记二(C++面向对象)
  • MVC/MVVM 高级应用的深度解析
  • 深入理解 Linux 权限管理:从 Shell 到文件权限
  • PyTorch生成式人工智能实战(1)——神经网络与模型训练过程详解
  • pytorch学习02
  • 人工智能 - browser-use:重新定义浏览器自动化的 AI 新范式
  • 【Leetcode 每日一题 - 补卡】2537. 统计好子数组的数目
  • 【Kubernetes基础--Service深入理解】--查阅笔记4
  • LeetCode【剑指offer】系列(位运算篇)
  • 观察者模式:从博客订阅到消息队列的解耦实践
  • 【面试向】梯度消失和梯度爆炸,激活函数?权重初始化?归一化?
  • Actor-Critic(演员评论家算法)基础解析与代码实例:稳定倒立摆
  • Mac idea WordExcel等文件git modify 一直提示修改状态
  • NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?
  • 1.Axum 与 Tokio:异步编程的完美结合
  • 聊聊Spring AI Alibaba的PdfTablesParser
  • 机器学习简介
  • 【LeetCode Solutions】LeetCode 166 ~ 169 题解
  • vue2.x Echart label根据数据长度选择不同的间隔显示
  • 墨海军训练舰在纽约撞桥,墨总统:对遇难者表示悲痛,将跟进调查
  • 梅花奖在上海|湘剧《夫人如见》竞梅,长沙文旅来沪推广
  • 讲座预告|以危机为视角解读全球治理
  • 人民日报:从“轻微免罚”看涉企执法方式转变
  • 3年多来俄乌要首次直接对话?能谈得拢吗?
  • 绿景中国地产:洛杉矶酒店出售事项未能及时披露纯属疏忽,已采取补救措施