你需要知道vim操作 源头都在vimtutor里

vim之源:vimtutor

  • vim的五种模式
    • Normal mode(正常模式)
    • Insert mode(插入模式)
    • Visual mode(可视模式)
    • Replace mode(替换模式)
    • Command-line mode(命令行模式)
  • vimtutor原文总结
    • Lesson 1 基础操作
      • vim中的光标
      • 进入与退出vim
    • Lesson 2 文本操作(正常模式):删除
    • Lesson 3 文本操作(正常模式):复制 粘贴 替换
    • Lesson 4 操作文件:搜索、定位、保存文件
    • More and help

Vim是一个功能强大的编辑器,它有很多命令,可以让工作更高效。每次看到同事在他的电脑上飞快的操作,炫技,我都很羡慕。
昨天同事推荐我一个命名(我把它叫作命令的源泉),我才知道原来大神们都看过这个。

// 命令如下
vimtutor

进入之后可以看到一个完整的教程(虽然是英文的,但好在单词都不长)
在这里插入图片描述

你也可以把教程直接保存下来,想办法翻译成中文

// 进入vimtutor后,执行次命令整篇教程就保存下来了
:w FILENAME

:w vimtutor.txt在这里插入图片描述
到指定文件查看文件是否生成 :!ls

:!ls 

在这里插入图片描述

大神同事还说,你看这个既可以学英语又可以熟悉命令。

我如饥似渴的,今天一下午把这个教程看完了。记录下来,大家一起学习进步。
里面涉及的英语是IT常用的,我索性用英语做了笔记。为了写这篇笔记,补充了中文。

vim的五种模式

先了解下5种模式,有助于对vim有个概览。

Normal mode(正常模式)

  • Vim启动时自动处于正常模式。
  • 从插入模式退出,可以按 <ESC> 键返回正常模式。

Insert mode(插入模式)

  • i: 在光标位置前插入文本。

  • I: 在当前行的最开始处插入文本。

  • a: 在光标后插入文本。

  • A: 在当前行的最后插入文本。

  • o: 在当前行下方打开新行并进入插入模式。

  • O: 在当前行上方打开新行并进入插入模式。

  • c更改模式 删除并进入编辑模式
    c 用作一个操作符(operator),它代表“change”(更改)。当与动作(motion)结合使用时,c 操作符可以删除从当前光标位置到动作所指定的位置的文本,并将Vim置于插入模式,允许用户继续输入文本(d模式不能进入输入)

    ce: 更改(change)光标所在位置到单词末尾的内容。
    cw: 更改(change)一个单词的内容。
    c$: 更改(change)从光标所在位置到行尾的内容

Visual mode(可视模式)

  • v: 进入可视模式,可以逐个字符选择文本。
  • V: 进入可视行模式,选择整行。
  • Ctrl+v: 进入可视块模式,可以按块选择文本。
  1. 进入可视模式

  2. 选择文本:
    使用方向键 (h, j, k, l) 或文本移动命令 (w, e, b, 0, $) 来选择文本。

  3. 执行操作:

    • 选中文本后,可以使用以下命令:
      • y (yank): 复制选中的文本。
      • d (delete): 删除选中的文本。
      • c (change): 更改(替换)选中的文本。
      • ~ (tilde): 切换选中文本的大小写。
      • u (underscore): 将选中文本转换为小写。
  4. 使用计数:
    在执行操作前加上数字,如 3yw 将复制接下来的3个单词。

  5. 跨行选择:
    在可视模式下,使用 Shift 加方向键进行跨行选择。

  6. 撤销选择:
    -如果需要撤销选择,可以再次按下 vV(取决于您当前的可视模式),或者使用 o 键跳转到选择的另一端。

Replace mode(替换模式)

  • R: 开始替换模式,可以替换多个字符。

Command-line mode(命令行模式)

  • :: 进入命令行模式,可以输入如 :w, :q, :! 等命令。
  • 其中:! 进入执行外部命令模式

