vi | vim基本使用

vim三模式:① 输入模式 ②命令模式 ③末行模式(编辑模式)

vim四模式:① 输入模式 ②命令模式 ③末行模式(编辑模式) ④V模式

一、命令模式进入输入模式方法

二、命令模式基础操作:

1. 移动光标

1)光标移动:h j k l(备用方向键)

左 下 上

2)移动到文件 gg

移动到文件 G shift+g

  1. 移动到行 ^

移动到行 $

  1. 移动到指定行 :n 移动到第n行

2. 删除 ( 剪切 )复制

|--------------------|----------------|------------------------------|
| 1)删除单个字母 | x | 多个nx (一般不用) |
| 2)删除单行(剪切) | dd | 多行ndd :n1, n2d 指定范围行 |
| 3)粘贴 到光标 | 小p | 复制 单行 yy |
| 4)粘贴 到光标 | 大P shift+p | 复制n行 nyy |
| 5)从光标所在行删除到文件 | dG d$ | |
| 从光标所在行删除到文件 | d^ | |

3. 撤销 u U一次性 反撤销ctrl+r

4. 替换 r 替换光标所在单个字符

R 从光标所在开始替换, esc 结束

" r "键替换单一字符 , 实际使用时 , 比进入输入模式删除 x 再修改

三、末行模式(编辑模式)基础操作:

1.保存退出方式

:w保存不退出

先输入 :w (新文件名)另存为新文件 再 :wq 保存退出

:q 不退出·

:wq 保存退出

:q 强制不保存退出,用于修改文件之后,不保存数据退出

:wq 强制保存退出, 对文件没有写权限的时候,强制写入数

2.常用显示行号****set nu

set nu手工建立vim配置文件 放在 .vimrc 可多文件次使用

vim 支持更多的设置参数 , " :set all "进行查看

补充:Windows 下回车符在 Linux 中是用"^M** "符号显示,而不是**"** ** "符。这样会导致 Windows下编辑的程序脚本,无法在 Linux 中执行。这时可以通过命令"dos2unix",把 Windows 格式转为 Linux格式,当然反过来"unix2dos"命令就是把 Linux 格式转为 Windows 格式。这两个命令默认没有安装,需要手工安装才能使用。

3. 查找 / 查找内容 从光标所在行向下查找 按n 是下一个

\ 查找内容 上

取消高亮 : noh或者 / 输入一个搜不到的

4. 替换

:1,10s /old/new/g 替换 1 到 10 行的所有 old 为 new

:%s /old/new/g 替换整个文件的 old 为 new(建议手工替换)

:1,10s/^/#/g 替换 1 10 行打备注

:1,10s/^#//g 取消行首注释

而在 C 语言,PHP 语言等大多数语言中,是使用"//"开头作为注释的,我们当然用 vim 来写这些程序语言脚本,批量 入**"** // "注释 :1,10s/^ /\/\ //g1 到 10行,

取消 1 到 10 行行首的// :1,10s/^ \/\/ //g

5. :ab 源字符 替换字符

需频繁输入某个长字符串 ( 比如邮箱 ), 使用字符串替换 , 放在 .vimrc 可多文件使用

:ab mymail 45731230@163.com 当碰到"mymail"时,转变为邮箱

当下次输入源字符 敲空格 就变换成替换字符

6. 导入其他文件 :r 文件名 把文件内容导入所在光标位置

不退出查看命令 :! 命令 在 vim 中执行系统命令 :r date! 导入时间(常用)

多文件打开(参考另外文件)

​​​​​​​

四、vim多文件小技巧:

vim -o 文件 1 文件 2 上下 分屏

通过先按"ctrl+w",再按"上下箭头"的方式在两个文件之间切换。

vim -O 文件 1 文件 2 左右分屏

通过先按"ctrl+w",再按"左右箭头"的方式在两个文件之间切换。

相关推荐
生活很暖很治愈2 小时前
Linux——基础IO&软硬链接
linux·ubuntu
2401_858936882 小时前
【Linux C 编程】标准 IO 详解与实战:从基础接口到文件操作实战
linux·c语言
Roc.Chang2 小时前
Ubuntu 下 VLC 无法启动(Segmentation fault)终极解决方案
linux·ubuntu·vlc·媒体播放
松涛和鸣2 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
大明者省2 小时前
激活函数选型速查表(核心规则)
编辑器
简单中的复杂3 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
wVelpro3 小时前
如何在Pycharm 2025.3 版本实现虚拟环境“Make available to all projects”
linux·ide·pycharm
GitHubDaily3 小时前
Windows 欠了 30 年的那个原生编辑器,终于回来了。
编辑器
程序员老舅4 小时前
C++高并发精髓:无锁队列深度解析
linux·c++·内存管理·c/c++·原子操作·无锁队列
雨中风华4 小时前
Linux, macOS系统实现远程目录访问(等同于windows平台xFsRedir软件的目录重定向)
linux·windows·macos