首页 > 其他分享 >vim简单使用

vim简单使用

时间:2024-03-15 23:11:06浏览次数:30  
标签:set vimrc ctrl 可视 使用 模式 vim 简单

Vim安装: vim一般安装完ubuntu或者wsl都会自带有,没有的话可以使用:

sudo apt install vim
配置文件位置:
sudo vim /etc/vim/vimrc // 系统vim配置文件 
vim ~/.vimrc // 用户个人vim配置文件 linux多用户的情况下,没有root权限,在~/.vimrc文件中进行配置
  Vim的几种模式
  • 正常模式:可以使用快捷键命令,或按:输入命令行。
  • 插入模式:可以输入文本,在正常模式下,按i、a、o等都可以进入插入模式。
  • 可视模式:正常模式下按v可以进入可视模式, 在可视模式下,移动光标可以选择文本。按V进入可视行模式, 总是整行整行的选中。ctrl+v进入可视块模式。
  • 替换模式:正常模式下,按R进入。
  1、列插入: ctrl +q 开启visual block,使用上下左右键选择列,选择完毕之后返回第一行,输入大写I(不用:或者/),增加完毕之后按Esc键退出   2、列删除: ctrl +q或者v开启visual block,使用上下左右键选择列,delete删除列   3、代码自动对齐: 在命令模式下(即非“插入”等编辑模式),先输入gg,这时候光标会移动到第一行第一个字符,然后按 “=” 号之后切换成大写,再按一下G,这时候光标会移到最后一行的第一个字符,这时候就可以看到代码被排得整整齐齐了!   4、复制行和删除行: nyy表示复制n行,p表示将已经复制的数据在光标下一行粘贴   5、设置行号: set num,同样去除行号:set num!   6、撤销操作: u   7、跳转行: gg表示跳到第一行,n + shift +g表示跳到第n行   8、替换行内容: :s/from/to/ : 将当前行中的第一个from,替换成to。如果当前行含有多个from,则只会替换其中的第一个。 :s/from/to/g : 将当前行中的所有from都替换成to。 :s/from/to/gc : 将当前行中的所有from都替换成to,但是每一次替换之前都会询问请求用户确认此操作。 :%s/from/to/g : 对所有行的内容进行替换。   9、翻屏操作: ctrl+f: 下翻一屏。 ctrl+b: 上翻一屏。 ctrl+d: 下翻半屏。 ctrl+u: 上翻半屏。   10、.vimrc注释 两个双引号,双引号之间没有间隔 ""   11、设置高亮行和高亮列: set cursorline set cursorcolumn   参考博客: vim列块操作_vim如何按列复制-CSDN博客 vim配置即.vimrc文件的配置及vim操作技巧-CSDN博客      

标签:set,vimrc,ctrl,可视,使用,模式,vim,简单
From: https://www.cnblogs.com/lethe1203/p/18076456

相关文章

  • diffusion常见VAE使用及其训练
    kl-f8-VAELatentDiffusionModels包含很多Kl8/4...的VAE,这些VAE可以使用自己的数据集进行预训练:所用损失函数: L1+LPIPS网址:GitHub-CompVis/latent-diffusion:High-ResolutionImageSynthesiswithLatentDiffusionModelsf8-ft-EMA、f8-ft-MSE没有发现训练代......
  • Lazarus使用YoloV4
    YoloV4可以用opencv4.0以上加载和使用。但是Lazarus只能支持到opencv2.4.13。所以不能直接使用yolov4,后来只好用VC写了一个dll,调用Opencv4.81再调用YoloV4。在Lazarus下调用这个dll就可以用yolov4了,方法如下一、声明dll库//初始化Yolo库functionYoloInit(cfgfile:pchar;wfil......
  • 实验1_C语言输入输出和简单程序应用编程
    task11#include<stdio.h>2#include<stdlib.h>3intmain()4{56printf("o\to\n");7printf("<H>\t<H>\n");8printf("II\tII\n");910system("pa......
  • 使用定时器中断进行延时,可能会遇到的一个小bug
    之前分享过一篇“使用定时器中断进行延时,取代delay”的文章:(https://blog.csdn.net/qq_44139306/article/details/136481381?spm=1001.2014.3001.5501)在后续的使用过程中,发现了一个bug:即:定时器标志不要在刚使用完一次时就清零,可以在下一次赋值计数值前把它清零。特别是......
  • 在YAPI中使用mock.js语法编写接口
    1.问题编写完json数据后,尝试过导入json和json-schema,YAPI总是无法将mock语法转化相应数据1.1导入json的方式不支持mock语法1.2导入json-schema的方式识别不了我写的mock语法json2.解决先在设置中开启json5,再关闭如图所示的按钮显示如下图所示即成功......
  • 【备忘录】启用电脑的串口,使用串口连接linux系统
    前言串口:rs232-DB9;串口介绍:一、市场标准的rs232DB9串口插头,针脚介绍。 二、市面常见全交叉线缆接线图,至于两头是公头还是母头不重要,只要知道是DB9全交叉串口线缆即可,需要什么插头就搞什么插头。     正文(下述线缆、接口,全部依照上述的标准)第一种情况:本地计算机......
  • 非托管内存简单使用
    非托管内存将变量的值放到非托管内存通常用于优化性能和与外部非托管代码进行交互。非托管内存是直接由操作系统管理的内存,不受.NET运行时(CLR)的管理。性能优化:非托管内存访问速度更快,因为它不受.NET运行时的垃圾回收和类型检查等开销的影响。对于需要频繁访问大量数据的场景,......
  • spring boot使用MongoRepository简单的CRUD
    简单的CRUD首先,定义一个实体类,例如User:@DocumentpublicclassUser{@IdprivateStringid;privateStringname;privateintage;//构造函数、getter和setter省略...}接下来,定义一个继承自MongoRepository的接口,例如UserRepository:publicint......
  • spring boot使用MongoRepository更新单个字段
    在SpringDataMongoDB中,MongoRepository接口提供了基本的CRUD操作。如果你想要通过MongoRepository更新单个字段,你可以自定义一个更新方法或者使用内置的save()方法。这里是一个示例:假设你有一个名为User的实体类,并且有一个继承自MongoRepository的UserRepository接口://定义Us......
  • Profinet转CC-Link网关使用指南
    本文为您提供CCLINK转Profinet网关(XD-PNCR20)使用指南,教您如何快速配置和集成网关,实现CCLINK与Profinet的互联。CCLINK转Profinet网关(XD-PNCR20)是一个经过自主研发的先进设备,CCLINK转Profinet网关设备的研发旨在实现CCLINK总线和Profinet网络之间的完美连接,从而实现各种总线系统的......