vimtutor原文总结

Lesson 1 基础操作

vim中的光标

Move the cursor using h (left) j (down) k (up) l (right)`

首先我们需要知道的事,我们常用的上下左右方向键 ,还可以被这四个相邻的字母替代: h j k l (尽量使用它们,会更方便,更快速)

 h (left)     在最左,所以指左移
 j (down)     j钩在下,所以指下移
 k (up)  
 l (right)    在最右,所以指右移

在这里插入图片描述

进入与退出vim

为防止误操作,在进行vim操作之前,我们最好先知道怎么退出vim。就行开车之前最好先知道如何刹车(记得命令输完后,按<ENTER>执行命令)

  1. 打开文件 vim + FILENAME (FILENAME为你本地存在的文件名)
    Start Vim: vim FILENAME
  2. 不保存退出:先按 <ESC> 然后依次键入: q !
    Exit Vim without saving: <ESC>+ :q!
  3. 保存更改
    save and exit: <ESC> + :wq

Lesson 2 文本操作(正常模式):删除

  • 删除选中字符 Delete character: x

  • 在光标插入文本 Insert text: i

  • 在光标后追加文本 append text: A

  • 删除单词(到下个词前,会删除空格等符号) Delete to next word: dw
    在这里插入图片描述

  • 删除单词(到当前单词最后一个字母) Delete to end of word: de
    在这里插入图片描述

  • 删除到行末 Delete to end of line: d$在这里插入图片描述

  • 删除整行 Delete whole line: dd
    在这里插入图片描述

  • 使用数字重复动作 Repeat motion with a number: 2w

Lesson 3 文本操作(正常模式):复制 粘贴 替换

  • 复制文本 Yank (copy) text: y,粘贴文本 put (paste) text: p
    粘贴(刚刚删除或复制的内容) Put back deleted text: p
  • 替换单个字符 Replace character: r
    如果您的光标位于字母 a 上,输入 r 然后输入 b,那么 a 将被 b 替换。恢复到正常模式
  • 开启替换模式 Replace mode: R
    如果您的光标位于字母 a 上,输入 R 然后输入 b,那么 a 将被 b 替换。继续替换下一个

Lesson 4 操作文件:搜索、定位、保存文件

  • 显示位置和文件状态 Show location and file status: CTRL+G
    在这里插入图片描述

  • 光标移动到指定行 Move to line number: linenumber + G。(注意大小写)

  • 搜索(从下到上搜索) Search forward: /searchword
    在这里插入图片描述

  • 搜索(从下到到搜索) backward: ?searchword

  • 搜索括号的另一半 Match parentheses: %
    选择括号的,按%,自动定位到另一半,很实用
    在这里插入图片描述

  • 另存为 Save file as: :w FILENAME

  • 保存选中文本 Save selected text: v motion :w FILENAME

  • 写入文件内容 Retrieve file content: :r FILENAME

  • 使用外部命令 Execute external command: :!command
    :w, :q, :!

More and help

  • 打开帮助 Open help: :help<F1><HELP>
    • 查找命令帮助 Find help on command: :help cmd
    • 跳转到另一个窗口 Jump to another window: CTRL-W CTRL-W
    • 关闭帮助窗口 Close help window: :q
  • 创建vimrc以保存设置 Create vimrc for settings: :e ~/.vimrc
  • 查找命令 Command completion: CTRL-D+<TAB>
    :e 然后CTRL+D检索与以e开头的命令,按下<TAB>选择你需要的命令
    在这里插入图片描述

大家在操作上有疑问的,可以在下面留言,我们一起探讨。
如果你有好的操作命令组合,也可以分享在这里。我们一起成长!

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

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

相关文章

Gradle 基础学习(三) 认识Command-Line Interface

Gradle命令行接口 除了IDE外&#xff0c;我们主要通过Gradle命令行接口来运行Gradle任务和管理Gradle项目。 下面是Gradle命令行使用的一些参考&#xff0c;熟悉后建议实际项目中使用Gradle Wrapper&#xff0c;gradle用法都可以替换为gradlew (macOS / Linux) 或gradlew.bat…

【SDN:逻辑上集中的控制平面,路由选择算法,LS路由工作过程,距离矢量路由选择(distance vector routing)】

文章目录 SDN&#xff1a;逻辑上集中的控制平面SDN的主要思路SDN控制平面和数据平面分离的优势SDN 架构: 数据平面交换机 路由选择算法路由(route)的概念最优化原则(optimality principle)路由的原则路由算法的分类LS路由工作过程&#xff08;相当于一个上帝&#xff09;链路状…

保护公司机密:避免员工带着数据说拜拜

公司的核心资产之一就是数据。无论是客户信息、研发代码、内部决议、财务报告、商业合同、设计图纸等都是公司的重要资产。如果这些数据在员工离职时被带走&#xff0c;或在员工在职期间不当行为导致数据泄露&#xff0c;将给公司带来重大损失。 然而&#xff0c;保护这些数据…

Ps中 饱和度 和 自然饱和度 的区别?

1.饱和度&#xff08;Saturation&#xff09;&#xff1a;在Photoshop中&#xff0c;饱和度是一个全局性调整&#xff0c;它影响图像中所有颜色的鲜艳程度。当你增加饱和度时&#xff0c;所有的颜色都会变得更浓烈、更鲜艳&#xff1b;相反&#xff0c;减小饱和度会使图像整体变…

暗区突围国际服pc端海外版新手前期如何赚钱 暗区突围新手教学

暗区突围国际服pc端海外版新手前期如何赚钱 暗区突围新手教学 暗区突围是一款极为惊险的射击游戏&#xff0c;让玩家充分感受紧张激烈的战斗以及获取财富的过程。但是有许多新手玩家是不会在游戏里赚钱的&#xff0c;也会在赚钱过程中遇到很多问题&#xff0c;我将在这篇文章…

Learning Continuous Image Representation with Local Implicit Image Function

CVPR2021https://github.com/yinboc/liif 问题引入 图像普遍都是使用像素来表示的&#xff0c;而现实世界是连续的&#xff0c;所以本文借鉴3D中neural implicit representation的思想&#xff0c;以连续的方式表示图像&#xff1b;模型输入坐标值和坐标附近的特征&#xff0…

区块链 | NFT 水印:Review on Watermarking Techniques(一)

&#x1f34d;原文&#xff1a;Review on Watermarking Techniques Aiming Authentication of Digital Image Artistic Works Minted as NFTs into Blockchains 1 应用于 NFT 的水印技术 常见的水印技术类型可以分为&#xff1a; 可见 v i s i b l e \mathsf{visible} visi…

关于Anaconda常用的命令

常用命令 查看当前环境下的环境&#xff1a;conda env list查看当前conda的版本&#xff1b;conda --version conda create -n your_env_name pythonX.X&#xff08;2.7、3.6等)命令创建python版本为X.X。名字为your_env_name的虚拟环境。your_env_name文件可以在Anaconda安装…

2024第16届成都教育连锁加盟展6月1日举办 免费参观

2024第16届成都教育连锁加盟展6月1日举办 免费参观 邀请函 主办单位&#xff1a; 中国西部教体融合博览会组委会 承办单位&#xff1a;重庆港华展览有限公司 博览会主题&#xff1a;责任教育科技兴邦 幼教、普教、高教、校外教育、K12学科辅导、婴幼儿教育、兴趣辅导、学…

STC8增强型单片机开发

1.C51版本Keil环境搭建 下载地址是 Keil Product Downloads 选择C51进行下载&#xff1a; 2.STC环境添加 STC-ISP下载 进入stc官网 深圳国芯人工智能有限公司-工具软件 3.将STC添加到Keil中 打开stc-isp工具 按照图例点击按钮 选择keil的安装目录&#xff0c;以实际安装目…

Nacos单机模式集成MySQL

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 Nacos支持三种部署…

VALSE 2024 Workshop报告分享┆ 大规模自动驾驶仿真系统研究

视觉与学习青年学者研讨会&#xff08;VALSE&#xff09;旨在为从事计算机视觉、图像处理、模式识别与机器学习研究的中国青年学者提供一个广泛而深入的学术交流平台。该平台旨在促进国内青年学者的思想交流和学术合作&#xff0c;以期在相关领域做出显著的学术贡献&#xff0c…

五月加仓比特币

作者&#xff1a;Arthur Hayes Co-Founder of 100x. 编译&#xff1a;Liam 编者注&#xff1a;本文略有删减 (以下内容仅代表作者个人观点&#xff0c;不应作为投资决策的依据&#xff0c;也不应被视为参与投资交易的建议或意见&#xff09;。 从四月中旬到现在&#xff0c;当你…

动态规划——路径问题:931.下降路径最小和

文章目录 题目描述算法原理1.状态表示&#xff08;经验题目&#xff09;2.状态转移方程3.初始化4.填表顺序5.返回值 代码实现CJava 题目描述 题目链接&#xff1a;931.下降路径最小和 关于这⼀类题&#xff0c;看过我之前的博客的朋友对于状态表示以及状态转移是⽐较容易分析…

Java 中的 HTTP 客户端库OkHttp、Apache HttpClient和HttpUrlConnection

大家好&#xff0c;我是G探险者。 项目开发里面经常会有这么一种场景&#xff1a;与服务器进行 HTTP 通信。一般存在于服务间远程调用的场景 Java 生态系统提供了多种 HTTP 客户端库&#xff0c;每种都有其自己的特点、优势和适用场景。 本文将介绍几种主要的 Java HTTP 客户…

【练习3】

1.将二叉搜索树转为排序的双向链表 (好久没看数据结构&#xff0c;忘完了&#xff0c;学习大佬的代码&#xff09; class Solution { public:Node* prenullptr,*headnullptr; //pre为每次遍历时的前一个节点&#xff0c;head记录头节点Node* treeToDoublyList(Node* root) {if…

Qt应用开发(拓展篇)——图表 QChart

一、前言 QChart是一个图形库模块&#xff0c;它可以实现不同类型的序列和其他图表相关对象(如图例和轴)的图形表示。要在布局中简单地显示图表&#xff0c;可以使用QChartView来代替QChart。此外&#xff0c;线条、样条、面积和散点序列可以通过使用QPolarChart类表示为极坐标…

Vue3 查看真实请求地址

上回说到Vue2查看真实请求地址&#xff0c;那么Vue3该如何查看呢&#xff1f; 传送门&#xff1a; Vue2 查看真实请求地址 1. bypass函数 使用bypass函数获取代理结果&#xff0c;设置响应头&#xff08;请求头设置未生效&#xff0c;也可以在响应头上看&#xff09;。 2. …

PRL:新型量子传感方案突破纳米测量极限

朴茨茅斯大学的研究人员近期宣布了一项令人振奋的量子传感方案&#xff0c;该方案在测量两个干涉光子之间的横向位移方面达到了前所未有的量子灵敏度。 这一技术的突破为超分辨率成像技术带来了新的可能性。目前&#xff0c;这些技术通常采用单光子源作为探针&#xff0c;用于在…

LCD驱动IC-抗干扰液晶段码显示屏驱动芯片,液晶显示驱动原厂-VK2C23A/B LQFP64/48

产品品牌&#xff1a;永嘉微电/VINKA 产品型号&#xff1a;VK2C23A/B 封装形式&#xff1a;LQFP64/48 概述 VK2C23是一个点阵式存储映射的LCD驱动器&#xff0c;可支持最大224点&#xff08;56SEGx4COM&#xff09; 或者最大416点&#xff08;52SEGx8COM&#xff09;的LCD屏。…
最新文章