(3)vim分屏显示
命令 | 作用 |
sp filename | 横屏分屏显示filename文件,如果不加文件名,则分屏显示光标所在的文件(当前光标在哪个文件就分屏再显示一个此文件) |
vsp filename | 竖屏分屏显示filename文件,如果不加文件名,则分屏显示光标所在的文件(当前光标在哪个文件就分屏再显示一个此文件) |
q | 退出一个文件,不能加文件名,输一次q退出一个文件(关闭一个分屏),当前光标在哪个文件就退出哪个文件 |
w | 保存,保存当前光标所在分屏的文件(当前光标在那个文件就保存哪个文件的修改) |
qall | 退出所有文件,并回到shell |
wqall | 保存并退出所有文件,回到shell |
ctrl+ww | 切换到下一个分屏(在分屏显示的各个文件之间切换) |
: | 进入底行,输入命令 |
用法演示:
① 横屏分屏
当前打开test.c,再打开文件hello.c和123.c,首先打开test.c
按:进入末行模式,输入sp hello.c
再次按:进入末行模式,输入sp不加任何文件名,它会默认打开当前光标所在的文件,也就是hello.c,光标所在的文件也就是被选中的文件,其文件名会有高亮的背光可以区分。
按住ctrl然后按两次w(Ctrl+ww)可以让光标在这三个文件中进行切换,以便于对某个文件进行修改。按一个q,会把当前选中的文件退出(文件名高亮显示、光标所在文件),qall关闭所有文件并进入shell。
② 竖屏分屏
原理和操作与横屏相同,这里只看效果,个人感觉竖屏视觉效果更好,且对比文件更方便。
(4)执行shell命令
命令 | 作用 |
!shell命令 | 执行shell命令 |
输入!ls -l,相当于执行shell下的命令ls -l,同样可以删除文件,当我们在vim编辑器的末行模式下删除文件test后,再转到shell下查看,可以看到test文件已被删除。
(5)查看历史命令
和shell一样,在末行模式下可以通过上下键查看历史命令
命令 | 作用 |
上键 | 查看上一条历史命令 |
下键 | 查看下一条历史命令 |
三、vim配置文件.vimrc
1. 配置shell下使用vim快捷键
(1)直接输入shell命令
第一种方法直接在shell下输入命令
set -o vi
这样在shell下就可以使用vim编辑器的快捷键了,在shell下按Esc就能进入vim的命令模式,i/a/$/0等快捷键就可以使用并进入vim的插入模式,下面简单演示一下,比如我输入很长的一个命令,但是发现少写了sudo命令,如果没有vim的快捷键0(在行首插入),可能需要按好多下左键才能移到行首并添加sudo,现在我直接按Esc进入命令模式,按0就可以在行首插入。又比如我输入的命令有误,需要删除,在shell下需要一直按删除键,有了vim快捷键,直接Esc进入命令模式,然后dd删除一行。
按Esc进入命令模式(如果你按非进入插入模式的字母键没反应说明当前在命令模式了),按dd
一行命令直接被删除。
(2)修改配置文件.bashrc
使用第一种方法,每次重新开机命令就失效了,要想永久有效,可以修改配置文件.bashrc,其实我们每次开机进入shell之前,系统都会运行.bashrc这个文件,我们只要把上面的命令加到这个配置文件中,就相当于每次开机都执行了一次 set -o vi,这样就可以永久有效了。
.bashrc文件的位置,在~目录下,通过ls命令的-a选项可以看到(因为是隐藏文件),使用vim编辑器打开.bashrc并添加命令即可。
2. 配置.vimrc实现类似于Visual Assist等功能
.vimrc文件的位置在~目录,通过 ls -a 命令可以看到,使用vim编辑器打开即可编辑
vim ~/.vimrc
上面是最常用的几个配置,前三个是设置Tab缩进的距离,set nu 表示显示行号。这些都是很基本的,那么下面来点高级的,首先看下效果,我在shell下直接通过 vim 1.c 创建一个C文件
新创建的C文件直接包含了文件信息(文件名、作者、单位、时间),并且写好了main函数框架和头文件,如果你经常使用Visual Studio开发的话,应该用过Visual Assist插件吧(红苹果插件,如果你没用过的话一定要试试,非常强大,在我的资源有上传哦),这个功能有点像Visual Assist插件,非常方便,并且看起来很高级,其实这也是通过.vimrc配置出来的,具体内容如下
1. func SetTitle() 2. if expand("%:e") == 'c' 3. call setline(1,"/****************************************************************************") 4. call append(line(".")," >File Name : ".expand("%")) 5. call append(line(".")+1," >Author : QQ") 6. call append(line(".")+2," >Company : QQ") 7. call append(line(".")+3," >Create Time: ".strftime("%c")) 8. call append(line(".")+4,"****************************************************************************/") 9. call append(line(".")+5,"#include <stdio.h>") 10. call append(line(".")+6,"#include <stdlib.h>") 11. call append(line(".")+7,"int main()") 12. call append(line(".")+8,"{") 13. call append(line(".")+9," ") 14. call append(line(".")+10," return 0;") 15. call append(line(".")+11,"}") 16. endfunc
就是在.vimrc中加了一个函数,这个函数的功能是给新创建的C文件添加一些通用的内容。其实,这只是冰山一角,可以配置的内容非常多,如果你懒得动手,可以直接把我写好的配置文件.vimrc拷贝到你的~目录下把原来的覆盖掉即可,下面有我写好的.vimrc文件可以下载,请点链接