我的常用vim操作

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)

我的常用vi操作

1. 文件打开与保存

打开文件操作:vi xxx.h

查看文件,不修改,:view xxx.h

写入并保存::wq 或 :x

有修改强制退出,不保存::q!

无修改时退出::q

2. 编辑操作

添加插入内容:i

更新替换内容:r

取消上个操作/修改:u

删除字符:x

删除整行:dd

3. 状态调整操作

设置粘贴::set paste

(paste-mode时不会自动缩进处理)

显示行号/取消行号number::set nu / :set nonu

设置禁用tab转空格::set noet / :set noexpandtab

4. 跳转操作

切换到下一个页面:ctrl + f

切换到上一个页面:ctrl+ b

跳转到文件头:gg

跳转到文件末尾:Shift+g

切换到上一个括号行:[[

切换到下一个括号行:]]

跳转到指定行,例如100行::100

查找内容,例如查找label::/label

5. 附录:no前缀 与 !后缀

vi 支持状态设置时,使用no前缀,也支持使用!后缀,

例如::set nu, :set nonu, :set nu!,但三者是有差异的,作用各不相同

:set nu等效于:set number,显示行号;

:set nonu等效于:set nonumber,取消显示行号;

:set nu!等效于:set number!,对当前的状态取反,如果当前有行号则切换未不显示,如果当前无行号则切换为显示;

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)

相关推荐
努力的小帅4 分钟前
使用 Tailscale 实现 Ubuntu 远程开发(VSCode Remote SSH + NoMachine)
linux·ide·vscode·ubuntu·编辑器·copilot
开发者联盟league5 分钟前
解决vscode默认终端log日志输出中文乱码的问题
ide·vscode·编辑器
大袁同学8 分钟前
【线程】:在并发的荒原上构筑秩序
linux·c++·线程
lightqjx11 分钟前
【Linux】第一个小程序:进度条
linux·服务器·学习·缓存·c·进度条实现
扬帆破浪12 分钟前
免费开源AI软件.桌面单机版,可移动的AI知识库,察元 AI桌面版:本地离线知识库的最小依赖 Linux下不联外网装包跑通
linux·运维·人工智能
kyle~13 分钟前
Linux---挂载系统
linux·运维·服务器
凡梦千华21 分钟前
CentOS系统安装Elasticsearch,RPM包方式
linux·elasticsearch·centos
倔强的石头10622 分钟前
【Linux 指南】文件系统系列(二):核心抽象层 —— 块 、分区 、inode 从原理到实操
linux·服务器·数据库
谷雨不太卷23 分钟前
TCP外壳
linux·网络·tcp/ip
sanguine_boy27 分钟前
csv、log、txt文件过大,需要拆分成多个文件
linux