Linux 命令vim(编辑器)

(一)vim编辑器的介绍

vim是文件编辑器,是vi的升级版本,兼容vi的所有指令,同时做了优化和延伸。vim有多种模式,其中常用的模式有命令模式 、插入模式 、末行模式:。

(二)vim编辑器基本操作

1 进入vim编辑文件

h 复制代码
1  vim 文件路径       				//直接打开指定文件(光标位于首行或上次关闭文件时光标的所在行)
2  vim +数字 文件路径      			//打开指定文件并将光标移动到指定行(数字对应的行数)
3  vim +/关键词 文件路径    			//打开指定文件并高亮显示关键词
4  vim 文件路径1 文件路径2 文件路径3	//可同时打开多个文件,文件之间可切换操作

2 模式之间的切换

插入模式 :是可以直接将键盘输入的内容插入到文件的模式。
命令模式 :是通过vim指令进入操作的默认模式,可以切换成其他模式。
末行模式:是在屏幕的最末行进行命令输入的模式。

(三) 模式的详细介绍

1插入模式

i 光标不会移动

a 光标向后移动一个字符的位置 ,按Esc退出该模式后光标会向前挪一个字符的位置。

o 会有新起一行的操作,按Esc退出该模式后换行的操作仍不会撤销。

2命令模式

(1) 复制 粘贴 剪贴

复制代码
yy/nyy      复制光标所在行的内容,	n是数字,表示从光标处开始复制n行内容
p /np       粘贴剪切板中的内容, 	n是数字,表示从光标处开始粘贴n份相同的内容
dd/ndd      剪切光标所在行的内容,	n是数字,表示从光标处开始剪切n行内容;
			如果后续没有粘贴的操作,则该操作等同于删除

(2) 删除多个字符

复制代码
nx          行内删除,从当前光标位置起向右删除n个字符的内容(包括当前光标所指的字符)
nX          行内删除,从当前光标位置起向左删除n个字符的内容(不包括当前光标所指的字符)

(3) 撤销 与 恢复

复制代码
u           撤销上次的操作
ctrl + r    恢复撤销的操作(撤销的复原过程,输入该指令前未进行撤销操作,则会报错)

(4) 挪动光标

复制代码
shift + g (即G) 	将光标定位到文档内容的最后一行开头
gg                	将光标定位到文档内容的开头
n shift+g(即nG)   	将光标定位到文档内容的第n行开头
shift + 4(即$)   	将光标定位到当前所在行的行尾
shift + 6(即^) 	将光标定位到当前所在行的行首
n w               	以单词为单位,光标向后挪动一个单位(范围是整个文件,即可以跨行挪动光标)
n b                	以单词为单位,光标向前挪动一个单位(范围是整个文件,即可以跨行挪动光标)

(5) 字符切换相关的指令

复制代码
shift + ~        	快速进行大小写的切换(当前光标处)
n r + 替换后的字符 	替换当然光标所指向的内容

(6) 光标进行上下左右移位的按键

复制代码
h					向左
j					向下
k					向上
l					向右

3末行模式

(1)保存

复制代码
:w				字母w再回车,保存当前文件
:w 文件路径  	字母w+空格 + 文件保存路径

(2)退出

复制代码
:q   		退出当前文件
:wq			保存当前文件并退出
:q!    		强制退出,不保存对文件的修改并退出

(3)搜索/查找

复制代码
:/关键词     /+关键词再回车,按关键词查找,查找到的内容会被高亮显示
:nohl   	字母nohl再回车,取消查找到的内容的高亮显示,若不取消内容会一直高亮显示
N/n     	字母N/n,光标移动到上/下一个查找到的内容(属于命令模式)

(4)替换

复制代码
:s/搜索的内容/新内容     		用新内容替换光标所在行第一处被搜索到的内容
:s/搜索的内容/新内容/g       	用新内容替换光标所在行全部被搜索到的内容
:%s/搜索的内容/新内容        	用新内容替换整个文件每一行第一处被搜索到的内容
:%s/搜索的内容/新内容/g      	用新内容替换整个文件全部被搜索到的内容

(5)显示行号

复制代码
set nu	    字母set+空格+字母nu再回车,显示文件每行的行号,显示行号是暂时的下次打开该文件不会再显示
set nonu    字母set+空格+字母nonu再回车,取消行号显示

(6)多文件查看

复制代码
files   	字母files再回车,查看同时打开的所有文件的名称
  • %a 表示它对应的文件是当前操作的文件

  • 表示它对应的文件是上一个操作的文件

    open 文件名 字母open+空格+文件名再回车,切换到其他打开的文件进行操作
    bn 字母bn再回车,切换到下一个打开的文件
    bp 字母bp再回车,切换到上一个操作的文件

    sp [filename] 打开一个新窗口,如果加filename,表示在新窗口创建一个新文件,否则表示两个窗口为同一文件内容

  • 【ctrl】+ w +⬆/k 光标移动上窗口

  • 【ctrl】+ w +⬇/j 光标移动下窗口

  • 【ctrl】 + w + q 结束退出

注意:每执行完一次末行模式下的命令之后,都会自动退回到命令模式

相关推荐
道满科技16 分钟前
Function Calling 参数总出错?只修参数就行
linux·windows·python
Android系统攻城狮44 分钟前
Linux Gstreamer深度解析之gst_audio_ring_buffer_prepare_read调用流程与实战(七十四)
linux·运维·服务器·gstreamer音视频·音视频进阶
我科绝伦(Huanhuan Zhou)1 小时前
Linux 通用压力测试脚本合集:磁盘 + 网络
linux·网络·压力测试
Soneswy3 小时前
Linux系统篇--重定向与文件操作命令
linux
有毒的教程3 小时前
Linux底层存储路由配
linux·运维·网络
Linux系统运维工程师_郭主任5 小时前
运维人还在被拒offer?现在能考的,只有 RHCE 10.0。
linux
自养Agent5 小时前
MCP Server Boundary Audit Report
linux·服务器·人工智能·windows·大模型·llm
Coisinier6 小时前
docker命令管理镜像及容器
linux·运维·nginx·docker·容器·操作系统
A心有千千结6 小时前
通过 SSH 反向代理让服务器借用本机网络访问 GitHub 的最佳实践
linux·服务器·网络·git·ssh·github
书生执笔画浮沉7 小时前
Linux 内核模块为什么不能自己解决兼容性问题?
linux·c·kernel·update·灵感