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

vim怎么使用,vim使用教程,vimtutor怎么切换中文 汉化

vim 使用

在安装了 vim 的 unix 系统下可以使用 vimtutor zh_cn 开启下面的教程

序言

===============================================================================
=      欢     迎     阅     读   《 V I M  教  程 》   ——      版本 1.7       =
===============================================================================Vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅,在本教程当中就不详细介绍了。本教程的设计目标是讲述一些必要的基本命令,而掌握好这些命令,您就能够很容易地将 Vim 当作一个通用编辑器来使用了。完成本教程的内容大约需要25-30分钟,取决于您训练的时间。注意:每一节的命令操作将会更改本文。推荐您复制本文的一个副本,然后在副本上进行训练(如果您是通过"vimtutor"来启动教程的,那么本文就已经是副本了)。切记一点:本教程的设计思路是在使用中进行学习的。也就是说,您需要通过执行命令来学习它们本身的正确用法。如果您只是阅读而不操作,那么您可能会很快遗忘这些命令的!好了,现在请确定您的Shift-Lock(大小写锁定键)还没有按下,然后按键盘上的字母键 j 足够多次来移动光标,直到第一节的内容能够完全充满屏幕。

第一讲第一节:移动光标

             ** 要移动光标,请依照说明分别按下 h、j、k、l 键。 **^k              提示: h 的键位于左边,每次按下就会向左移动。< h       l >               l 的键位于右边,每次按下就会向右移动。j                     j 键看起来很象一支尖端方向朝下的箭头。v1. 请随意在屏幕内移动光标,直至您觉得舒服为止。2. 按下下行键(j),直到出现光标重复下行。---> 现在您应该已经学会如何移动到下一讲吧。3. 现在请使用下行键,将光标移动到第一讲第二节。提示:如果您不敢确定您所按下的字母,请按下<ESC>键回到正常(Normal)模式。然后再次从键盘输入您想要的命令。提示:光标键应当也能正常工作的。但是使用hjkl键,在习惯之后您就能够更快地在屏幕内四处移动光标。真的是这样!

注意

hjkl并不是特定单词的缩写。这些字符hjkl仅仅是为了方便在Vim编辑器中表示上下左右方向而选定的按键。它们没有特定的含义或单词背后的缩写。

第一讲第二节:VIM的进入和退出

  !! 特别提示:敬请阅读本一节的完整内容,然后再执行以下所讲解的命令。1. 按<ESC>键(这是为了确保您处在正常模式)。2. 然后输入:                 :q! <回车>这种方式的退出编辑器会丢弃您进入编辑器以来所做的改动。3. 如果您看到了命令行提示符,请输入能够带您回到本教程的命令,那就是:vimtutor <回车>4. 如果您自信已经牢牢记住了这些步骤的话,请从步骤1执行到步骤3退出,然后再次进入编辑器。提示: :q! <回车> 会丢弃您所做的任何改动。几讲之后您将学会如何保存改动到文件。5. 将光标下移到第一讲第三节。

注意

qquit(退出)单词缩写

第一讲第三节:文本编辑之删除

   ** 在正常(Normal)模式下,可以按下 x 键来删除光标所在位置的字符。**1. 请将光标移动到本节中下面标记有 ---> 的那一行。2. 为了修正输入错误,请将光标移至准备删除的字符的位置处。3. 然后按下 x 键将错误字符删除掉。4. 重复步骤2到步骤4,直到句子修正为止。---> The ccow jumpedd ovverr thhe mooon.5. 好了,该行已经修正了,下面是第一讲第四节。特别提示:在浏览本教程时,不要强行记忆。记住一点:在使用中学习。

第一讲第四节:文本编辑之插入

         ** 在正常模式下,可以按下 i 键来插入文本。**1. 请将光标移动到本节中下面标记有 ---> 的第一行。2. 为了使得第一行内容雷同于第二行,请将光标移至文本第一个准备插入字符的位置。3. 然后按下 i 键,接着输入必要的文本字符。4. 每个错误修正完毕后,请按下 <ESC> 键返回正常模式。重复步骤2至步骤4以便修正句子。---> There is text misng this .
---> There is some text missing from this line.5. 如果您对文本插入操作已经很满意,请接着阅读下面的第一讲第五节。

注意

iinsert(插入)单词的缩写

I键(小写):在当前光标所在字符的前面进入插入模式。

按下I键后,光标会保持在当前字符的位置,然后你可以开始输入新的文本。这对于在行的任何位置开始添加内容很有用。

第一讲第五节:文本编辑之添加

                        ** 按 A 键以添加文本。 **1. 移动光标到下面第一个标记有 ---> 的一行。光标放在那一行的哪个字符上并不重要。2. 按 A 键输入必要的添加内容。3. 文本添加完毕后,按 <ESC> 键回到正常模式。4. 移动光标到下面第二个标记有 ---> 的一行。重复步骤2和步骤3以改正这个句子。---> There is some text missing from thThere is some text missing from this line.
---> There is also some text missThere is also some text missing here.5. 当您对添加文本操作感到满意时,请继续学习第一讲第六节。

注意

