Linux中的编辑器vim

news/2024/7/21 12:45:03 标签: linux, 编辑器, vim

目录

vim%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5-toc" style="margin-left:80px;">1. vim的基本概念

vim%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C-toc" style="margin-left:80px;">2.vim的基本操作

vim%E6%AD%A3%E5%B8%B8%E6%A8%A1%E5%BC%8F%E5%91%BD%E4%BB%A4%E9%9B%86-toc" style="margin-left:80px;">3. vim正常模式命令集


vim%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5">1. vim的基本概念

vim的三种模式(其实有好多模式,掌握这3种即可进行基础学习),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
 

1.正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

2.插入模式(Insert mode)

只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式

3.末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+; 即可进入该模式。

若要查看你的所有模式:打开vim,底行模式直接输入:

help vim-modes

vim%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C">2.vim的基本操作

1.进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:
        指令:vim test.c

        
        不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。

2.[正常模式]切换至[插入模式]

        输入a,i,o都可进入

3.[插入模式]切换至[正常模式]

        目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。

4.[正常模式]切换至[末行模式]

        「shift + ;」, 其实就是输入「:」

5.退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

        1.  w (保存当前文件)

        2.  wq (输入「wq」,存盘并退出vim)

        3.  q! (输入q!,不存盘强制退出vim)

vim%E6%AD%A3%E5%B8%B8%E6%A8%A1%E5%BC%8F%E5%91%BD%E4%BB%A4%E9%9B%86">3. vim正常模式命令集

插入模式:

        1.按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
        2.按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
        3.按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

命令模式(英文模式下输入指令)(常用指令):

n+yy:复制当前行   n:复制连续的n行

n+p:粘贴到当前光标的下一行   n:把指定内容粘贴n次

u:撤销   Ctrl+r:对历史的撤销,进行撤销

n+dd:剪切指定n行

shift+4(即$):将光标移动到当前行的结尾

shift+6(即^):将光标移动到当前行的开始

gg:将光标定位到整个文本的开头

shift+g(即G):将光标定位到整个文本的最后一行

n+shift+g:将光标定位到整个文本的第n行

h、j、k、l  :左下上右

w:按照单词为单位进行光标后移

b:按照单词为单位进行光标前移

shift+`(即~):大小写快速切换

n+x:删除光标后续的一个字符,可以一次删除n个---一行内

n+shift+x:删除光标之前的一个字符,可以一次删除n个---一行内

n+r:对光标指定的位置,进行一个字符的替换

shift+r:进入替换模式,直接进行文本替换

shift+zz:保存并退出                             

底行模式:

w:保存

q:退出

wq:保存并退出

q!:强制退出

set nu、set nonu:打开行号,去掉行号

/关键字:到文本中做搜索

!command:不退出vim,可进行shell命令的执行,常用函数查看

vs filename 分屏,多文件操作。如:

其他:

批量化注释和去注释:

注释:先ctrl+v,hjkl去进行区域选择,shift+i,然后//,最后双击Esc键

去注释:先ctrl+v,hjkl去进行区域选择,包含且仅包含//,d。 


http://www.niftyadmin.cn/n/5342492.html

相关文章

Redis---数据库和缓存如何保证一致性?

先更新数据库,再删除缓存 用「读 写」请求的并发的场景来分析: 假如某个用户数据在缓存中不存在,请求 A 读取数据时从数据库中查询到年龄为 20,在未写入缓存中时另一个请求 B 更新数据。它更新数据库中的年龄为 21,并…

C语言基础07 指针

# python ,java 没有指针概念 # go 中有指针概念&#xff0c;用起来比较简单 # c 中指针&#xff0c;用起来比较复杂 # 指针是什么&#xff1f; 指针是变量&#xff0c;存储变量内存地址 指针是存储变量内存地址的变量 义指针类型变量和取变量地址 #include <stdio.h>…

【黑客攻击】微软遭受由APT组织 Midnight Blizzard发起的网络攻击

隐藏的威胁和网络巨头的反应。 周五&#xff0c;微软宣布了一次网络攻击&#xff0c;据信是由APT组织 Midnight Blizzard发起的&#xff0c;此次攻击渗透了该公司的多个公司电子邮件帐户&#xff0c;包括“负责网络安全、法律和其他职能的高级管理层和员工”的电子邮件帐户。 …

在PyCharm中安装GitHub Copilot插件,login之后报出如下错误:

Sign in failed. Reason: Request signInInitiate failed with message: connect ECONNABORTED 20.205.243.166:443, request id: 7, error code: -32603 前提&#xff1a; 设置网址&#xff1a;https://github.com/settings/copilot&#xff0c;已设置为允许 或者&#xff1…

中断——外部中断EXIT

前期疑问&#xff1a;中断可以分成外部中断和内部中断吗 文章目录 前言一、中断知识二、中断编程三、EXIT外部中断/事件控制器 3.1 中断事件线3.2 EXTI初始化结构体详解 四、软件设计 4.1 编程要点 五、代码回顾实现六、补充中断知识总结 前言 野火中断章节有这样一句话 【F…

Golang TCP/IP服务器/客户端应用程序,设计一个简单可靠帧传送通信协议。(并且正确处理基于流式控制协议,带来的应用层沾帧[沾包]问题)

在 Golang 语言标准库之中提供了&#xff0c;对于TCP/IP链接、侦听器的高级封装支持&#xff0c;这易于上层开发人员轻松基于这些BCL&#xff08;基础类库&#xff09;实现期望的功能。 TCP/IP链接&#xff08;客户端&#xff09; net.Conn 接口 TCP/IP侦听器&#xff08;服务…

GBASE南大通用的接口程序GBase ADO.NET

GBase ADO.NET 是一个提供.NET 应用程序与 GBase 数据库之间方便、高效、 安全交互的接口程序&#xff0c;使用 100%纯 C#编写&#xff0c;并继承了 Microsoft ADO.NET 类。 开发人员可以使用任何一种.NET 开发语言&#xff08;C#、VB.NET、F#&#xff09;通过 GBase ADO.NET 操…

PWM调光 降压恒流LED芯片FP7127:为照明系统注入新能量(台灯、GBR、调光电源、汽车大灯)

目录 一、降压恒流LED芯片FP7127 二、降压恒流LED芯片FP7127具有以下特点&#xff1a; 三、降压恒流LED芯片FP7127应用领域&#xff1a; LED照明和调光的新纪元随着LED照明技术的不断发展&#xff0c;人们对于照明调光的需求也越来越高。PWM调光技术作为一种常用的调光方法&…