【VIM】vim 常用命令

embedded/2024/11/20 17:00:26/

文章目录

      • 插入模式
      • 光标移动
      • 拷贝/粘贴/删除/撤销
      • 块操作
      • 分屏
      • 代码缩进
      • 命令组合使用
      • 其他

前言:本文内容大部分摘抄自酷壳和博客园   –   CoolShell – 陈皓   博客园 – 易先讯

插入模式

  • a → 在光标后插入
  • o → 在当前行后插入一个新行
  • O → 在当前行前插入一个新行
  • cw → 替换从光标所在位置后到一个单词结尾的字符

光标移动

  • 0 → 数字零,到行头
  • $ → 到本行行尾
  • gg → 到第一行
  • G → 到最后一行
  • :N → 到第N行
  • w → 到下一个单词的开头
  • e → 到下一个单词的结尾
  • % : 匹配括号移动,包括 (, {, [ (实用)
  • *#: 匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个) (实用)
  • /pattern:向下查找匹配指定模式的文本,按 n 查找下一个匹配项,按 N 查找上一个匹配项 (实用)
  • fa → 到下一个为a的字符处,你也可以 fs 到下一个为 s 的字符

拷贝/粘贴/删除/撤销

  • dd → 删除当前行,并把删除的行存到剪贴板里

  • ndd:剪切从光标所在行开始的 n 行

  • d$:剪切从光标所在位置到行末的文本

  • dG:剪切从光标所在行到文件末尾的文本

  • v 进入可视模式,移动光标选择文本,然后按 d 剪切选中的文本 (实用)

    可视化选择是一个很有意思的命令,你可以先按v,然后移动光标,你就会看到文本被选择,然后,你可能d,也可y,也可以变大写等

  • yy → 拷贝当前行当行于 ddP

  • y 的其他操作通 dd

  • p → 粘贴剪贴板

  • x → 删当前光标所在的一个字符

  • u → 撤销操作

  • Ctrl+r → 撤销 “撤销操作”,相当于保持不变

块操作

块操作,典型的操作: 0 <C-v> <C-d> I-- [ESC]

  • 0 → 到行头
  • <C-v> → 开始块操作
  • <C-d> → 向下移动 (你也可以使用 hjkl 来移动光标,或是使用%,或是别的)
  • I-- [ESC]I 是插入,插入“--”,按ESC键来为每一行生效,可以在行内的任意位置生效。
  • A-- [ESC] → 在每一行的行后插入

分屏

  • :split → 创建分屏 (:vsplit创建垂直分屏)
  • <C-w><dir> : dir就是方向,可以是 hjkl 或是 ←↓↑→ 中的一个,其用来切换分屏。

代码缩进

  • ctrl+v 加入可视化操作,选择代码块,然后:
  • J → 把所有的行连接起来(变成一行)
  • <> → 左右缩进
  • = → 自动给缩进

命令组合使用

你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。很多命令都可以如下来干:

例如 0y$ 命令意味着:

  • 0 → 先到行头
  • y → 从这里开始拷贝
  • $ → 拷贝到本行最后一个字符

你可可以输入 ye,从当前位置拷贝到本单词的最后一个字符。

你也可以输入 y2/foo 来拷贝2个 “foo” 之间的字符串。

其他

  • . → (小数点) 可以重复上一次的命令
  • N → 重复某个命令N次
  • gU (变大写)
  • gu (变小写)


http://www.ppmy.cn/embedded/139129.html

相关文章

蓝桥杯每日真题 - 第16天

题目&#xff1a;&#xff08;卡牌&#xff09; 题目描述&#xff08;13届 C&C B组C题&#xff09; 解题思路&#xff1a; 题目分析&#xff1a; 有 n 种卡牌&#xff0c;每种卡牌的现有数量为 a[i]&#xff0c;所需的最大数量为 b[i]&#xff0c;还有 m 张空白卡牌。 每…

生成式人工智能(AIGC)在软件开发设计模式课程教学中的应用

一、引言 软件设计模式作为软件工程领域的核心组成部分&#xff0c;对于提升软件系统的质量和可维护性至关重要。然而&#xff0c;传统的软件设计模式课程教学方法面临着诸多挑战&#xff0c;例如教师准备教学案例的过程繁琐&#xff0c;学生理解和应用具体案例难度较大&#…

网络工程实验四:NAT的配置

#实验仅供参考&#xff0c;勿直接粘贴复制&#xff0c;用以学习交流# #对于软件的使用&#xff0c;请移步到实验一观看# 1、实验目的&#xff1a; &#xff08;1&#xff09;掌握网络地址转换的工作原理。 &#xff08;2&#xff09;掌握配置静态NAT和NAPT的方法。、 2、实…

Conda 安装纯净版ComfyUI

网上有很多整合包&#xff0c; 我个人喜欢纯净版&#xff0c; 自已搭建 1 拉代码 git clone https://github.com/comfyanonymous/ComfyUI 如果没有装过git,下载安装: https://git-scm.com/ https://git-lfs.com/ 2 创建环境 cd ComfyUI conda create -n ComfyUI python3.11…

Web服务器-RHCE

一&#xff0c;web服务器简介 &#xff08;1&#xff09;什么是www www是world wide web的缩写&#xff0c;也就是全球信息广播的意思。通常说的上网就是使用www来查询用户 所需要的信息。www可以结合文字、图形、影像以及声音等多媒体&#xff0c;并通过可以让鼠标单击超链接…

【AI+教育】一些记录@2024.11.16

《万字长文&#xff0c;探讨关于ChatGPT的五个最核心问题》 万字长文&#xff0c;探讨关于ChatGPT的五个最核心问题关于 ChatGPT 铺天盖地的信息让人无所适从。本文则试图提炼出五个关键问题&#xff1a;如何理解这次范式突破&#xff0c;未来能达到的技术天花板&#xff0c;行…

PostgreSQL 函数与存储过程及调用

PostgreSQL 随着云服务的盛行&#xff0c;越发被广泛的应用&#xff0c;免费开源且有丰富的特性支持&#xff0c;加上性能也很不错&#xff0c;因而备受青睐。PostgreSQL 的函数与存储过程区别并不太大&#xff0c;不像某些数据库的函数与存储过程必须是无副作用或有副作用&…

gunicorn 和 uvicorn部署fastapi 或者flask

gunicorn 和 uvicorn一起部署fastapi 或者flask 安装需要的包后台代码启动可能遇到的问题 安装需要的包 pip install gunicorn uvicorn greenlet eventlet gevent后台代码 Server.py 文件中有app 变量 启动 # http 服务 timeout 单位s gunicorn -k uvicorn.workers.UvicornW…