1. 打开文件
vim filename.c
2. vim编辑器模式
(1)普通模式
(2)插入模式 , 按下 i 键进入插入模式,按下 ESC 键回到普通模式
(3)可视模式,按下 v,按下 ESC 键回到普通模式
3. vim中的方向键
对于能够识别键盘方向键,你可以使用箭头形状的方向键,如果不支持,使用 h、j、k、l
h:左移一个字符
j:下移一行
k:上移一行
l:右移一行
4. 高效移动命令
PageDown(或 ctrl + F):下翻一屏
PageUp (或 ctrl + B):上翻一屏
G:移到最后一行
num G:移动文本第num行,例如 6 G,表示移到第6行
gg:移到首行
5. 普通模式下的命令行模式
在普通模式下,按下冒号,可以输入命令
6. 命令行模式
q:如果未修改数据,退出
q!:取消对数据修改并退出
w filename:将文件保存到另一个文件中
wq:保存文件并退出
7. 编辑数据
x:删除当前光标所在位置的字符
dd:删除当前光标所在的行
dw:删除当前光标所在位置的单词
d$:删除当前光标所在位置到行尾内容
J:删除当前光标所在位置的换行符(拼接操作)
u:撤销前一次编辑
a:在当前光标后追加数据
A:在当前光标所在行行尾追加数据
r char:用char 替换当前光标所在位置的单个字符
R char:用char覆盖当前光标所在位置的数据,直到按下ESC键
有些编辑命令允许使用数字修饰符指定重复该命令多少次,比如 2x 会删除从光标当前位置开始的两个字符,5dd会删除从光标当前行开始的5行
8. 复制和粘贴
(1)复制命令是 y (yank),可以在y命令后面使用和d命令相同的第二个字符(yw表示复制一个单词,y$表示复制到行尾),复制后,将光标移动到需要粘贴的位置
按下 p 键即可
(2)可以进入 可视模式,这样可以直观的看到选中的文本
9. 查找和替换
(1)按下冒号进入命令行,输入 / string_to_find,表示从当前光标往后查找字符串 string_to_find,输入 ? string_to_find,表示从当前光标往前查找 string_to_find。按下n (next)表示跳到下一个
(2)进入命令模式,替换某个字符串
:s/old/new/ ,vim会跳到old第一次出现的位置,并用new替换
(3)多处替换
:s/old/new/g,将一行中的所有old替换为new
:n,ms/old/new/g,替换行号n和m之间所有的old为new
:%s/old/new/g,替换整个文件中所有的old
:%s/old/new/gc,替换整个文件中所有的old,但在每次出现时提示
10. 编辑后保存却发现没有权限
:w !sudo tee %