vim三种模式切换
命令模式
命令 | 含义 |
---|---|
yy | 复制光标所在这一行 |
4yy | 复制光标所在行开始向下的4行 |
p | 粘贴 |
dd | 删除光标所在的这一行(删除相当于剪切) |
2dd | 删除光标所在行向下2行 |
D | 从当前的光标开始剪切,一直到行末 |
d0 | 从当前的光标开始剪切,一直到行首 |
x | 删除当前的光标,每次只会删除一个 |
X | 删除当前光标的前面那个,每次只会删除一个 |
h | 控制光标向左移一位 |
j | 控制光标向下移一位 |
k | 控制光标向上移一位 |
l | 控制光标向右移一位 |
H | 移动到当前屏幕的上方 |
M | 移动到当前屏幕的中间 |
L | 移动到当前屏幕的下方 |
ctrl+f | 向下翻一页代码 |
ctrl+b | 向上翻一页代码 |
ctrl+d | 向下翻半页代码 |
ctrl+u | 向上翻半页代码 |
20G | 快速的定位到第20行 |
G | 快速的回到整个代码的最后一行 |
gg | 快速的回到整个代码的第一行 |
w | 向后跳一个单词的长度,即跳到下一个单词的开始处 |
b | 向前跳一个单词的长度,即跳到下一个单词的开始处 |
u | 撤销刚才的操作 |
ctrl+r | 取消撤销(反撤销) |
v/V | 选中一片代码 |
>> | 向右移动代码 |
<< | 向左移动代码 |
. | 重复执行上一次的命令 |
r | 替换一个字符(替换当前光标所定位的字符) |
R | 替换光标以及后面的字符 |
/word | 向光标之下寻找名称为"word"的字符串 |
n | 重复前一个搜寻的动作,向光标之下搜寻 |
N | 重复前一个搜寻的动作,向光标之上搜寻 |
末行模式
命令 | 含义 |
---|---|
w | 保存 |
q | 退出 |
q! | 强制退出(不保存) |
wq | 保存退出 |
set nu | 显示行号 |
set nonu | 取消行号 |
:n1,n2s/word1/word2/g | 在第n1与n2行之间寻找“word1”字符串,并用“word2”取代 |
:1,$s/word1/word2/g | 在第一行与最后一行之间寻找“word1”字符串,并用“word2”取代 |
:%s/word1/word2/g | 在整个文档中寻找“word1”字符串,并用“word2”取代 |