命令模式(移动光标、复制、剪切 d、粘贴 p、删除 x、撤销 u、重做Ctrl+r、替换 r)
插入模式(写入新数据)a(字后插入) i(字前插入) o(插入新行)
末行模式(保存文件w、另存为w filename、打开文件 o、读取文件 r、查找替换 s)
命令模式
移动光标
h 向左、j 向下、k 向上、l 向右
行首 ^
行尾 $
首行 1G 或者 gg
末行 G
w 跳向下一个单词
复制 y
yy 复制本行
2yy 复制2行
yw 复制一个单词
y^ 复制到行首
y$ 复制到行尾
ygg 复制到首行
yG 复制到末行
剪切 d
使用方法和复制类似
剪切后不粘贴,即删除
删除 x
删除光标所在字符
查找 :/<关键字> 从前往后找(n\N上下翻)
:?<关键字> 从后往前找
保存退出 ZZ
合并行(删除本行回车符) J
末行模式
查找替换 :3,5d 剪切3到5行
:3,5y 复制3到5行
:范围 s/old/new/选项
:1,3 s/old/new/g 把1到3行所有的old替换为new
:1,3 s/old/new 把1到3行的第一个old替换为new
:1,$ s/old/new 把1到最后一行的第一个old替换为new
:% s/old/new 把所有行的第一个old替换为new
:% s/old/new/g 把所有的old替换为new
保存与退出
:w /aaa.txt 另存为/aaa.txt
:1,3 w/2.txt 保存文件的1到3行为2.txt文件
:r /etc/passwd 读取文件至光标所在行下方
:10 进入第10行
:w 保存
:q 退出
:! 强制
复制 2,4y 复制2到4行
显示行号 set nu
不显示行号 set nonu
插入模式
V 可视化模式 行选择
v 可视化模式 字符选择
ctrl+v 可视化 块选择
ctrl+v 选择一竖条,输入I (大写i)进入插入,输入需要在每行前插入的文本,按Esc退出自动生成。
同时打开多个文件时
:next 下一个文件
:prev 前一个文件
:first 最前一个文件
:last 最后一个文件
窗口分割
:split <文件名> 水平分割已打开窗口
:vsplit <文件名> 纵向分割已打开窗口
vimdiff grub.conf /etc/grub.conf 显示文件不同的部分,最多对比四个文件。^w 按两次切换
vim -o test1.txt test2.txt 水平切分窗口打开两个文件(起比对作用)
vim -O test1.txt test2.txt 纵向切分窗口打开两个文件(起比对作用)
vim 配置文件 vim /etc/vimrc
========================================
二进制文件 (strings grep)
# strings /bin/ls 查看二进制文件内容
==================================================
==================================================