aappend(添加)单词的缩写

A键(小写):在当前光标所在字符的后面进入插入模式。

按下A键后,光标会移动到当前行的末尾,然后你可以开始输入新的文本。这对于在行的末尾添加内容很方便。

第一讲第六节:编辑文件

                    ** 使用 :wq 以保存文件并退出。 **特别提示:在执行以下步骤之前,请先读完整个小节!1. 如您在第一讲第二节中所做的那样退出本教程: :q!或者,如果您可以访问另一个终端,请在那里执行以下操作。2. 在 shell 的提示符下输入命令: vim tutor <回车>'vim'是启动 Vim 编辑器的命令,'tutor'是您希望编辑的文件的名字。请使用一个可以改动的文件。3. 使用您在前面的教程中学到的命令插入删除文本。4. 保存改动过的文件并退出 Vim,按这些键: :wq  <回车>5. 如果您在步骤1中已经退出 vimtutor,请重启 vimtutor 移动到下面的小结一节。6. 阅读完以上步骤,弄懂它们的意义,然后在实践中进行练习。

注意
:wq 中的 wwrite(写入)的缩写

第一讲小结

  1. 光标在屏幕文本中的移动既可以用箭头键,也可以使用 hjkl 字母键。h (左移)       j (下行)       k (上行)     l (右移)2. 欲进入 Vim 编辑器(从命令行提示符),请输入:vim 文件名 <回车>3. 欲退出 Vim 编辑器,请输入 <ESC>   :q!   <回车> 放弃所有改动。或者输入 <ESC>   :wq   <回车> 保存改动。4. 在正常模式下删除光标所在位置的字符,请按: x5. 欲插入或添加文本,请输入:i   输入欲插入文本   <ESC>             在光标前插入文本A   输入欲添加文本   <ESC>             在一行后添加文本特别提示:按下 <ESC> 键会带您回到正常模式或者撤消一个不想输入或部分完整
的命令。好了,第一讲到此结束。下面接下来继续第二讲的内容。

相关文章:

vim怎么使用,vim使用教程,vimtutor怎么切换中文 汉化

vim 使用 在安装了 vim 的 unix 系统下可以使用 vimtutor zh_cn 开启下面的教程 序言 欢 迎 阅 读 《 V I M 教 程 》 —— 版本 1.7 Vim 是一个具有很多命令的功能非常强大的编辑器。限于篇幅&#xff0c;在本教程当中就不详细介绍了。本教程的…...

[golang gin框架] 43.Gin商城项目-微服务实战之后台Rbac微服务之管理员的增删改查以及管理员和角色关联

上一节讲解了后台Rbac微服务角色增删改查微服务,这里讲解权限管理Rbac微服务管理员的增删改查微服务以及管理员和角色关联微服务功能 一.实现后台权限管理Rbac之管理员增删改查微服务服务端功能 1.创建Manager模型 要实现管理员的增删改查,就需要创建对应的模型,故在server/r…...

2023-07-31力扣每日一题

链接&#xff1a; 143. 重排链表 题意&#xff1a; 将链表L0 → L1 → … → Ln - 1 → Ln变成L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 解&#xff1a; 线性表法还是好写的 这边搞一下翻转法&#xff0c;快慢指针求翻转点&#xff08;翻转后面一半然后双指针合并…...

接口自动化报告,生成本地服务并自动打开时失败

错误原因&#xff1a; 端口号被占用 首先可以在cmd中调出命令窗口然后执行命令netstat -ano就可以查看所有活动的链接&#xff0c;找到被占用的端口号 1、通过命令taskkill /f /t /im "进程名称" &#xff0c;根据进程的名称杀掉所有的进程。或者taskkill /f /t /p…...

Git 的基本概念和使用方式

Git 是一种分布式版本控制系统&#xff0c;它能够记录文件内容的变化&#xff0c;并且允许用户在这些变化之间轻松地进行切换。 Git 的基本概念如下&#xff1a; 1. 仓库&#xff08;Repository&#xff09;&#xff1a;Git 存放项目代码的地方。通常&#xff0c;一个仓库对应一…...

【JVM】(三) 深入理解JVM垃圾回收机制(GC)

文章目录 前言一、死亡对象的判断方法1.1 引用计数算法1.2 可达性分析算法 二、垃圾回收算法2.1 标记-清除算法2.2 复制算法2.3 标记-整理算法2.5 分代算法2.6 Minor GC 和 Major GC 前言 JVM 的垃圾回收机制&#xff08;Garbage Collection&#xff09;是 Java 中的重要特性之…...

Flink CEP(二) 运行源码解析

通过DemoApp学习一下&#xff0c;CEP的源码执行逻辑。为下一篇实现CEP动态Pattern奠定理论基础。 1. Pattern的定义 Pattern<Tuple3<String, Long, String>,?> pattern Pattern.<Tuple3<String, Long, String>>begin("begin").where(new…...

剑指Offer-学习计划(四)双指针(下)

