Linux之编辑器vim命令

vi/vim命令:

终端下编辑文件的首选工具,号称编辑器之神

基本上分为三种模式,分别是
  1. 命令模式(command mode)===>输入vi的命令和快捷键,默认打开文件的时候的模式
  2. 插入模式(insert mode)===>进入编辑模式,可以编辑文件
  3. 底行模式(last line mode)===>调整文件内容

找到一张图片来展示三种模式之间的转换

常规基本操作:
  1. vim file #vim后面跟一个文件名打开文件,默认进入命令行模式,无法编辑文件
  2. 按下字母i键即可进入插入模式,注意文件左下角会出现"-----插入(黏贴)-----"
  3. 开始编辑文件内容
  4. 按下Esc键,切换到命令行模式,再按下shift+":"组合键,进入底行模式,标志是文件左下角会出现不停闪烁的":",在此的后面写上wq或者q!回车,保存退出。
其他操作命令:

1移动命令,所有操作在命令行模式执行

0)默认支持方向键移动

1)向前移动:l,空格,方向右键

2)向后移动:h、方向左键

3)移动到下一行:+、ENTER、j、ctrl+n、方向下键

  1. 移动到上一行:ctrl+p、方向上键

其他快捷操作:

移动到行首:0 移动到行尾:$

屏幕滚动下:ctrl+f 屏幕滚动上:ctrl+b

zt 定位到屏幕顶端 zb 屏幕定位到屏幕底端

gg定位到文件开头 G定位到文件末尾

2.编辑命令:

  1. 插入iI i 在光标当前插入

I 在光标行开头插入

  1. 附加 a/A a 在光标后增加

A 在光标行最后增加

3)新行 /0 o在光标行下新起一行

0 在光标行上面新起一行

4)删除x/X x删除光标所在处字符

X 删除光标前面的字符,

可以 nx /nX表示删除多少个字符

5)删除行 dd/D dd 删除光标所在行

D 从光标所在位置开始到行末位

dgg 删除光标所在行到文件开头的所有数据

dG 删除光标所在行到文件末尾的所有数据

u 用来撤销刚才的操作

6)剪切与粘贴

dd剪切一行

p 粘贴一行

7)复制与粘贴:

yy复制一行

p 粘贴一行

8)复制与移动: 底行模式下执行

:开始行,结束行 co 目标行

例如·...: 1,2 co 5 把第一行到第二行复制到第五行

:开始行,结束行 m 目标行

例如::1,2m5把第一行到第二行移动到第五行

9)移动到指定行,行号 行号G

查找与替换命令:

1)查找 在命令模式使用"/"在其后直接写需要查询的

关键字 然后>回车 ==》 n/N 来查询

n 表示从光标处开始往下找

N 表示从光标处开始往上找

/\ <xx\> 表示严格匹配查找xx字符

比如: /\<printf\>==>严格匹配,只查找该单词

./printf.....==>模糊匹配,只要包含该单词都高亮显示

在当前文档中严格匹配查找单词printf

2)替换:g/s1/s//s2/g

将文件中所有的s1字符串都替换成s2,

s1和s2可以使字母也可以是字符

比如::g/printf/s//PRINTF/g

将当前文档中所有的小写printf全部替换成大写的printf

其他常用操作:

u 撤销刚才的操作 重复刚才的动作

挂起 ctrl+z 恢复fg

关键字补齐 ctrl+n 自动缩进 "='

高亮显示...% :sp(:vsp) 文件名横(纵)向窗口, ctrl+w 多窗口切换

显示不同...:set diff 去掉显示不同语法:set nodiff

保存退出命令:

wq 保存退出 :·q.不保存退出 :.x保存退出

wq!...强制保存退出 :q! 强制不保存退出

wq...../home/linux/xxx.c 指定位置保存文件

自动框架:.vimrc 文件

相关推荐
小龙报15 小时前
《VScode搭建教程(附安装包)--- 开启你的编程之旅》
c语言·c++·ide·vscode·单片机·物联网·编辑器
LCG元15 小时前
Linux 网络调试神器:tcpdump 和 Wireshark 抓包分析实战
linux
QT 小鲜肉15 小时前
【C++基础与提高】第十一章:面向对象编程进阶——继承与多态
java·linux·开发语言·c++·笔记·qt
序属秋秋秋16 小时前
《Linux系统编程之进程基础》【进程入门】
linux·运维·c语言·c++·进程·系统编程·fork
橘子真甜~16 小时前
C/C++ Linux网络编程4 - 解决TCP服务器并发的方式
linux·运维·服务器
last demo16 小时前
Linux 逻辑卷管理
linux·运维·服务器
ll_god16 小时前
ubuntu:beyond compare 4 This license key has been revoked 解决办法
linux·运维·ubuntu
网硕互联的小客服17 小时前
如何解决 Linux 文件系统挂载失败的问题?
linux·服务器·前端·网络·chrome
大聪明-PLUS1 天前
如何使用 Docker 打包一个简单的应用程序:简易指南
linux·嵌入式·arm·smarc
serve the people1 天前
Prompts for Chat Models in LangChain
java·linux·langchain