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",再按"左右箭头"的方式在两个文件之间切换。

相关推荐
JunLan~19 分钟前
Rocky Linux 系统安装/部署 Docker
linux·docker·容器
方竞1 小时前
Linux空口抓包方法
linux·空口抓包
海岛日记2 小时前
centos一键卸载docker脚本
linux·docker·centos
AttackingLin3 小时前
2024强网杯--babyheap house of apple2解法
linux·开发语言·python
锅巴编程4 小时前
VsCode 插件推荐(个人常用)
ide·vscode·编辑器
做个爱笑的大男孩4 小时前
VScode clangd插件安装
ide·vscode·编辑器
学Linux的语莫4 小时前
Ansible使用简介和基础使用
linux·运维·服务器·nginx·云计算·ansible
踏雪Vernon4 小时前
[OpenHarmony5.0][Docker][环境]OpenHarmony5.0 Docker编译环境镜像下载以及使用方式
linux·docker·容器·harmonyos
学Linux的语莫5 小时前
搭建服务器VPN,Linux客户端连接WireGuard,Windows客户端连接WireGuard
linux·运维·服务器