vim filename
会将文件读入一块内存缓冲区。
普通模式
默认进入普通模式,或者插入模式下按esc
进入普通模式,将按键解释成命令
移动光标
h
左移,l
右移
j
下移,k
上移
PageUp
、PageDown
上下翻页
ctrl+b
、ctrl+f
上下翻页
G
跳至最后一行,gg
跳至第一行
num G
或num gg
跳至第num行
编辑数据
x
删除光标所在字符
dd
删除光标所在行,
dw
删除光标所在单词(或符号),如果光标不在单词的第一个字符,删除的并不是完整单词
d$
删除当前字符至行尾的内容
J
删除行尾换行符(拼接行),大写
u
撤销前一编辑命令
a
在光标后追加数据(进入插入模式,与i
不同,i
在当前光标前写入)
A
在行尾追加数据
r char
替换光标字符为char
R text
从光标位置开始替换字符,光标随输入而前进,期间可以移动光标位置,按下esc
停止替换
复制粘贴
p
粘贴数据,使用x
、dd
、dw
、d$
删除的文本可以用p
粘贴
y
复制命令,可以先在可视模式下选中,然后y
复制,p
粘贴
查找
/search_text
,斜线/
+要查找的文本+回车,开始查找
继续查找,n
下一个,N
上一个
替换
:s/old/new
替换光标后第一次出现的old
:s/old/new/g
替换所在行的所有old
:n,ms/old/new/g
替换n到m行之间所有old
:%s/old/new/g
替换整个文件中的所有old
:%s/old/new/gc
替换整个文件中的old,逐个提示
可视模式
普通模式下按v
进入可视模式,光标走过的区域被高亮
命令行模式
普通模式下按:
进入命令行模式
:q
未修改时退出,:q!
取消修改并退出(强制退出)
:w
将修改写入缓冲区,:w filename
将缓冲区内容写入filename
,缓冲区仍为原文件内容
:wq
保存并退出
插入模式
普通模式下,按i
键进入插入模式,将按键输入插入到缓冲区