Linux day04 vim的命令

it2026-06-17  8

1.什么vim

类似于Windows的一种文本编辑器

可以用来修改配置、写脚本


3. vim的操作模式

# 1.命令行模式 vim默认的模式。在这个模式中所有的输入会被解释层vim命令。可以执行修改、复制、移动、删除等命令,也可以移动光标、搜索字符和退出等操作、 # 2.编辑模式/插入模式 a:进入插入模式并在光标后进行添加 i:进入插入模式在光标前进行插入 o:进入插入模式并且光标开启下一行 在这个模式下输入的字符都会被解释为输入的正文。 可以使用esc键返回命令模式 # 3.拓展/底行命令模式 在这模式下可以使用一些高级的编辑命令,如搜寻字符串和代替字符串、保存、退出等 在命令行模式中输入' : '进入底行命令模式

4.vim命令行模式的命令

命令含义$使光标移动到行的结尾0使光标移动到行的开始gg移动到整个文件的第一行G移动到整个文件的最后一行ngg/nGn为数字。将光标移动到文件的第n行H光标移动到屏幕的最上方第一行第一个字符M光标移动到屏幕的中间一行第一个字符L光标移动到屏幕最下方一行的第一个字符$使光标移动到行的结尾0使光标移动到行的开始dd删除光标所在的一行nddn为数字。删除光标所在向下的n行yy复制光标所在的一行nyyn为数字。复制光标所在向下的n行p将已复制或删除的数据在光标下一行粘贴npn为数字。将已复制或删除的数据粘贴n次u恢复前一个操作ctrl+r重复上一次操作ctrl+v进入可视块模式R进入替换模式

5. 底行命令模式

命令含义:w保存文件:q退出:wq保存并推出:w!强制保存:q!强制退出:x保存并推出:10进入第十行:/内容找出需要找的内容 n下一个

6.替换

:范围 s/old/new/选项

:% s/aaa/bbb/g 表示将全文的aaa替换成bbb

%表示全文

g表示全局

ps:不加g只会替换每行的第一个内容

:2,5 s/hool/qqq/ 把第二到第五行的首个hool替换成qqq

:5,$ s/aaa/bbb/g 把第五行到最后一行所有的aaa都替换成bbb ,8 s/^op// 从当前到第九行把以op开头的替换成空

7.读入写入文件

:w /aaa.txt 另存为/aaa.txt

:r /etc/hosts 将/etc/hosts读入当前文本

8.设置环境

临时设置:

:set nu 设置行号

:set ic 不区分大小写

:set ai 自动缩进

:set nonu 取消行号

:set noai 取消自动缩进

永久的环境:

/etc/vimrc 会影响所有用户

~/.vimrc 影响某一个用户

#vim ~/.vimrc 输入以下内容

ste ic

set nu


9.同时编辑多个文件

vim -o 文件1 文件2 — 水平分割

vim -O 文件1 文件2 | 垂直分割

ctrl ww 切换

10.文件内容对比

vimdiff a.txt b.txt |

区分文件内容是否一致

diff 1.txt 2.txt > a.diff 以2.txt为准的补丁文件a.diff

diff 2.txt 1.txt > b.diff 以1.txt为准的补丁文件a.diff

patch 1.txt a.diff 把a.diff写入1.txt使它与2.txt内容一致

patch 1.txt b.diff 使1.txt恢复原来的样子

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9zSyYp8Q-1603362973494)(/Users/huangjiankang/Documents/image-20201022123156315.png)]

最新回复(0)