Linux中Vim 命令使用
(一)vim 编辑器简介
vim 是一个全屏幕纯文本编辑器,是 vi 编辑器的增强版。你可以利用别名让输入 vi 命令的时候,实际上执行 vim 编辑器
[root@hepingfly ~]# alias vi='vim'
但是这样定义别名是临时生效,如果需要永久生效,请放置环境变量配置文件 ~/.bashrc 中
(二)vim 基本使用
1.vim 的工作模式
命令模式:是主要输入快捷键的模式。命令模式要想进入输入模式,可以使用 a i o 等快捷键来进入。
插入命令:
输入模式:主要用于文本编辑,和记事本类似,输入数据就好
末行模式(编辑模式):
- :w 保存不退出
- :w 新文件名 把文件另存为新文件
- :q 不保存退出
- :wq 保存退出
- :! 强制
- :q! 强制不保存退出,用于修改文件之后,不保存数据退出
- :wq! 强制保存退出,当文件的所有者或 root 用户,对文件没有写权限的时候,强制写入数据使用
(三)命令模式操作
1.移动光标
(1)上下左右移动光标
上、下、左、右方向键 移动光标
h(左) j(下) k(上) l(右) 移动光标
(2)光标移动到文件头或文件尾
gg 移动到文件头
G 移动到文件尾(shift + g)
(3)光标移动到行首或行尾
^ 移动到行首
$ 移动到行尾
(4)移动到指定行
:n 移动到第几行(这里的 n 是数字)
2.删除或剪切
(1)删除字母
x 删除单个字母
nx 删除 n 个字母(n 是数字,如果打算从光标位置连续删除 10 个字母,可以使用 10x 即可)
(2)删除整行或剪切
dd 删除单行
ndd 删除多行
:n1,n2d 删除指定范围的行
删除行或多行,是比较常用的删除方法。这里的 dd 快捷键既是删除也是剪切。删除内容放入了剪切板,如果不粘贴就是删除,粘贴就是剪切。粘贴方法:
p 粘贴到光标下面一行
P 粘贴到光标上面一行
(3)从光标所在行删除到文件尾
dG 从光标所在行删除到文件尾(d 是删除行,G 是文件尾,连起来就是从光标行删除到文件尾)
3.复制
yy 复制单行
nyy 复制多行
复制之后的粘贴依然可以使用 p 键或 P 键
4.撤销
u 撤销
ctrl + r 反撤销
u 键能一直撤销到文件打开时的状态,ctrl + r 能一直反撤销到最后一次操作状态
5.替换
r 替换光标所在处的字符
R 从光标所在处开始替换字符,按 esc 键结束
(四)末行模式操作
1.一些设置操作
设置参数含义:set nu
:set nonu
显示与取消行号:syntax on
:syntax off
是否依据语法显示相关颜色帮助。默认会显示相关颜色来帮助排错:set hlsearch
:set nohlsearch
设置是否将查找的字符串高亮显示。默认是高亮显示:set showmode
:set noshowmode
设置是否在左下角显示如“-INSERT-” 之类的状态栏。默认是开启的:set list
:set nolist
设置是否显示隐藏字符。(tab 键用 "^I" 表示,回车符用 "$" 键表示)
注:
- 上面设置的参数都只是临时生效,一旦关闭文件再打开,又需要重新输入。如果想要永久生效,需要手动建立 vim 的配置文件 ==“~/vimrc”== ,把你需要的参数写入配置文件就永久生效了。
- Windows 下回车符在 Linux 中是用
“^M$”
显示的,而不是“$”
。这样会导致 Windows 下编辑的程序脚本(如 shell 脚本),无法在 Linux 中执行。这时可以通过命令 ==「dos2unix」==,把 windows 格式转换为 Linux 格式。同样可以使用 ==「unix2dos」== ,把 Linux 格式转换为 Windows 格式。这两个命令默认没有安装,需要手动安装才能使用。
2.查找
/查找内容 从光标所在行向下查找
?查找内容 从光标所在行向上查找
n 下一个
N 上一个
3.替换
:1,10s/old/new/g 替换 1 到 10 行所有 old 为 new(s 表示替换)
:%s/old/new/g 替换整个文件的 old 为 new(% 是一个变量,在这里代表整篇文档)
在 shell 中 "#" 开头是注释,假如说我想注释文件前 10 行,如果手工一个一个注释会很麻烦,可以使用替换来解决。
:1,10s/^/#/g 注释 1 到 10 行
:1,10s/^#//g 取消 1 到 10 行的注释
(五)vim 使用技巧
1.导入其他文件的内容
:r 文件名 把文件内容导入到光标位置
:r /root/aa.txt #末行模式下,输入这个会把 /root/aa.txt 文件的内容加到你光标所在处
2.在 vim 中执行系统命令
:!命令 在 vim 中执行系统命令
这里只是在 vim 中执行系统命令,但并不把系统命令的结果写入到文件中。主要用于在文件编辑中,查看系统信息,如时间。
3.导入命令结果
:r !命令 在 vim 中执行系统命令,并把命令结果导入光标所在行
4.多文件打开
在 vim 中可以同时打开两个文件
[root@hepingfly ~]# vim -o aa.txt abcd 上下分屏打开两个文件(小 o)
[root@hepingfly ~]# vim -O aa.txt abcd 左右分屏打开两个文件(大 O)
如果是上下打开两个文件,可以通过先按 「ctrl + w」再按上下箭头的方式在两个文件之间切换。
如果是左右打开两个文件,可以通过先按 「ctrl + w」再按左右箭头的方式在两个文件之间切换。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了