Linux学习之Vim/Vi使用(十三)
Linux学习之Vim/Vi使用
1 2 3 4 | Vim / Vi简介 Vim / Vi工作模式 Vim / Vi基本使用 Vim / Vi应用技巧 |
1 | <br><br><br> |
Vim/Vi简介
1 2 3 | Vim / Vi是一个功能强大的全屏幕文本编辑器,是Linux / UNIX上最常用的文本编辑器,它的作用是建立、编辑、显示文本文件。<br> Linux下的编辑器最常用的就是vim或者vi文本编辑。vi 和vim 编辑器的区别是vim是vi的改进版本,在vi 编辑器的基础上上扩展了很多实用的功能。?大多数的linux / unix 发行版本中都<br>使用 vim 代替了原来的 vi 文本编辑器。 如果是centos或者redhat系统,当系统安装完毕后,vi / vim 文本编辑器默认情况下就已经被安装了。如果是debian / ubuntu系统下,默认情况下<br>,vim编辑器是不会被安装的。你需要在ubuntu系统下手动安装vim编辑。<br> vi / vim文本编辑器是我们在linux系统下工作可以说是必须会使用的一个工具,因为linux系统的设计理念是一切皆文件,也就是说,你在linux里的任何操作都是对文件的操作,所以会经常去<br>操作文件,更改文件,保存文件,退出并保存文件。<br><br>Vim / Vi 没有菜单,只有命令。<br> |
1 |
Vim/Vi工作模式
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 命令模式: 进入:vi filename 退出::wq 插入模式: i a o 注意:从插入模式变为命令模式,按ESC键 编辑模式: : 命令以回车结束运行 注意:从编辑模式变为命令模式,按ESC键 |
Vim/Vi基本使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | 插入命令 命令 作用 a 在光标后附加文本 A 在本行行末附加文本 i 在光标前插入文本 I 在本行开始插入文本 o 在光标下插入新行 O 在光标上插入新行 定位命令 命令 作用 h 左移一个字符 j 下移一行 k 上移一行 l 下移一个字符 $ 移到行尾 0 移到行首 H 移至屏幕上端 M 移至屏幕中央 L 移至屏幕下端 : set nu 设置行号 : set nonu 取消行号 gg 到第一行 G 到最后一行 nG 到第n行 :n 到第n行 删除命令 命令 作用 x 删除光标所在处字符 nx 删除光标所在处后n个字符 dd 删除光标所在行 ndd 删除光标往下n行 dG 删除光标所在行末尾的内容 D 删除从光标所在处到行尾 :n1,n2d 删除指定范围的行 复制和取消命令 命令 作用 yy、Y 复制当前行 nyy、nY 复制当前行以下n行 dd 剪切当前行 ndd 剪切当前行以下n行 p、P 粘贴在当前光标所在行下或行上 替换和取消命令 命令 作用 r 取代光标所在处字符 R 从光标所在处开始替换字符,按Esc结束 u 取消上一部操作 搜索和替换 命令 作用 / string 向前搜索指定字符串 开启搜索时忽略大小写 : set ic 关闭搜索时忽略大小写 : set noic n 搜索指定字符串的下一个出现位置 : % s / old / new / g 全文替换指定字符串 :n1,n2s / old / new / g 在一定范围内替换指定字符串,后面g意思是在替换时是否确认,c为没有提示 r 取代光标所在处字符 R 从光标所在处开始替换字符,按Esc结束 u 取消上一部操作 保存和退出命令 命令 作用 :w 保存修改 :w new_filename 另存为指定文件 :wq 保存修改并退出 ZZ 快捷键,保存修改并退出 :q! 不保存修改退出 :wq! 保存修改并退出(文件所有者可忽略文件的只读属性) 注意:对文件可以强行保存退出的只可能是文件所有者或者是root用户 |
Vim/Vi应用技巧
1 2 3 4 5 6 7 | 导入文件:r 文件名 在Vi中执行命令:!命令 在Vi中导入执行命令的结果r !命令 定义快捷键: map 快捷键 触发命令 连续行注释 替换 自定义vi使用方式 |
导入文件:r 文件名
可以将其他文件的内容导入到这个编辑的文件中。
在Vi中执行命令:!命令
在Vi中导入执行命令的结果r !命令
按一次回车回到编辑文件的界面内
定义快捷键:map 快捷键 触发命令
1 2 3 4 | 范例: : map ^P I #<ESC><br>#这个快捷键的作用,按ctrl+p后光标跳到在本行开始位置,写入#,用来加注释。 : map ^B 0x <br> #这个快捷键的作用是光标移到行首,删除光标所在处的字符,用来删除注释。 unmap ^p 取消快捷键 |
连续行注释
1 2 3 | :n1,n2s / ^ / #/g :n1,n2s / #//g :n1,n2s / ^ / \ / \ / / g |
替换
很容易理解,输入一个字符或者字符串,变成另一个字符串。
1 2 | 定义替换:ab sammail sam@www.com 取消ab替换的定义:unab sammail |
自定义vi使用方式
每一个用户都可以定义自己的vi使用方式,配置文件在每个用户的宿主目录下的/.vimrc。
1 2 | root / root user / home |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?