剑指 Offer 57. 和为s的两个数字 剑指 Offer 58 - I. 翻转单词顺序 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 题目一&#xff1a;调整数组顺序使奇数位于偶数前面 输入一个整数数组&#xff0c;实现一个函数来调整该数组中数字的顺序&#xff0c;使得所有奇数在数组的…...

深度学习——常见注意力机制

1.SENet SENet属于通道注意力机制。2017年提出&#xff0c;是imageNet最后的冠军 SENet采用的方法是对于特征层赋予权值。 重点在于如何赋权 1.将输入信息的所有通道平均池化。 2.平均池化后进行两次全连接&#xff0c;第一次全连接链接的神经元较少&#xff0c;第二次全连…...

Python 进阶(七):高级文件操作(shutil 模块)

❤️ 博客主页&#xff1a;水滴技术 &#x1f338; 订阅专栏&#xff1a;Python 入门核心技术 &#x1f680; 支持水滴&#xff1a;点赞&#x1f44d; 收藏⭐ 留言&#x1f4ac; 文章目录 1. 简介2. 常用函数2.1 复制文件2.2 复制目录2.3 移动文件或目录2.4 删除文件或目录2.…...

保留网络:大型语言模型的Transformer继任者

原文信息 原文题目&#xff1a;《Retentive Network: A Successor to Transformer for Large Language Models》 原文引用&#xff1a;Sun Y, Dong L, Huang S, et al. Retentive Network: A Successor to Transformer for Large Language Models[J]. arXiv preprint arXiv:2…...

算法通关村第二关——反转链表青铜笔记

LeetCode 206.反转链表 建立虚拟结点辅助翻转 public ListNode reverseList(ListNode head) {ListNode ans new ListNode(-1);ListNode cur head;while(cur!null){ListNode curNext cur.next;cur.next ans.next;ans.next cur;cur curNext;}return ans.next; }不带虚拟头…...

【Linux】——线程安全

目录 关于线程进程的问题 可重入与线程安全 常见的线程安全的情况 常见的不可重入的情况 常见的可重入的情况 可重入与线程安全区别 可重入与线程安全联系 Linux线程互斥 进程线程间的互斥相关概念 互斥量mutex 互斥量mutex常用接口 互斥量改造抢票系统 互斥量的原…...

[React]生命周期

前言 学习React&#xff0c;生命周期很重要&#xff0c;我们了解完生命周期的各个组件&#xff0c;对写高性能组件会有很大的帮助. Ract生命周期 React 生命周期分为三种状态 1. 初始化 2.更新 3.销毁 初始化 1、getDefaultProps() 设置默认的props&#xff0c;也可以用duf…...

【2023】Redis实现消息队列的方式汇总以及代码实现

Redis实现消息队列的方式汇总以及代码实现 前言开始前准备1、添加依赖2、添加配置的Bean 具体实现一、从最简单的开始&#xff1a;List 队列代码实现 二、发布订阅模式&#xff1a;Pub/Sub1、使用RedisMessageListenerContainer实现订阅2、还可以使用redisTemplate实现订阅 三、…...

ARM裸机-10

1、X210开发板和光盘资料 1.1、配置信息 CPU&#xff1a;三星S5PV210 内存&#xff1a;512M DDR2 SDRAM Flash&#xff1a;4GB iBand LCD&#xff1a;7寸&#xff0c;分辨率800x480 触摸屏&#xff1a;电容触摸屏 2、X210开发板硬件手册 3、X210开发板刷系统 3.1、什么是刷…...

「C/C++」C/C++指针详解

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C」C/C程序设计「Win」Windows程序设计「算法」数据结构与算法「File」数据文件格式 目录 一、术语…...

提高电脑寿命的维护技巧与方法分享

在维护电脑运行方面&#xff0c;我有一些自己觉得非常有用的技巧和方法。下面我将分享一些我常用的维护技巧&#xff0c;并解释为什么我会选择这样做以及这样做的好处。 首先&#xff0c;我经常清理我的电脑内部的灰尘。电脑内部的灰尘会影响散热效果&#xff0c;导致电脑发热…...

React常见面试题

React常见面试题 一、React中的样式管理有哪些方法 内联样式&#xff1a;对象&#xff0c;作用于当前组件普通样式表&#xff1a; 作用于全局&#xff0c;文件名是&#xff1a;xxx.scssCSS模块&#xff1a;类似Vue的scoped&#xff0c; 文件名需是&#xff1a;xxx.module.scs…...

C++中数据的输入输出介绍

C中数据的输入输出介绍 C中数据的输入输出涉及到的文件 <iostream>&#xff1a;这是C标准库中最常用的头文件之一&#xff0c;包含了进行标准输入输出操作的类和对象&#xff0c;如std::cin、std::cout、std::endl等。 <iomanip>&#xff1a;该头文件提供了一些用…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

32单片机——基本定时器

STM32F103有众多的定时器&#xff0c;其中包括2个基本定时器&#xff08;TIM6和TIM7&#xff09;、4个通用定时器&#xff08;TIM2~TIM5&#xff09;、2个高级控制定时器&#xff08;TIM1和TIM8&#xff09;&#xff0c;这些定时器彼此完全独立&#xff0c;不共享任何资源 1、定…...