1. vim常用的三种模式
vim常用的三种模式vim普通模式
光标跳转
选项 | 解释 |
---|---|
G | 光标条至文件末端 |
gg | 光标跳转至文件顶端 |
ngg | 光标跳转至当前文件的n行 |
$ | 光标跳转至当前光标所在行的尾部 |
^ | 光标跳转至当前光标所在行的首部 |
复制与粘贴
选项 | 解释 |
---|---|
yy | 复制当前光标所在的行 |
5yy | 复制当前光标以及光标向下4行 |
p | 粘贴至当前光标下一行 |
P | 粘贴至当前光标上一行 |
删除、剪切、撤销
选项 | 解释 |
---|---|
dd | 删除当前光标所在的行 |
dG | 删除当前光标以后的所有行 |
D | 删除当前光标及光标以后的内容 |
x | 删除当前光标标记往后的字符 |
u | 撤销上一次的操作 |
vim编辑模式
选项 | 解释 |
---|---|
i | 进入编辑模式,光标不做任何操作 |
a | 进入编辑模式,将当前光标往后一位 |
o | 进入编辑模式,并在当前光标下添加一行空白内容 |
vim命令模式
文件保存与退出
选项 | 解释 |
---|---|
:w | 保存当前状态 |
:q | 退出当前文档(文档必须保存才能退出) |
:wq | 先保存,在退出 |
!为强制,可配合w、q、wq使用
文件内容查找
选项 | 解释 |
---|---|
/string | 需要搜索的内容(查找) |
n | 按搜索到的内容依次往下进行查找 |
N | 按搜索到的内容依次往上进行查找 |
查找error相关内容
查找error
文件内容替换
替换2-5行中包含bin的内容为llll
替换整个文本文件中包含bin的替换为llll
替换字符
文件内容另存
将文件另存为/root/123.txt
vim视图模式
-
ctrl+v可进入视图块模式,可通过移动光标进行选择
选择要编辑的部分 - 按shift+i可进行编辑
文件编辑 -
按两次esc,刚刚选中的块都会快速填充
快速填充 - 在视图块模式下,选中要删除的内容,按d可快速删
快速删除 -
选中需要替换的内容, 按下r键,然后输入替换后的内容
替换内容
shift+v可进入视图行模式,可通过移动光标进行选择
复制:选中行内容后按y键及可复制
粘贴:按p可粘贴
粘贴
删除:选中行内容后按d键删除
vim扩展知识
1. 环境变量临时生效
选项 | 解释 |
---|---|
:set nu | 显示行号 |
:set ic | 忽略大小写, 在搜索的时候有用 |
2. 环境变量永久生效。~/.vimrc 个人环境变量(优先级高) /etc/vimrc 全局环境变量
3. 相同文件之间差异对比,通常用于对比修改前后差异
diff 文件对比
vimdiff 以vim方式打开两个文件对比,高亮显示不同的内容
[root@node2~]# vimdiff passwd test.txt
vimdiff对比文档
如果VIM非正常退出 (ctrl+z)挂起或强制退出终端没关闭VIM后
[root@node2~]# vim passwd
E325: ATTENTION
Found a swap file by the name ".passwd.swp"
owned by: root dated: Thu Aug 1 14:03:58 2019
file name: ~root/passwd
modified: YES
user name: root host name: node2
process ID: 10939 (still running)
While opening file "passwd"
dated: Thu Aug 1 12:38:26 2019
(1) Another program may be editing the same file. If this is the case,
be careful not to end up with two different instances of the same
file when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.
If this is the case, use ":recover" or "vim -r passwd"
-- More --
to recover the changes (see ":help recovery").
If you did this already, delete the swap file ".passwd.swp"
to avoid this message.
Swap file ".passwd.swp" already exists!
# .swp文件已经存在,使用vim编辑文件实际是先copy一份临时文件并映射到内存给你编辑,
# 编辑的是临时文件, 当执行:w后才保存临时文件到原文件,执行:q后才删除临时文件。
[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:
遇到上述情况,可以先按R,将原来正在写入的内容保存。然后删除.swp文件。
[root@node2~]# rm -f .passwd.swp
网友评论