【Linux】Vim的使用快捷方式

news/2024/10/30 9:25:23/

VIM工具使用各种快捷方式,熟练掌握能够做到事半功倍的效果

复制粘贴

  1. 复制:
  • yy:复制当前行。
  • nyy:复制当前行及其下面的n行(n为数字)。
  • yiw:复制当前光标所在的单词。
  • y$:复制光标所在位置到行尾的文本。
  • y^:复制光标所在位置到行首的文本。
  • yG:复制当前行到文件末尾的所有内容。
  • v进入可视模式,移动光标选择要复制的文本,然后按下y键。
  1. 粘贴:
  • p:将复制的内容粘贴到当前行的下方。
  • P:将复制的内容粘贴到当前行的上方。
  • :put:将复制的内容粘贴到光标所在行的下方。
  • :put!:将复制的内容粘贴到光标所在行的上方。
  • "+p:将系统剪贴板中的内容粘贴到当前行的下方(仅适用于支持系统剪贴板的Vim版本)。
  • "+P:将系统剪贴板中的内容粘贴到当前行的上方(仅适用于支持系统剪贴板的Vim版本)。

搜索和替换:

  • /pattern:在文件中搜索匹配pattern的文本。
  • :s/old/new/g:将当前行中所有匹配old的文本替换为new
  • :%s/old/new/g:将文件中所有匹配old的文本替换为new
  • :s/old/new/gc:将当前行中所有匹配old的文本替换为new,并提示用户确认每次替换。
  • :%s/old/new/gc:将文件中所有匹配old的文本替换为new,并提示用户确认每次替换。

缩进和格式化:

  • >>:将当前行向右缩进一个shiftwidth(默认为8个空格)。
  • <<:将当前行向左缩进一个shiftwidth
  • ={motion}:将motion所选的文本块自动缩进。
  • gg=G:将整个文件自动缩进。

分屏和标签页:

  • :split:将当前窗口分成两个上下排列的窗口。
  • :vsplit:将当前窗口分成两个左右排列的窗口。
  • :tabnew:打开一个新的标签页。
  • gt:在标签页之间切换。

文件操作:

  • :w:保存当前文件。
  • :wq:保存当前文件并退出Vim。
  • :q!:放弃所有修改并退出Vim。
  • :e filename:打开一个新文件。

代码折叠:

  • zf{motion}:根据motion所选的文本块创建一个折叠。
  • zo:打开当前折叠。
  • zc:关闭当前折叠。
  • zr:打开所有折叠。
  • zm:关闭所有折叠。

括号匹配:

  • %:在括号之间跳转。
  • :set showmatch:显示括号匹配。

代码补全:

  • Ctrl + n:在当前文件中补全单词。
  • Ctrl + x, Ctrl + o:在当前文件和已打开的文件中补全单词。

多窗口操作:

  • Ctrl + w + h/j/k/l:在窗口之间切换。
  • :sp filename:在新窗口中打开一个文件。
  • Ctrl + w + _:将当前窗口最大化。
  • Ctrl + w + =:将所有窗口平均分配大小。

宏录制:

  • q{register}:开始录制宏,并将其存储到指定的寄存器中。
  • q:停止录制宏。
  • @{register}:执行指定寄存器中的宏。
  • @@:执行上次执行的宏。

上下走:

  • j:向下移动一行。
  • k:向上移动一行。
  • Ctrl + d:向下滚动半屏。
  • Ctrl + u:向上滚动半屏。
  • Ctrl + f:向下滚动一屏。
  • Ctrl + b:向上滚动一屏。
  • G:移动到文件末尾。
  • gg:移动到文件开头。
  • {n}G:移动到第n行。

左右走:

  • h:向左移动一个字符。
  • l:向右移动一个字符。
  • w:向右移动一个单词。
  • b:向左移动一个单词。
  • 0:移动到行首。
  • $:移动到行尾。
  • %:移动到当前括号的匹配括号位置。

http://www.ppmy.cn/news/92294.html

相关文章

ORB_SLAM2算法中特征点是如何精确匹配的?

文章目录 CV_8UC1和CV_32F这两种数据类型有什么区别?IL = IL - IL.at<float>(w,w) *cv::Mat::ones(IL.rows,IL.cols,CV_32F);cv::Mat IR = mpORBextractorRight->mvImagePyramid[kpL.octave].rowRange(scaledvL-w,scaledvL+w+1).colRange(scaleduR0+incR-w,scaleduR0…

新手一定要掌握的实用调试技巧(vs2019)

目录 1、什么是bug&#xff1f; 2、调试是什么&#xff1f; 2.1、调试是什么 2.2、调试的基本步骤 2.3、Debug和Release的介绍 3、Windows环境调试介绍 3.1、调试环境的准备 3.2、学会快捷键 3.3、调试的时候查看程序当前信息 3.3.1、查看临时变量的值 3.3.2、查看内存信息…

如何用Thanos 和 Prometheus 打造一个高可用的K8S监控系统

概 述 对于弹性伸缩和高可用的系统来说&#xff0c;一般有大量的指标数据需要收集和存储&#xff0c;如何为这样的系统打造一个监控方案呢&#xff1f;本文介绍了如何使用 ThanosPrometheusGrafana 构建监控系统。 集群容量概览 用户故事 直到今年 1 月&#xff0c;我一直在…

特殊的ip地址

1 .0.0.0.0 计算机的世界里面&#xff0c;没有表示为0. 详细可看此篇&#xff1a; http://t.csdn.cn/Gvz1g2 255.255.255.255 受限广播地址&#xff0c;表示3层广播的目标地址&#xff0c;在同一个广播域范围内所有主机都会接收这个包&#xff0c;广播域的范围可变&#xff0…

Kubernetes 证书详解

K8S 证书介绍 在 Kube-apiserver 中提供了很多认证方式&#xff0c;其中最常用的就是 TLS 认证&#xff0c;当然也有 BootstrapToken&#xff0c;BasicAuth 认证等&#xff0c;只要有一个认证通过&#xff0c;那么 Kube-apiserver 即认为认证通过。下面就主要讲解 TLS 认证。 …

从小白到大神之路之学习运维第30天

第二阶段基础 时 间&#xff1a;2023年5月26日 参加人&#xff1a;全班人员 内 容&#xff1a; NGINX服务 目录 一、基本信息 二、安装方法 &#xff08;一&#xff09;yum安装&#xff1a; &#xff08;二&#xff09;源码安装 三、虚拟主机头配置方法 &#xff…

看完这篇都有DBA级别的MySQL备份经验了,再也不害怕删库跑路了

在做运维的路上&#xff0c;相信大家会跟数据库经常打交道吧&#xff0c;那么数据库最重要的时候什么呢&#xff0c;那么肯定是备份了&#xff0c;这篇文章主要内容是介绍了&#xff0c;MySQL的几种常见的备份方式&#xff0c;主要是分为两种&#xff0c;第一种是基于MySQL提供…

YOLOv8与 DeepSORT 多目标检测的案例

这个YoLov8强大在于不用显卡也可以识别的很快&#xff0c;我是用10年前的笔记本 Core i7-4710 CPU8G内存 准备代码环境 git地址&#xff1a;https://github.com/MuhammadMoinFaisal/YOLOv8-DeepSORT-Object-Tracking 官方教程使用以下方法安装所需的环境 pip install -e .[…