映射vim键位,基本功能键位表(未更完)
键位映射:建议使用jj代替esc,毕竟esc离手那么远
linux下修改方法是:vim /etc/vim/vimrc 在该文件尾添加inoremap jj <Esc>该方法可以同样可以用到其他键位映射上
i:表示这个映射是在插入模式(insert mode)下有效的。Vim 有多种模式,包括普通模式(normal mode)、插入模式、命令模式等。i 限定了这个映射只在插入模式下起作用。
nore:这是 noremap 的缩写部分,意味着这个映射是“非递归”的(non-recursive)。默认情况下,Vim 的映射可以是递归的,这意味着如果你映射了一个键到另一个键序列,而那个键序列本身又包含映射,那么 Vim 会尝试解析并应用这些递归映射。使用 noremap(或简写为 nore)可以避免这种递归行为,使得映射更加直接和可预测。
map:这是基本的映射命令,用于定义键与键序列之间的对应关系。
vscode修改的方法:在setting.json文件里添加
"vim.insertModeKeyBindings": [{"before":["j","j"],"after":["<Esc>"]}
]
一般我们遇到的单词不会出现连续两个j,如何输入两个j,那只能输入一个再等一会再输入了,实在不行改,你改,改成jk
普通模式下的映射功能:
| 键位 | 功能 | 快速记忆 |
|---|---|---|
| i | 字符前插入 | insert |
| I | 行首插入 | 大写字符一般对应小写字母的功能稍微改变 |
| o | 上一行插入 | |
| O | 下一行插入 | |
| a | 字符后插入 | |
| A | 行尾插入 | |
| h | 向左 | |
| j | 向下 | |
| k | 向上 | |
| l | 向右 | |
| w | 跳到下一个单词开头 | word |
| b | 跳到本单词或上一个单词开头 | begin |
| e | 跳到本单词尾或下一个单词尾 | end |
| ge | 跳到上一个单词的结尾 | |
| 0 | 跳到行首 | |
| ^ | 跳到从行首开始第一个非空字符 | |
| $ | 跳到行尾 | |
| gg | 跳到第一行 | |
| G | 跳到最后一行 | |
| f加一个字符 | 光标跳到同一行的下一个该字符上 | |
| F加一个字符 | 光标跳到同一行的上一个该字符上 | |
| t加一个字符 | 光标跳到下一个该字符的前一个字符位置上 | f,F和t,T的主要区别在于t是跳到字符前的 |
| T加一个字符 | 光标跳到上一个该字符的后一个字符都位置上 | |
| ; | 执行上一次查找操作 | |
| , | 反向查找上一次的查找指令 | 反向是如何上次是t那么该次是T |
| yy | 复制改行 | |
| y1G | 复制所在行到1行的所有数据 | |
| nyy | 复制向下数n行 | |
| yG | 复制光标所在行包括未尾所有数据 | |
| p,P | 向下一行粘贴和向上一行粘贴 | |
| dd | 删除该行 | |
| d1G | 删除该行到第一行 | |
| dG | 删除改行到行尾 | |
| dw | 删除光标后的单词 | |
| daw | 删除光标所在的单词 | |
| J | 将光标所在行与下一行的数据合成一行 | |
| x,X | 向后或向前删除一个字符 | |
| nx | 向后删除n个字符 | |
| n+回车 | 向下移动n行 | |
| nG | 移动到第n行 | |
| M | 移动到当前屏幕中央位置 | |
| L | 移动到当前屏幕最低行 | |
| G | 移动到文件最后一行 | |
| u | 还原过去操作 | |
| Ctrl+r | 重复上一个操作 | |
| . | 重复前一个操作 |
命令模式
| 按键 | 效果 |
|---|---|
| :w | 保存写入内容 |
| :w! | 强制保存 |
| :q | 退出vim,不保存 |
| :wq | 保存并退出 |
| :w [file name] | 另存到filename |
| :set nu | 文件每行设置行号 |
| :set nonu | 取消设置的行号 |
| :n,m w [filename] | 将n到m另存为filename |
| :! command | 暂时离开vim,使用enter返回 |
visual模式
| 键位 | 功能 | 快速记忆 |
|---|---|---|
| i+"或者(等等 | 比如该单词在(word)中,会选中word | |
| iw | 选中该单词 | |
| a+"或者( | 选中包括”或者( | |
| aw | 选中包括单词前空格 |
相关文章:
映射vim键位,基本功能键位表(未更完)
键位映射:建议使用jj代替esc,毕竟esc离手那么远 linux下修改方法是:vim /etc/vim/vimrc 在该文件尾添加inoremap jj <Esc>该方法可以同样可以用到其他键位映射上 i:表示这个映射是在插入模式(insert mode)下有效…...
Python学习笔记(5)Python的创建型设计模式
创建型设计模式(Creational Design Patterns),主要关注对象的创建机制。这类模式可以使得系统更加独立于如何创建、组合和表示其对象。通过将这些职责分离出来,创建型设计模式有助于提高代码的灵活性和复用性。 本书的范例代码已经…...
qt QAnimationDriver详解
1、概述 QAnimationDriver是Qt框架中提供的一个类,它主要用于自定义动画帧的时间控制和更新。通过继承和实现QAnimationDriver,开发者可以精确控制动画的时间步长和更新逻辑,从而实现丰富和灵活的动画效果。QAnimationDriver与QAbstractAnim…...
零拷贝相关知识点(一)
前言 大家好,我是程序员田螺。 零拷贝是老生常谈的问题啦,大厂非常喜欢问。比如Kafka为什么快,RocketMQ为什么快等,都涉及到零拷贝知识点。最近技术讨论群几个伙伴分享了阿里、虾皮的面试真题,也都涉及到零拷贝。因此…...
STM32的CAN波特率计算
公式: CAN波特率 APB总线频率 / (BRP分频器 1)/ (SWJ BS1 BS2) SWJ一般为1。 例如STM32F407的,CAN1和CAN2都在在APB1下,频率是42000000 如果想配置成1M波特率,则计算公式为:...
简单好用的折线图绘制!
折线图的概念及作用: 折线图(Line Chart)是一种常见的图表类型,用于展示数据的变化趋势或时间序列数据。它通过一系列的数据点(通常表示为坐标系中的点)与这些点之间的线段相连,直观地展示变量…...
Hadoop批量计算实验
参考: Hadoop(一)之实验一CentOS7配置Hadoop系统:配置CentOS和下载安装包_基于虚拟机cents7搭建hadoop实验目的-CSDN博客 --------------------------------------------------------- 一、安装Vmware 二、创建虚拟机 1.安装centos7 ①打开VMware,点击新建虚拟机。 …...
基于rpcapd与wireshark的远程实时抓包的方法
基于rpcapd与wireshark的远程实时抓包的方法 服务端安装wireshark侧设置 嵌入式设备或服务器上没有图形界面,通常使用tcpdump抓包保存为pcap文件后,导出到本地使用wireshark打开分析,rpcapd可与wireshark配合提供一种远程实时抓包的方案&…...
ubuntu多版本安装gcc
1.ubuntu安装gcc 9.3.1 $ sudo apt update $ sudo apt install gcc-9 g-9 二、配置GCC版本 安装完成后,需要使用update-alternatives命令来配置GCC版本。这个命令允许系统在多个安装的版本之间进行选择 1.添加GCC 9.3.1到update-alternatives管理 $ sudo update-a…...
算法刷题Day1
BM47 寻找第k大 第一天就随便记录吧,万事开头难,我好不容易开的头,就别难为自己,去追求高质量了。嘿嘿嘿 题目 传送门 解题思路一:维护一个大小为k的最小堆。最后返回堆顶元素。 代码: # # 代码中的类名…...
泛化调用 :在没有接口的情况下进行RPC调用
什么是泛化调用? 在RPC调用的过程中,调用端向服务端发起请求,首先要通过动态代理,动态代理可以屏蔽RPC处理流程,使得发起远程调用就像调用本地一样。 RPC调用本质:调用端向服务端发送一条请求消息&#x…...
Java 泛型详细解析
泛型的定义 泛型类的定义 下面定义了一个泛型类 Pair,它有一个泛型参数 T。 public class Pair<T> {private T start;private T end; }实际使用的时候就可以给这个 T 指定任何实际的类型,比如下面所示,就指定了实际类型为 LocalDate…...
题解:CF332B Maximum Absurdity
CF332B CF332B 暴力思路 题目要我们找两个不重叠的区间,并使区间的值最大。那我们可以考虑使用双重循环搭配前缀和暴力求最大值。代码如下。 for(int i1;i<n;i) {ll lsum[ik-1]-sum[i-1],maxx;for(int jik;j<n;j){maxxlsum[jk-1]-sum[j-1];if(maxx>ans.…...
Vue 集成和使用 SQLite 的完整指东
1. 引言 SQLite 是一种轻量级的关系型数据库管理系统,以其简单易用、无需服务器等特点广泛应用于嵌入式系统、移动应用和小型应用程序中。在 Web 开发中,尤其是前端应用开发中,SQLite 可以作为客户端本地存储的一种选择,为用户提…...
【JVM什么时候触发YoungGC和FullGC】
YoungGC 年轻代Eden区满,就会触发YoungGC FullGC 老年代空间不足 经过多次GC后的大年龄对象会被放进老年代,或创建的大对象会直接在老年代分配,此时若老年代空间不足,就会触发FullGC。空间分配担保失败 触发YoungGC的时候会进行…...
ubuntu配置网络
1,设置桥接模式 1-1: 确定。 1-2: 编辑--->虚拟网络编辑器 刚安装ubuntu的时候,可能没有任何VMnet. 更改设置的目的: 添加VMnet0,并且设置VMnet为桥接模式--自动桥接。 如果没有VMnet0,选择添加网络…...
第十一课 Unity编辑器创建的资源优化_预制体和材质篇(Prefabs和Materials)详解
预制体(Prefabs) Unity中的预制体是用来存储游戏对象、子对象及其所需组件的可重用资源,一般来说预制体资源可充当资源模版,在此模版基础上可以在场景中创建新的预制体实例。 使用预制体的好处 由于预制体系统可以自动保持所有实例副本同步,…...
2024.11.29(单链表)
思维导图 声明文件 #ifndef __LINKLIST_H__ #define __LINKLIST_H__#include <myhead.h>typedef char datatype; //数据元素类型 //定义节点类型 typedef struct Node {union{int len; //头节点数据域datatype data; //普通节点数据域};struct Node *next; //指针域…...
基于深度学习和卷积神经网络的乳腺癌影像自动化诊断系统(PyQt5界面+数据集+训练代码)
乳腺癌是全球女性中最常见的恶性肿瘤之一,早期准确诊断对于提高生存率具有至关重要的意义。传统的乳腺癌诊断方法依赖于放射科医生的经验,然而,由于影像分析的复杂性和人类判断的局限性,准确率和一致性仍存在挑战。近年来…...
opengl 三角形
最后效果: OpenGL version: 4.1 Metal 不知道为啥必须使用VAO 才行。 #include <glad/glad.h> #include <GLFW/glfw3.h>#include <iostream> #include <vector>void framebuffer_size_callback(GLFWwindow *window, int width, int heigh…...
智慧生鲜配送:揭秘生鲜配送商城APP功能版块设计
在数字化消费浪潮中,生鲜配送商城APP成为居民采购食材的重要渠道。其功能版块设计聚焦用户需求,通过智能化、便捷化的操作体验,打造高效生鲜购物场景。以下揭秘其核心功能玩法,解析如何实现“从指尖到餐桌”的流畅服务。一、首页&…...
SDMatte抠图实战教程:玻璃/薄纱/羽毛一键去背景,保姆级Web部署指南
SDMatte抠图实战教程:玻璃/薄纱/羽毛一键去背景,保姆级Web部署指南 1. 为什么选择SDMatte进行专业抠图 在日常设计工作中,抠图是最基础也最耗时的环节之一。特别是遇到玻璃制品、薄纱材质、羽毛边缘这类复杂对象时,传统Photosho…...
打造手游PC级操控:QtScrcpy键鼠映射完全指南
打造手游PC级操控:QtScrcpy键鼠映射完全指南 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy 手机…...
Untrunc:10倍速视频修复工具,让损坏的MP4/MOV文件起死回生
Untrunc:10倍速视频修复工具,让损坏的MP4/MOV文件起死回生 【免费下载链接】untrunc Restore a truncated mp4/mov. Improved version of ponchio/untrunc 项目地址: https://gitcode.com/gh_mirrors/un/untrunc 你是否曾经因为视频文件损坏而失去…...
Stable Diffusion VAE重构图像效果不理想?可能是你忘了调整这个关键参数
Stable Diffusion VAE图像重构效果优化指南:关键参数解析与实战调整 当你第一次使用Stable Diffusion的VAE(Variational Autoencoder)进行图像重构时,可能会遇到这样的困惑:明明按照教程一步步操作,为什么输…...
深度解析DiffSinger:基于扩散模型的AI歌声合成技术革命
深度解析DiffSinger:基于扩散模型的AI歌声合成技术革命 【免费下载链接】DiffSinger 项目地址: https://gitcode.com/gh_mirrors/dif/DiffSinger 在当今AI音乐创作领域,DiffSinger歌声合成技术正引领着一场声音生成的技术革命。这个由OpenVPI维护…...
Spring AI:Spring生态的AI工程框架全面解析
Spring AI:Spring生态的AI工程框架全面解析 【免费下载链接】spring-ai An Application Framework for AI Engineering 项目地址: https://gitcode.com/GitHub_Trending/spr/spring-ai Spring AI是Spring生态系统中的AI工程框架,为Java开发者提供…...
企业内部是否需要技术团队做小程序
企业内部是否需要技术团队做小程序一、企业在推进小程序时的现实问题在实际业务中,越来越多企业开始考虑通过小程序拓展线上渠道,但在推进过程中,往往会遇到一个核心问题:企业内部是否需要组建技术团队来完成小程序开发。这一问题…...
零基础玩转Llama-3.2-3B:Ollama部署+实战问答全流程
零基础玩转Llama-3.2-3B:Ollama部署实战问答全流程 1. 模型介绍与准备 1.1 Llama-3.2-3B模型概述 Llama-3.2-3B是Meta公司开发的多语言大型语言模型(LLM),属于Llama 3.2系列中的3B参数版本。这个纯文本模型经过指令微调优化&am…...
专利数据挖掘与商业价值转化:开源工具驱动的技术创新与决策变革
专利数据挖掘与商业价值转化:开源工具驱动的技术创新与决策变革 【免费下载链接】patents-public-data Patent analysis using the Google Patents Public Datasets on BigQuery 项目地址: https://gitcode.com/gh_mirrors/pa/patents-public-data 在数字化转…...
