vim命令编辑器
vi和vim是linux中一个强大的文本编辑器,vim是vi的升级版。在vim中有三种模式分别是命令模式、输入模式、末行模式。用vim打开一个文件首先进去的是命令模式。
1.命令模式常用命令
命令 | 命令解释 |
---|
G | 光标移动至文本最末行 |
gg | 光标移动至文本最顶端 |
ngg(n是数字) | 光标移动到第n行 |
0或shift+6 | 光标移动至本行行首(^) |
shift+4 | 光标移动至本行行尾($) |
x | 向后删除一个字符 |
X | 向前删除一个字符 |
dd | 删除光标所在行 |
ndd(n是数字) | 删除光标所在行开始的以下n行 |
dG | 删除光标开始行及以下所有行 |
D | 在光标所在行删除光标以及光标之后的行内容 |
yy | 复制光标所在行 |
nyy(n是数字) | 复制从光标行开始的n行 |
yG | 复制光标开始及以下的所有行 |
p(小写字母) | 将之前删除或复制的数据粘贴到光标之后行 |
P(大写字母) | 将之前删除或复制的数据粘贴到光标之前行 |
u | 撤销上一步的操作 |
r | 替换光标所在的字符,只替换一次 |
R | 一直替换光标所在的字符,一直到按下ESC键 |
ctrl+f | 向下翻页 |
ctrl+b | 向上翻页 |
2.命令模式进入输入模式常用命令
命令 | 命令解释 |
---|
i | 从当前光标前开始插入字符 |
a | 从当前光标后开始插入字符 |
I | 在当前行行首插入字符 |
A | 在当前行行尾插入字符 |
o | 在当前行下面插入新的一行 |
O | 在当前行上面插入新的一行 |
3.末行模式常用命令
命令 | 命令解释 |
---|
:w | 保存不退出文档 |
:q | 退出不保存 |
:wq | 保存并退出 |
:q! | 强制退出不保存 |
:wq! | 强制保存并退出 |
:x | 保存并退出 |
命令 | 命令解释 |
---|
:number | 跳转到对应的行 |
/word | 搜索文件内容中包含word的字符串 |
n | 在匹配的高亮字符串中逐个向下跳转 |
N | 在匹配的高亮字符串中逐个向上跳转 |
:nohl | 取消搜索 |
命令(查找与替换) | |
:n1,n2 s#word1#word2#g | 查找n1和n2行之间所有word1字符串并替换为word2 |
:1,$ s#word1#word2#g | 查找全局所有word1字符串并替换为word2(1,$表示所有行) |
:% s#word1#word2#g | 查找全局所有word1字符串并替换为word2(%表示所有行) |
:% s#word1#word2#gc | 加上c作用是在替换前需要用户确认 |
命令(读入文件) | |
:w a.txt | 另存为新文件a.txt |
:1,3 w bb.txt | 将1到3行另存为bb.txt |
:r cc.txt | 将文件cc.txt读入到光标所在行之后 |
:5 r dd.txt | 将文件dd.txt读入到第五行之后 |
4.末行模式-环境变量
1.临时修改
命令 | 命令解释 |
---|
:set nu | 显示行号 |
:set ic | 忽略大小写,在内容搜索时使用 |
:set ai | 自动缩进 |
:set list | 显示制表符(可以看到文件内容中看不到的内容比如空格、tab键等) |
:set nonu | 取消显示行号,其他的都是在前面加“no”取消 |
2.永久生效
通过命令修改的都是临时生效的,关闭后再打开vim则属性消失。如果想永久生效,则需要修改配置文件。在linux中有两个配置文件
针对环境 | 文件名 | 优先级 |
---|
个人用户 | ~/.vimrc | 高 |
全局所有用户 | /etc/vimrc | 低 |
5.视图模式
在命令模式下按‘ctrl+v’进入可视块模式(VISUAL BLOCKA)选选中需要改变的行或块
1.插入:按住shift+i 进入编辑模式,输入内容例如‘#’,按ESC结束,则批量在选中的每行开始插入#
2.删除:选中内容后,按‘x’或者‘d’键删除即可
3.替换:选中需要替换的内容后,按下r然后直接输入要替换的字符
在命令模式下按‘shift+v’ 进入可视行模式(VISUAL LINE)选中需要改变的行
1.复制:选中后按y键
2.删除:选中后按d键
6.文件对比
在生产中,有时需要对两个相似的文件进行对比,查找两个文件的不同之处,linux给了一个解决方案,可以用vimdiff命令进行对比。
转载于:https://blog.51cto.com/4936046/2375552