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

相关推荐
weixin_430750931 小时前
OpenMediaVault debian Linux安装配置企业私有网盘(三) 静态ip地址配置
linux·服务器·debian·nas·网络存储系统
403240731 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
Source.Liu1 小时前
【沟通协作软件】使用 Rufus 制作 Ubuntu 启动盘的详细过程
linux·ubuntu
Love丶伊卡洛斯1 小时前
Ubuntu 部署 STUN服务端
linux·运维·ubuntu
梁洪飞2 小时前
通过链接文件和Start.S学习armv7
linux·arm开发·嵌入式硬件·学习·arm
DN金猿2 小时前
使用ubuntu安装nginx时报错
linux·nginx·ubuntu
小赵还有头发2 小时前
安装Ceres与glog
linux·学习·无人机·ceres·glog
负二代0.03 小时前
Linux下的网络管理
linux·网络
s_daqing3 小时前
ubuntu(arm)安装redis
linux·redis·ubuntu
林鸿群3 小时前
ubuntu 26.04 安装mysql-server
linux·mysql·ubuntu