【从Python基础到深度学习】 8. VIM两种状态

一、安装

python 复制代码
sudo apt install vim

二、VIM两种模式 - 命令状态/编辑状态

1.1 进入/退出VIM

进入VIM

python 复制代码
vim

退出vim

python 复制代码
:q <enter>

2.2 根目录下添加配置文件

window下创建vimrc类型文件内容如下:

python 复制代码
set nu
set cursorline
set hlsearch
set tabstop=4

使用Winscp 将vimrc文件拖入根目录下(Winscp使用见【从Python基础到深度学习】3. Winscp与Ubuntu使用及配置-CSDN博客

更改配置文件为隐藏文件

python 复制代码
cp vimrc .vimrc

2.3 进入vim后默认为命令模式

2.4 命令模式与编辑模式切换

按 i 键后左下角出现 insert 即进入编辑模式

编辑模式下可对文本正常进行输入

按 ESC键回到命令模式

三、文档保存与退出

结束编辑:

:q
在未修改文档的情况下退出

: q !
放弃文档的修改,强行退出

: w
文档存盘

: wq文档存盘退出其他:

:help命令查看该命令的帮助提示(不常用,当不小心按F1时,通过:q进行退出>

: % ! xxd十六进制模式

: %!xxd -r 返回文本模式中间有一个空格的
如果在编辑过程中不小心按了Ctrl+s, vim 会处于僵死状态,按Ctrl+q可以恢复。

四、删除与修改

X 删除光标处的字符
dd 删除光标所在的整行
[n]dd 删除光标所在行以及下面的两行(删除[n]行,[n]表示一个整数)
D 删除光标到行尾的文本,常用语删除注释语句(d$)
yy 复制光标所在的整行
[n]yy从光标开始往下复制n行,[n]表示一个整数

p 将复制后的文本粘贴到光标处
u 撤销上次操作

先yy后再去p的效果就是复制粘贴的效果

先dd后再去p的效果就是剪切的效果

五、光标移动

|------------|---------------------------|
| ^ | 光标移动到行首 |
| $ | 光标移动到行尾 |
| Ctr1+d | 向下翻半页 |
| Ctrl+f | 向下翻一页 |
| Ctrl+u | 向上翻半页 |
| Ctrl+b | 向上翻一页 |
| gg | 光标定位到文档头 |
| G | 光标定位到文档尾 |
| H | 光标定位到当前页首 |
| L | 光标定位到当前页的最后一行的行首 |
| w | 光标往后移一个字 |
| b | 光标往前移一个字 |
| [n]+ | 光标向后移动n行,[n]表示一个整数10+ |
| [n]- | 光标向前移动n行,[n]表示一个整数10- |
| [n]G | 光标定位到第n行行首,[n]表示一个整数20G |
| :[n] | 到达第[n]行 |

六、查找与替换

/[str]

查找字符串str,[str]表示要查找的字符串回车后会加亮显示所有找到的字符串,接着

命令n移动到下一个找到的字符串,命令N(shift + n)移动到上一个找到的字符串。

:s/[src]/ [dst]

部分替换(只能替换光标之所在的行) /i忽略大小写 /g全部匹配
:3,6s/[src]/[dst]/ig (3-6行中进行替换)

: %s/[src]/[dst]/g

全部替换,将文档中所有src的字符串替换为dst字符串

:%s/^ l/g

将文档每一行的行首的空格去掉

七、 块操作

v 可视化块选择状态

  • 选中块之后,可以对块进行删除(d),复制(y),剪切(x),粘贴(p)

Ctrl +v 竖向选择模式,主要用于批量注释代码,输入步骤如下:

  1. 首先按ctr1+v,竖选选中要注释的行
  2. 输入Ⅰ(注意是大写的I),然后输入/ /3、再输入esc,就会看到选中的行被注释了。
相关推荐
松涛和鸣7 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
大明者省8 分钟前
激活函数选型速查表(核心规则)
编辑器
简单中的复杂33 分钟前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro1 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
GitHubDaily1 小时前
Windows 欠了 30 年的那个原生编辑器,终于回来了。
编辑器
程序员老舅2 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华2 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos
爱吃生蚝的于勒2 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森2 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
蓝丶曦月3 小时前
MacM系列芯片安装 最新版本Notepad--(平替Windows系统的Notepad++)详细教程
编辑器·notepad++·mac