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

vim手册(vim cheatsheet)

vim手册(vim cheatsheet)


1. 命令模式

1). 移动光标
在命令模式下,可以使用以下命令来移动光标:
- h:向左移动一个字符。
- j:向下移动一行。
- k:向上移动一行。
- l:向右移动一个字符。
- w:向右移动一个单词。
- b:向左移动一个单词。
- 0:移动到当前行的开头。
- $:移动到当前行的结尾。
- gg:移动到文本的第一行。
- G:移动到文本的最后一行。
2). 插入文本
在命令模式下,可以使用以下命令来插入文本:
- i:在当前光标位置前插入文本。
- I:在当前行的开头插入文本。
- a:在当前光标位置后插入文本。
- A:在当前行的结尾插入文本。
- o:在当前行的下方插入一行。
- O:在当前行的上方插入一行。
3). 删除文本
在命令模式下,可以使用以下命令来删除文本:
- x:删除当前光标所在位置的字符。
- dw:删除当前光标位置到单词结尾的文本。
- d0:删除当前光标位置到行开头的文本。
- d$:删除当前光标位置到行结尾的文本。
- dd:删除整行文本。
4). 复制和粘贴文本
在命令模式下,可以使用以下命令来复制和粘贴文本:
- yy:复制当前行。
- yw:复制当前光标位置到单词结尾的文本。
- p:将复制的文本粘贴到当前光标位置的下方。
- P:将复制的文本粘贴到当前光标位置的上方。
5). 撤销和恢复操作
在命令模式下,可以使用以下命令来撤销和恢复操作:
- u:撤销上一次操作。
- Ctrl+r:恢复上一次撤销的操作。
6). 查找和替换文本
在命令模式下,可以使用以下命令来查找和替换文本:
- /pattern:搜索文本中的模式。
- n:在查找模式时,移动到下一个匹配项。
- N:在查找模式时,移动到上一个匹配项。
- :s/old/new/g:将当前行中的所有“old”替换为“new”。
- :%s/old/new/g:将文本中所有的“old”替换为“new”。
7). 块操作
在命令模式下,可以使用以下命令来执行块操作:
- Ctrl+v:进入可视块模式,可以选择一个矩形块。
- Shift+i:在可视块模式下,进入插入模式,可以在选择的矩形块中插入文本。
- d:在可视块模式下,删除选择的矩形块中的所有文本。

2. 末行模式

1). 保存文件
- :w:保存文件。
- :w filename:将文件保存为指定的文件名。
2). 退出VIM
- :q:退出VIM。
- :q!:强制退出VIM,不保存修改。
- :wq:保存并退出VIM。
3). 查找和替换文本
- /pattern:搜索文本中的模式。
- :s/old/new/g:将当前行中的所有“old”替换为“new”。
- :%s/old/new/g:将文本中所有的“old”替换为“new”。
4). 移动光标
- :n:将光标移动到第n行。
- :$:将光标移动到文本的最后一行。
- :1:将光标移动到文本的第一行。
5). 显示和隐藏行号
- :set number:显示行号。
- :set nonumber:隐藏行号。
6). 执行外部命令
- :!command:执行外部命令,例如:!ls。
7). 插入文本
- :a:在当前行的后面插入文本。
- :i:在当前行的前面插入文本。
- :o:在当前行下面插入一行并插入文本。
8). 删除文本
- :d:删除当前行。
- :%d:删除整个文本。
9). 执行宏
- :@x:执行名称为x的宏。
10).代码着色
- :syntax on/off

3. 可视化模式

VIM中的可视化模式用于选择文本块,用户可以使用以下命令来执行各种操作:
1). 进入可视化模式
- v:进入可视化模式。
- V:进入行可视化模式。
- Ctrl+v:进入块可视化模式。
2). 选择文本块
- j:向下选择一行。
- k:向上选择一行。
- h:向左选择一个字符。
- l:向右选择一个字符。
- w:选择下一个单词。
- e:选择下一个单词的结尾。
- b:选择上一个单词的开头。
3). 操作文本块
- d:删除选择的文本块。
- y:复制选择的文本块。
- p:将复制的文本块粘贴到当前光标位置下面。
- P:将复制的文本块粘贴到当前光标位置上面。
- I:在选择的文本块的开头插入文本。
- A:在选择的文本块的末尾插入文本。
4). 取消选择
- Esc:退出可视化模式。
http://www.lryc.cn/news/218987.html

相关文章:

  • 软件测试具体人员分工
  • 计算机网络-应用层
  • linux 创建git项目并提交到gitee(保姆式教程)
  • STM32 IAP应用开发--bootloader升级程序
  • Q_GLOBAL_STATIC宏
  • [批处理]_[初级]_[如何删除变量值里的双引号]
  • 51单片机电子钟闹钟温度LCD1602液晶显示设计( proteus仿真+程序+原理图+设计报告+讲解视频)
  • 怎样学好java
  • HarmonyOS 数据管理与应用数据持久化(二)
  • Hadoop环境搭建及Demo
  • 更新一下数据集
  • web3之跨链预言机SupraOracles:什么是Supra
  • 关系型数据库 期末复习(未完
  • 【学习笔记】CF1895G Two Characters, Two Colors
  • GZ035 5G组网与运维赛题第10套
  • 基于SSM的教学管理系统(有报告)。Javaee项目。
  • 软件测试工作流程
  • 高级文本编辑软件 UltraEdit mac中文版介绍说明
  • python模块的介绍和导入
  • 基于单片机的智能饮水机系统
  • CSS画圆以及CSS实现动态圆
  • K8S知识点(一)
  • 人工智能师求职面试笔试题及答案汇总
  • 【Windows-软件-FFmpeg】(01)通过CMD运行FFmpeg进行操作,快速上手
  • Spring Data Redis + RabbitMQ - 基于 string 实现缓存、计数功能(同步数据)
  • Facebook Developer 的 HashCode
  • 下载使用 ant design Pro 中遇到的一些问题
  • 「Java开发指南」如何用MyEclipse搭建Spring MVC应用程序?(一)
  • [动态规划] (七) 路径问题:LCR 166.剑指offer 47. 珠宝的最高价值
  • Mysql进阶-SQL优化篇