最近刚刚学习了一些vi命令(使用的是Ubuntu学习的),为了以后用到的时候方便查阅,所以在这里记录一下。
当你新建一个py文件的时候,可以使用vi + 文件名,当回车后,进入当前文件里面,此时为命令模式。编辑此文件共有三种模式:
在命令模式下,当你按i,a,o的时候可以进入到编辑模式(插入模式),当你按ESC的时候又回到命令模式;当你在命令模式下,输入一个冒号,可以进入末行模式,也就是光标移动到最后一行,此时输入相关命令可以保存并退出;当你在末行模式下,按ESC可以切换到命令模式。如下图所示:
在命令模式下,可以输入如下命令:
i:在当前光标的前面插入一个字符
I:移动光标到行首
a:在当前光标的后面插入一个字符
A:移动到行末
o:移动到下一行
O:移动到上一行
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:快速的定位到第二十行代码
gg:快速回到整个代码的第一行
G:快速的定位到整个代码的最后一行
w:向后跳一个单词的长度,即跳到下一个单词的开始处
b:向前跳一个单词的长度,即跳到上一个单词的开始处
u:撤销刚刚的操作
ctrl+r:反撤销
选中一片代码使用下列2个命令
v:从当前光标开始向后选择,需要继续按上下左右方向键
V:选中一行,需要继续按上下左右方向键
>>:向右移动代码
<<:向左移动代码
. :重复执行上一次的命令
{ :按段移动,上移
}:按段移动,下移
dw:删除光标开始位置的字(一个单词),包含光标所在字符
r:替换一个字符
R:替换光标以及后面的字符
/要查找的内容:搜索(需要按回车)
n:下一个
N:上一个
shift+zz:相当于wq
在末行模式下,如下:
:%s/abc/123/g :末行模式下,吧当前文件的abc替换成123
:1,10s/abc/123/g:吧第一行到第十行之间的abc替换成123
w:保存
q:退出
wq:保存并退出
q!:强制退出,不保存
在编辑模式下,如下:
输入ctrl+n 或者 ctrl+p会自动补全,列表的方式显示有同样前缀的名称。