个人使用VIM的一些总结
这两天闲着都在捣鼓VIM了,感觉有点不务正业了,不得不说VIM里面要学习的东西太多了,学习曲线无比陡峭。知识点多了有点乱,特地发个博梳理一下,都是我自己在学习过程中积累的一些,可能有点杂,凑合着看吧,轻拍,欢迎提问一起探讨。
一、vim介绍与常用命令
这个就不说了吧,自行google,贴一张VI/VIM键盘图,要学习的拿去当桌面吧,哈哈。
二、vim各版本区别
ubuntu下预装的版本是vim.tiny,这个更靠近纯vi了,不能使用小键盘和方向键,在编辑模式下,移动光标会变成A B C D等字符并换行。
解决方法两个;
1.vim缺省是vi兼容模式,设置成不兼容模式就好了:
:set nocp
2.安装完整VIM
VIM其他版本:vim-gnome安装的vim依赖于gnome的某些东西的。vim-gtk 依赖于gtk的某些东西。vim-nox这个不知道,ubuntu官网也没说明。还有一个vim-athena,据说是界面很华丽,没用过不评论。具体看http://packages.ubuntu.com/oneiric/vim
三、vim缓冲区
缓冲区(Buffer)是一块内存区域,里面存储着正在编辑的文件。如果没有把缓冲区里的文件存盘,那么原始文件不会被更改。
:buffers
命令将会列出当前编辑中所有的缓冲区状态。在这个状态列表中,前面的数字是缓冲区的数字标记,第二个标记就是缓冲区当前的状态,紧接着是与缓冲区所关联的文件名。有如下几种状态:
- (非活动的缓冲区)
a (激活缓冲区)
h (隐藏的缓冲区)
% (当前的缓冲区)
# (交换缓冲区)
= (只读缓冲区)
+ (已经更改的缓冲区)
:buffers |
列示缓冲区状态 |
:buffer |
编辑指定缓冲区 |
:ball(ba默认水平分屏) |
编辑所有缓冲区 |
:bnext(bn) |
到下一缓冲区 |
:bprevious(bp) |
到前一缓冲区 |
:blast |
到最后一个缓冲区 |
:bfirst |
到第一个缓冲区 |
:badd |
增加缓冲区 |
:bdelete |
删除缓冲区 |
:bunload |
卸载缓冲区 |
CTRL-W- 减小窗口,默认值为1
CTRL-W= 可以将几个窗口的大小变得相等。
:tabnext : 到下一个标签页。
:tabc: close a tab
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!