一次w:
两次w:
三次w:
四次w:
五次w:
六次w:
七次w:
b:也是同样的距离,只不过方向不同
3.复制,粘贴,撤销,剪切,删除快捷键
我们在第一行执行了yy+p命令
把第一行成功拷贝到了第二行
然后我们执行4+yy+p
拷贝了第2,3,4,5行并粘贴
然后我们执行yy+4+p
拷贝当前行,进行4次粘贴
然后我们执行u
撤销刚才的编辑操作
然后我们执行ctrl+r
撤销刚才的撤销操作
然后我们执行5+dd
删除第3,4,5,6,7行
然后我们执行2+p
可见dd所谓的删除其实就是剪切操作
最后经过一顿操作回到最初状态
2.底行模式下的快捷键
1.快捷键
wq我们之前演示过了,这里就不演示了,后面那个wq!我们放到下面修改sudoers file的时候去演示
下面我们演示一下那个vs 文件名
我们在底行模式中输入:
vs vs_test.c • 1
按回车键
然后我们就可以在这个新创建的vs_test.c文件中书写代码
然后我ctrl+ww:切换到test.c文件中
2.其他操作
1.显示行号
取消行号:
set nonu
2.进入文件时指定光标位置
vim test.c +n
默认情况下:使用vim进入文件后,光标默认处于上一次退出时所处的位置
而vim test.c +n
这样打开test.c时光标就会处于第n行
比方说我们vim test.c +8
这样我们就处于了第8行
3.在底行模式中不退出vim文件的情况下进行其他操作
比方说我正在vim中写着代码
突然我忘了一个库函数具体怎么用了
然后我想查阅一下man手册
以scanf函数为例
我们在底行模式中输入 !man 3 scanf
然后我们就可以在不退出vim的情况下进行操作,
例如这里的man 3 scanf
然后我们q退出man手册
按任意键继续,然后我们回车,就又回到了我们的文件当中
同理,我们也可以直接在底行模式中编译文件,执行可执行程序等等
我们先把那个没写的两个;加上,然后wq
然后再vim test.c 然后底行模式输入gcc test.c
(关于gcc的操作我们下面会介绍的)
然后我们回车键回去
然后!ls
然后我们!./a.out
然后成功执行
3.vim的其他模式
1.替换模式
我按了一个shift+` :成功将第4行的printf的p改为了大写,同时光标自动右移
这样方便我们对一行字符快速更改大小写
我直接一直按shift+`:成功将这一行内容都进行了大小写替换
同理,我们回到开始处在重新按一次shift+`.就成功地替换了回来
下面我们回到这一行,开始后续操作
我们按了3+r+w
成功将printf的前三个字母替换为了w
然后我们输入shift+r 进入替换模式
然后我们随便输入一些代码
int a = 1;double d=1.0;
成功进行了替换
然后我们无脑Esc返回命令模式
按下18+x,成功删除了18个字符:
tf("hello vim\n"); • 1
然后我们按下16+shift+x,成功向左删除了16个字符:
1;double d = 1.0 • 1
请注意:
向左删除时:光标所在字符不会被删除,而是直接删除光标左侧的那一个字符
向右删除时:光标所在字符会被删除,并且将右边的字符向左挪动一位
(我们可以简单的认为仅仅只是光标右移了一位)
2.查找"模式"
我们在刚才那个位置按下shift+#
高亮了printf,然后我们输入n这个字符,就可以快速跳转到高亮的位置
为了证明当前在命令模式下,我们直接输入i,成功进入了插入模式