首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(二)编程神器:vi

vi是一款字符界面编辑器,属于鼻祖级编辑神器。vi编辑器是由比尔·乔伊于1976年左右开发的,已经有42年的历史。

目前是 UNIX 规范的一部分, 只要是 UNIX 的衍生类操作系统,包括ubuntu,里面一定能使用 vi。你也许会认为,vi 太古老了,现代图形编辑器IDE简直太方便了,各种“所见即所得”IDE 更是让编程如虎添翼,何必固执地坚守vi呢?

vi的确是功能不如很多IDE,它没有项目管理,没有代码提示,还不能鼠标操作,如此来说,vi没有任何的优势,但是业内有一句话说:世界上只有三种编辑器:vim、EMACS、其他。

这是为什么呢?

答案是:应用vi编辑器运指如飞,所思即所得,全程键盘操作双手不离键盘效率高,极简思维的软件用起来酣畅淋漓。

电影看多了的你可能所理解Linux的魅力所在是Linux是极客专用,一个黑乎乎的窗口,各种花花绿绿的指令在闪烁,对着键盘噼里啪啦一通乱敲,就能窃取各种机密...

的确原生的Linux只有一个黑咕隆咚的命令行界面,很多人说Linux没有Windows好用,这是对一部分人来说是理所当然的,那一部分呢?非系统开发程序员。

因为Linux没有很好的图形界面,但是到现在的发展很多发行版已经把图形界面做得很好了。但是还是不如3岁小孩能玩90岁老人也能玩的Windows好用。

可是对于一个真正的程序原来说Linux才是真爱,它没有那么多的条条框框,可以直接操作这个系统内核,甚至一行命令杀死整个系统都没问题,Linux是最原始最自由的开发环境。

所以在这最大自由度的原始森林里你需要的是一个高级微波炉还是一束点亮文明的火把呢?显然高级微波炉毫无用处,因为没有电啊。

IDE的便捷性是也需要代价的,它需要后台图形引擎的支持,假设你的系统连图形库都没有,此时的vi就是你开创世界的火把。

Ubuntu为了减小安装文件的尺寸,默认安装了 vi 的原始版本,我们需要下载安装他 的升级版本:强劲的 vim!利用刚刚配好的网络和软件源,敲入以下命令:

Shift+Alt+t打开terminal(终端)输入:

dianzi@ubuntu:~$ sudo apt-get install vim

安装好vim后,在终端敲入vim就可以启动它一睹它的真容了。

“启动后再怎样?怎么键盘鼠标都没反应了?!!!”别急。我们还要学习一些关于怎么使用这个软件的操作命令。

你的键盘输入对vim来说有两种情况,一种是命令模式,你敲写的是vim的执行命令,不会再文本区上显示,另一种是编辑模式,在这个模式你才能键入文本或者代码内容。

一般vi打开是默认是命令模式,你可以输入vi命令来进行模式切换、光标移动、查找、替换、粘贴等等操作。详细常用命令请看下表:

这咋用咧?举个栗子吧。

启动vim后,我们在键盘按“i”或“a”或“o”或“O”进入编辑模式,这几个命令的区别我们可以在上表中了解。那么我们在键盘键入i 后就能发现在终端窗口的左下角有-- INSERT--字样表示已经处于编辑模式,现在就可以在vi里写代码啦。

编写完代码后如何进行保存操作呢?

我们需要按键盘右上角的Esc进入命令模式进行相应的操作。进入命令行后我们发现窗口右下角就不再有-- INSERT --字样了。

有的同学电脑的vi可能没有行号显示和代码高亮,只需要做一些简单的配置就能实现了。更改vim参数:sudo vi /etc/vim/vimrc

第一步:把文件最下面那里的set开头的前面的"全部去掉。

第二步:在后面加上一行set number,这是加上显示行号功能。

第三步:再加上set cindent,这是设置C语言自动缩进。

配置完成这几点后就可以带上电脑去图书馆里运指如飞地敲代码啦!

当然vi还可以安装一些插件来提高我们写代码的效率。

比如我们面向谷歌、CSDN、GitHub……编程的程序员们copy&&paste是这个功能是不可或少的。

首先,查看vim版本是否支持clipboard

vim --version | grep "clipboard"

结果如下:

clipboard前面有一个小小的减号,说明不支持。

如果不支持的话,需要安装图v形化界面的vim,或者重新编译vim

sudo apt-get install vim-gnome

安装完成后再次执行:

vim --version | grep "clipboard"

发现已经支持clipboard

打开vim输入v进入visual视图后,输入"+p将系统剪切板的内容拷贝到vim中(非编辑模式下),同理我们的目的是要复制到系统剪切板则需要选中内容后输入命令:"+y(非编辑模式下)。

强大的vim不止本文所介绍的功能和操作,但是到现在为止对初学者来说已经足够了,vi的命令不需要刻意去背下来,所谓工多技巧用,多了自然就能够掌握了,赶紧用vi这个神器来提高你写代码的效率吧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180903G1YRJE00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券