注:以下操作都在普通模式下进行
gg
定位到代码的第一行
shift+g
定位到代码的最后一行
n+shift+g
定位到第n行
shift+6
:
特定一行的开始
shift+4
特定一行的结尾
上下左右的移动光标
h:
向左移动光标
j:
向下移动光标
k:
向上移动光标
l:
向右移动光标
w
以单词为单位向右移动
b
以单词为单位向左移动
复制光标所在的行:yy
如果你想要复制5行(从光标所在行开始往下数) 你可以使用:5 yy
如果你想要复制n行 同理 你可以使用 n yy
粘贴:p
如果想粘贴10次就使用:10 p
如果想粘贴n次就使用: n p
撤销操作:u
如何删除光标所在的行:dd
其实dd
也相当于Windows的剪切功能,你使用dd
之后可以再使用p
命令,将删掉的内容粘贴到光标的位置
如果你想将9行内容剪切到其他地方的话你可以:9 dd
然后再在你想要移动到的位置p
一下
如果你想将 n 行内容 剪切到其他地方的话你可以:n dd
然后再目标位置p
一下;
大小写字母的转化
按住shift
不动, 在按~
替换掉行内你想替换替换的字母,比如,“hello world”
你想替换成“hello worlx”
你只需要光标定位到单词world
的 d
然后按r
接着就可以改成你想改的字符了,这里是改成x
所以你按了r
之后 在按 x
就行了
同理,如果你想将从光标开始往右数5个字符全换成x
你可以输入:5 r
然后按x
但是这样替换掉的字符都是一样的呀,比如这里全换成了x
,那如果我想替换的字母不一样那该怎么办,这样的话就要进入 == 替换模式 == 了 。使用:shift + r
进入替换模式。这样就可以替换了 。
比如:你想把hello world
改成 hello linux
就是把world
替换成linux
你要先在普通模式下将光标移动到单词world
的位置 然后按:shift r
进入替换模式 ,接着就可以直接输入linux
了,因为它会直接替换掉world
如何删除行内的部分字符?
比如:hello world
这串字符,我想把hello
删掉,那该怎么办,肯定不能用dd
呀,因为dd
是把整行都删掉
我们这样:在普通模式下将光标放在要删除的字符的位置按x
,(x
是向后删除一个字符,如果你想删除从光标开始往后数4个字符你就按4 x
就行了)
所以我们只需要将光标放在hello
这个单词的h
的位置按5 x
就行了
如果你想往前删就用:shift + x
如果你想撤销某个操作你可以在普通模式下按下:u
但是如果撤销撤多了,本来只需撤销一次,但是你撤销了两次,那该怎么办?
我们可以按下:ctrl r
就是对 u
的撤销
如果你对 u
操作后悔了,你就用ctrl r
如果你对ctrl r
操作后悔了,你就用u
y w
命令,
y y
是把一整行都复制过去。
y w
就是复制一个单词。
3 y w
就是连续复制3个单词,所以:n y w
就是连续复制n个单词
shift + #
第一步:这个时候就要用到第5种模式,叫视图模式
在命名模式中按下ctrl v
就进入了视图模式
这个时候左下角显示了V-BLOCK
全称是VISUAL BLOCK
这就是视图模式
第二步:进入视图模式之后用h,j,k,l
这些方向键来选择你要注释的内容。
第三步:在选择好要注释的内容之后,按下:shift i
进入编辑模式,然后键入://
第四步:在键入//
后,直接按Esc
就行了。到此,注释完成
第一步:
在命名模式中按下ctrl v
就进入了视图模式
这个时候左下角显示了VISUAL BLOCK
这就是视图模式
第二步:进入视图模式之后用h,j,k,l
这些方向键来选择你要删除注释的内容。
第三步:按下d
进行删除即可
举个列子:vim mycode.c +7
表示在用光标打开这个文件的时候用光标定位到第7
行