linux:vim
vi介绍#
vi和vim都是linux中的编辑器,而vim比较高级,视为vi的升级版。
vim重点:光标的移动、模式切换、删除、查找、替换、复制、粘贴、撤销命令的使用
vim模式#
vim有12种模式,其中常用的是3种,分别是:
命令模式
该模式下,不能对文件进行直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等)【打开文件后的默认模式】
编辑模式
又叫“输入模式”,该模式下,可以对文件内容进行编辑
末行模式
又叫“行尾模式”,可以在末行为文件进行操作(搜索、替换、退出、撤销、高亮等)
打开文件的方式#
1、vim 文件路径 :打开指定文件
2、vim +数字 文件路径 :打开指定文件,并将光标移动指定行
3、vim +/关键字 文件路径 :打开指定文件,并高亮显示关键字
4、vim 文件1路径 文件2路径 文件3路径 :同时打开多个文件
打开多个文件时,在末行切换文件
查看当前已经打开的文件名称:“:files”
%a:active ,表示当前正在打开的文件
#:表示上一个打开的文件
切换方式
1、“:open 指定文件名”
2、通过其他命令切换上一个/下一个文件
输入:“:bn”:切换到下一个文件(back next)
输出:“:bp”:切换到上一个文件(back prev)
退出方式#
输入: q 回车即可
命令模式#
光标移动#
1、移动行首
按 shift + 6 或 ^
2、移动行尾
按 shift +4 或 $
3、移动首行
按 gg
4、移动末行
按 G
5、翻屏
向上:ctrl + b 或 pgup
向下:ctrl + f 或 pgdn
6、快速移动到指定行
数字 G
7、以当前光标为准,向上/下移动n行
数字 上箭头 、数字 下箭头
8、以当前光标为准,向左/右移动n行
数字 左箭头 、数字 右箭头
9、末行模式下:移动指定行
英文 “ : ” 数字
复制操作#
1、复制光标所在行
按 yy
粘贴:在要粘贴的位置按 p
2、以光标所在行为准(包含当前行),向下复制指定的行数
按 数字 + yy
粘贴:在要粘贴的位置按 p
3、可视化复制
按 ctrl + v ,然后按下 上、下、左、右方向键选中需要复制的区块,按 yy 复制
粘贴的位置按 p
剪切/删除#
1、剪切/删除光标所在行
dd :删除后下一行上移
2、剪切/删除光标所在行为准(包括当前行),向下删除/剪切
数字 dd:删除后下一行上移
3、剪切/删除光标所在的当前行,但下一行不会上移
D :删除后会变成空白行
撤销/恢复#
1、撤销
:u 或者 u
2、恢复
ctrl +r :恢复(取消)之前的撤销
模式间的切换#
末行模式#
保存#
:w 保存文件
:w 路径 另存文件
退出#
q 退出文件
保存并退出#
:wq 保存并退出
强制 #
:q! 强制退出,不保存修改
调用外部命令#
:! 外部命令
搜索/查找#
:/ 关键字
在搜索结果中切换上/下一个结果 :N/n
替换#
:s/ 搜索的关键字 / 新的内容 :替换光标所在行的第一处符合条件的内容
:s/ 搜索的关键字 / 新的内容 / g:替换光标所在行的全部符合条件的内容
:%s/ 搜索的关键字 /新的内容:替换整个文档每行第一个符合条件的内容
:%s/ 搜索的关键字 /新的内容 / g:替换整个文档全部符合条件的内容
% :表示整合文件
g :表示全局(global)
显示行号#
set nu
取消行号:set nonu
上面是临时生效,要想永久生效,必须修改配置文件:
配置文件:
/etc/vimrc 是系统范围的初始化配置
~/.vimrc 个人的vim初始化配置
打开配置文件,添加 “set number”,如下:
编辑模式#
进入方式#
1、i:在光标所在字符前开始插入
2、a:在光标所在字符后开始插入
3、o:在当前行之下新开一行
4、O:在当前行之上新开一行
退出#
按esc
实用功能#
代码着色#
显示:syntax on
关闭显示:syntax off
使用计算器#
1、进入编辑模式
2、按 ctrl+R ,然后输入 = ,光标会变到最后一行
3、输入需要计算的内容,按回车
可视化模式#
在命令模式下,按ctrl+V,则进入可视化模式
多行选中#
1、首先光标先放在需要选中内容的第一行
2、在命令模式下,按ctrl+V,则进入可视化
3、通过 H J K L 键来选中需要选中的内容
1 2 3 4 | H left (让光标左移动) J down (让光标下移动) K up (让光标上移动) L right (让光标右移动) |
多行注释#
1、按照多行选中的步骤选中需要注释的内容后
2、按大写i ( I ),进入编辑模式
3、输入#
4、按两次“Esc”
键
多行取消注释#
1、按照多行选中的步骤选中需要取消注释的内容后
2、按 d键,即可取消
分屏模式#
垂直分屏#
在末行模式下输入:vs 文件名/或者路径#
水平分屏#
在末行模式下输入:sv 文件名/或者路径(水平分屏)——不常用#
切屏#
ctrl+w+w#
关闭分屏#
1 2 3 4 5 6 7 8 9 10 11 | #取消其它分屏,只保留当前分屏 :only #或者 [CTRL] W o #退出当前所在分屏 :q #或者: :quit |
扩展#
vim的配置#
1、末行模式下输入的配置(临时的)
2、个人配置文件(./vimrc,如果没有,则自行创建)
3、全局配置文件(/etc/vimrc)
配置文件的优先级#
对于同一配置项,以个人配置文件为准,若个人配置文件中不存在,则以全局配置文件为准
异常退出#
编辑的文件没有退出保存,而是突然关闭终端或断电的情况
解决办法:删除交换文件(编辑过程中产生的临时文件)
别名机制#
别名映射文件:~/.bashrc ,需重新登录才能生效
退出#
1、:q :不保存直接退出
2、:wq :保存退出 ,修改时间
3、:x :在文件没有修改时,直接退出,且不修改时间;在文件修改时,保存并退出
注意::X :对文件进行加密
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/13029529.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)