代码编辑神器:Vim!从此不用鼠标(附Vim高效快捷操作攻略)

首页-达尔闻    全部    代码编辑神器:Vim!从此不用鼠标(附Vim高效快捷操作攻略)

码农们,你们最常用的代码编辑器是什么?Vim、Emacs、VS Code、Sublime。。。每个编辑器都有优缺点,比如有很多人会觉得Vim比较难,但是张杰老师说用Vim让他在编码时甩掉了鼠标。

课程视频:https://www.bilibili.com/video/BV11E411A7mC

10年代码老司机张杰老师亲自配置的独一无二界面,用起来666的独家Vim配置文件在“达尔闻说”微信回复:Vim,获取。

从上世纪九十年代起到现在,Vim一直是最流行、应用最广泛的文本编辑器之一。Vim在提升工程师生产力上很给力,所以这么多年仍然热度不减。用Vim对一段文本或代码进行的任何动作,哪怕只是删掉一个字母,增加一行,复制一句话,都可以用一个简单的按键完成。此外,还可以重复命令、录制宏等等。在使用 Vim 一两周后,做的一切动作都会成为肌肉记忆。很多大神在任何与文本编辑或文件浏览有关的动作都能在不到一秒的时间内完成。

下面就给大家展示Vim快捷操作:

1)查找代码:shift+3

2)查看函数或者结构体定义:

ctrl+],返回:ctrl+o

3)查看函数在什么地方被调用:

cs find c <函数名>

4)不同代码文件之间的切换,在安装插件BufExplorer,然后命令:\be

5)代码提示:插件比较多,只要安装即可,比如插件AutoComplPop

6)代码高亮:可以自己配置适合的快捷键,比如\m

上面的都是Vim的优点,在操作中非常方便。Vim有没有缺点?当然有,很多刚接触Vim的人甚至不知道怎么退出。国外有程序员朋友总结了各类退出Vim的操作,一起分享给大家!

硬核退出Vim最简单的方式,就是找到vim进程,并把它“杀死”:

:!ps axuw | grep vim | grep -v grep | awk'{print $2}' | xargs kill -9

不用显示进程的ps命令,其实也可以退出Vim:

:!kill -9 $(find /proc -name"cmdline" 2>/dev/null | while read procfile; do if grep -Pa'^vim\x00' "$procfile" &>/dev/null; then echo $procfile; fi;done | awk -F'/' '{print $3}' | sort -u)

对于Python用户,你们有一种“Python方式”来退出Vim:

:py3 import os,signal;from subprocessimportcheck_output;os.kill(int(check_output(["pidof","vim"]).decode('utf-8')),signal.SIGTERM)

对Vim降维打击

上面的方法都离不开对Vim本身的操作,我们还有更高级的“降维打击”方式。既然退出Vim这么麻烦,不妨在更高层级把它干掉。

如果是在Docker容器中运行Vim,比如这样:

docker run --rm -it --name my-vim -v`pwd`:/root thinkca/vim

那么你可以把Docker容器停止并退出。

docker stop my-vim

在系统层级上,我们也可以用设置超时的方法杀死Vim:

$ timeout 600 vim

设置以上代码,Vim运行超过10分钟就会关闭,从此一劳永逸,再也不用输入退出命令了。不过你得抓紧时间把代码改完,并保存好,否则就惨了。

哦,最后别忘了把Vim改成默认10分钟关闭:

$ alias vim='timeout 600 vim'

暴力与佛系方法

最直接、最暴力的方法就是拔电源。最佛系的方法就是直接走开。

如果非要问有什么暴力与佛系结合的方法,请收好以下代码,运行后直接离开座位即可。

!bash -c “💣(){ 💣|💣& };💣”

注意:不要在自己电脑上轻易尝试,后果自负。

张杰老师的100集Linux设备驱动开发课程,以及每周六在达尔闻B站直播的5天挑战STM32物联网项目都是使用Vim进行开发。

对张杰老师的课程和Vim感兴趣的小伙伴可以点击上面课程查看哦,也可以加入达尔闻项目技术交流群,加群方式:添加妮姐微信(459888529),邀请进群。

 

2020年4月14日 10:05
收藏