Linux中vim常用命令

news/2024/10/21 9:12:30/

记录下来,下次忘了好找。

一些常用命令

保存退出      :wq

不保存退出   :q

不保存强制退出    :q!

esc进入普通模式

用Vim写一个文件,写完保存退出的流程

1.编辑文件,若文件已存在,则存放于原文件;若文件不存在,且无设定目录,则存放于默认目录(主目录)
如果刚编辑完文件,文件还不存在,可以试着先在终端ls看一下

vi main.c

2.先输入一个i,从普通模式到插入模式,然后正常写代码。

3.代码写完后,先按esc回到普通模式,再

:wq//保存并退出

其他几种退出情况见第一条

vi的删除操作

参考vi-删除操作--删除空行 - si_sier - 博客园 (cnblogs.com)

:g/^s*$/d 删除所有空行
:%s/r//g 删除DOS方式的回车^M
:%s= *$== 删除行尾空白
:%s/^(.*)n1/1$/ 删除重复行
:%s/^.pdf/new.pdf/ 只是删除第一个pdf
:%s/<!--_.-->// 又是删除多行注释(咦?为什么要说「又」呢?)
:g/^s*$/d 删除所有空行 :g/^s*$/d 删除所有空行
:g!/^dd/d 删除不含字符串'dd'的行
:v/^dd/d 同上 (译释:v == g!,就是不匹配!)
:g/str1/,/str2/d 删除所有第一个含str1到第一个含str2之间的行 :v/./.,/./-1join 压缩空行
:g/^$/,/./-j 压缩空行
ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd 删除当前行及其后 n-1 行。
x 或 X 删除一个字符。
Ctrl+u 删除输入方式下所输入的文本。
^R 恢复u的操作
J 把下一行合并到当前行尾
V 选择一行
^V 按下^V后即可进行矩形的选择了
aw 选择单词
iw 内部单词(无空格)
as 选择句子
is 选择句子(无空格)
ap 选择段落
ip 选择段落(无空格)
D 删除到行尾
x,y 删除与复制包含高亮区
dl 删除当前字符(与x命令功能相同)
d0 删除到某一行的开始位置
d^ 删除到某一行的第一个字符位置(不包括空格或TAB字符)
dw 删除到某个单词的结尾位置
d3w 删除到第三个单词的结尾位置
db 删除到某个单词的开始位置
dW 删除到某个以空格作为分隔符的单词的结尾位置
dB 删除到某个以空格作为分隔符的单词的开始位置
d7B 删除到前面7个以空格作为分隔符的单词的开始位置
d) 删除到某个语句的结尾位置
d4) 删除到第四个语句的结尾位置
d( 删除到某个语句的开始位置
d) 删除到某个段落的结尾位置
d{ 删除到某个段落的开始位置
d7{ 删除到当前段落起始位置之前的第7个段落位置
dd 删除当前行
d/text 删除从文本中出现“text”中所指定字样的位置,
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容
D 删除到某一行的结尾
d$ 删除到某一行的结尾
5dd 删除从当前行所开始的5行内容
dL 删除直到屏幕上最后一行的内容
dH 删除直到屏幕上第一行的内容
dG 删除直到工作缓存区结尾的内容
d1G 删除直到工作缓存区开始的内容


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

相关文章

20230422 | 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、142. 环形链表 II

1、24. 两两交换链表中的节点 初始时&#xff0c;cur指向虚拟头结点&#xff0c;然后进行如下三步&#xff1a; 操作之后&#xff0c;链表如下&#xff1a; 看这个可能就更直观一些了&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* i…

【MyBatis基础】SpringBoot集成MyBatisPlus的基于字段隔离的多租户实现

文章目录 1. 多租户在数据存储上的实现方式2. 基于字段的隔离方式实践3. 补充 摘要&#xff1a;多租户的含义是让多用户共用相同的系统或组件&#xff0c;但是又能保证各个用户之间数据是隔离的。多租户技术可以实现多个租户共用系统实例&#xff0c;而且同时能实现系统实例的个…

Bean作用域和生命周期

修改的Bean案例 User&#xff1a; package com.bean;import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Controller;public class User {private int id;private String name;Overridepublic String toString() {return "Use…

Tomcat 配置与部署

http 协议就是 http 客户端和 http 服务器之间通信的协议 , 而Tomcat 就是 java 圈子中最广泛使用的 http 服务器. 下载Tomcat Tomcat官网 Tomcat 的版本 , 和后续的 servlet 版本是强相关的 , 此处使用 tomcat 8 , 对应的 servlet 就是 3.1 下载一个 zip 压缩包解压缩即可 T…

什么蓝牙耳机适合学生党?学生党蓝牙耳机性价比排行

现如今&#xff0c;市场上有各种各样的品牌和蓝牙耳机&#xff0c;让人在选择时不免眼花缭乱。作为学生党&#xff0c;在选择一样东西的时候&#xff0c;性价比无疑会成为其选择的重要参考因素。下面&#xff0c;我来给大家分享几款适合学生党的高性价比蓝牙耳机&#xff0c;一…

通达信结构紧凑形态选股公式编写思路

在威廉欧奈尔的《笑傲股市》、马克米勒维尼的《股票魔法师》等书籍中都有结构紧凑形态的相关描述&#xff0c;股票在形成基底时&#xff0c;价格波动幅度逐渐减小&#xff0c;量能逐步萎缩&#xff0c;同时价格相对强度较高。 结构紧凑的形态通过眼睛观察&#xff0c;一般可以…

ChatGPT应用篇:如何快速生成精美PPT提高工作效率-附资料下载

一、ChatGPT生成markdown源代码 问&#xff1a; 我想做一份ChatGPT变现方法的PPT&#xff0c;请生成丰富的教学展示内容&#xff0c;因为生成PPT是需要MarkDown格式的&#xff0c;请您输出Markdown格式的内容 ChatGPT回复&#xff1a; 二、Mindshow登录/注册 用浏览器打开Mi…

GNU make的官方生成依赖例子理解

GNU make的官方生成依赖例子理解 直接贴代码 直接贴代码 %.d : %.cset -e; \gcc -MM $< > $.$$$$; \sed s,\($*\)\.o[ :]*,\1.o $ : ,g < $.$$$$ > $; \rm -f $.$$$$对于sed ‘s,($).o[ :],\1.o $ : ,g’ < . . .$$$ > $;不是很理解&#xff0c;通过查找资…