Vim编辑器
模式切换:
- 首次进入文件 ——-> 命令模式
- 出现Insert ——-> 编辑模式
输入 : ——-> 命令模式
- 从编辑模式到命令行模式切换
编辑模式——>Esc键——–>命令行模式———–> : ———->命令行模式
- 进入编辑模式
a i o A I O
说明
- i 当前字符之前插入(光标前)
- I 当前行首插入
- a 当前字符之后插入(光标后)
- A 当前行尾插入
- o 当前行下插入一个新行
- O 当前行之前插入一个新行
- x 向后删除一个字符 等同于delete
- X 向前删除一个字符
- u 撤消一步 每按一次就撤销一次
- r 替换
行操作
- 输入 home 键 或 ^ (shift+6) 将光标移动到当前行首
- 输入 end 键或 $ (shift+4)将光标移动到当前行尾
- 删除行
- dd 删除一行 ndd 删除 n 行
- dG 删除光标后前部内容
- 显示行号 set nu
- 不显示行号 set nonu
- 复制粘贴
- yy 复制一行 nyy 复制n行
- p 将复制的内容粘贴
- 扩展:剪切
- d+Home 或 d+^ (shift+6) 删除到行首
- d+END 或 d+$ (shift+4) 删除到行尾
V模式
进入v模式,移动光标选择区域
eg : 编程的时候需要多行注释:
1). Ctrl+v 进行列编辑模式
2). 向下或向上移动光标
3). 把需要注释的行的开头标记起来
4). 然后按大写的I
5). 再插入注释符,比如"#"
6). 再按Esc就会全部注释了
删除注释:再按Ctrl+v进入列编辑模式,向上或向下移动光标,选中注释部分,按d,就会删除注释符号
VIM命令行操作
- :w 保存
- :q 没有任何修改,退出
- :q! 修改了,不保存强制退出
- :wq 保存并退出
- :wq! 强制保存退出
- :x 保存退出
调用外部文件或命令
eg: 假设我想要编辑写入我的网卡地址,但是忘了,需要查看一下,当前在vim编辑页面
在命令行模式下: !+命令
:!ifconfig 调用系统命令
替换(命令行模式)
格式:%所有内容 s 替换 旧的内容 新的内容
默认是每一行的第一个符合要求的词 (/g 全部)
:% s/a/b 每一行的第一个a被替换成b
:% s/a/b/g 将文本中所有的1替换成5
:2,3 s/a/b 只替换某几行内容
查找
命令行模式下:
/查找内容 正向查找 按n 往下查找 按N往上查找
定位
定位到某行:
命令行模式下 gg 定位到首行
命令行模式下 G 定位到尾行
命令行模式下 :# 定位到某一行(#代表行号)
命令行模式下 ngg 定位到n行
读取其他文件:
命令行模式下 :r /etc/passwd
保存退出 :wq
打开多个文件
vim -o 文件A 文件B 上下分屏显示多个文件
vim -O 文件A 文件B 左右分屏打开多个文件
Ctrl+ww 在文件之间进行切换
比较文件内容
vimdiff 文件A 文件B