linux vim 查找_学习 vim, emacs ,看此文就够了, 摊牌了,你要成大师了

Vim 编辑器

用过 Linux 的伙伴不可能没有听过 Vim, 用过 Vim 的人却有着爱恨交织的复杂情结,一派会对之爱如潮水,甚至即使在Windows 下做开发时,都会在 Visual Studio 中安装 Vim 插件,我身边就有这种比较狂热的分子。另一派则是对其强大而复杂的操作恨之入骨,认为学习成本太高,不容易适应。其实这只是那些中了 "鼠标毒" 太深的人们一时间不适应罢了,只要深入学习一下,你就会陷入对 Vim 的狂热之中,无法自拔。因为那种脱离鼠标,完全通过键盘与电脑交流的感觉实在是太 Geek 了,而且那种高效性会让你觉得再回到鼠标的世界是如此的低效,像是一下子回到了石器时代。这就是我一个经历过最开始的鄙视 Vim,谩骂 Vim的不人性、不合理,曾一度放弃并扬言再也不碰 Vim,到后来无意中拾起,开始慢慢接受,强迫自己去练习那些快捷键,直到现在已经完全无法离开 Vim。对于习惯Windows的伙伴,学习Vim 一定都会经过一个阵痛期,大部分人可能会中途放弃,一小部分人会挺过来,然后这一小部分人从此的人生就像开挂一样,当别人还在鼠标点来点去找东西的时候,看到你双手十指在键盘上如跳舞般的飞速敲打,熟练地用正则搜索、快捷切换等操作,都会投来嫉羡的眼光,而你则如侠客一般,握着 Vim 这把利剑,行走江湖之中,到处留下你的传说。

Vim 的由来?

Vim的名字其实来源于 Unix 的 vi, vi 是 Unix 系统上的一款文件编辑器,因为其提供了强大的特性,甚至强大到很多人觉得自己根本无法掌握,但是依然无法阻止其成为 Unix 系统最受欢迎的工具。后来 Linux 系统的出现,有人将 vi 迁移到了开源社区,并对它做了一些 improve, 所以vi 也就顺理成章的称为 vim。

查看你本机的 vim

首先我们要知道自己本地 vim 软件包的类型,有些发行版本会安装 vim 的完成版,而有些会安装基础版,以我通过 Docker 搭建的本地 Ubuntu 环境(如何Docker 搭建 Linux 环境,请参考我之前的文章《3分钟搭建 Docker 学习 Linux, 不用再为搭建虚拟机呆懵了》)为例,默认安装的就是基础版。具体确认的方式是通过命令 "which vim" ,如图:

003c767a99368323bca5d246906f012c.png

通过 "which vim" 找到 vim 的路径是 '/usr/bin/vim',然后我通过命令 " ls -l /usr/bin | grep vi" 过滤路径 '/user/bin' 下所有包含 "vi" 的命令,可以看到其中包含3个link文件 "vi, view, vim",且都链接到'etc/alternatives/'路径下同名的文件,还有一个可执行文件 "vim.basic",我们先不理会这个'vim.basic'文件,稍后会解密,先看看三个link文件具体是什么,我再通过命令 'ls -l /etc/alternatives | grep vi' 过滤搜索 '/etc/alternatives' 下包含 vi 的文件,发现 三个链接文件又都 link 回'/usr/bin/vim.basic' 文件,至此可以知道,我本地的 Ubuntu 系统中,三个工具 'vi , vim ,view' 都指向同一个工具 vim.basic, 也就是vim的基础版,快去检查一下你的环境中是哪个版本吧。

使用 Vim

使用 Vim 创建或打开文件非常简单,只需要命令:

vim file_name #vim 打开文件 file_name, 如果 file_name 不存在,则会创建文件

Vim 有两种模式:

普通模式:默认打开Vim后的工作模式,此模式是浏览模式,不能编辑,会将键盘的输入作为命令快捷键操作,稍后会进一步介绍。

编辑模式:该模式下可以将键盘输入作为文字输入显示在 Vim 编辑器中,在普通模式下,通过键入 'i' 或者 'a' 切换到编辑模式,其中 'i' 实在当前光标位置插入输入的符号,而 'a' 则在当前光标位置的右边插入输入的符号。在编辑模式下可以通过 'esc' 退档键切换回普通模式。

Vim 普通模式下的常用命令

6a24726ea5aa9ddc6bee5f116b049920.png

上图是一些比较容易描述的命令键,下面再用具体例子讲一些不太容易描述的例子。

a) 黏贴复制(v->y->p):

首先在普通模式下按 'v' 键进入复制选择模式,然后移动方向键进行选择,选择部分会高亮显示,如图

fd94d2f1ea8affad83a2588382d0005c.png

方向键高亮选择要复制的内容

然后按 'y'键激活复制操作,此时高亮部分内容已经被复制到剪切板,然后移动光标到想念提的位置,按 'p' ,高亮部分内容黏贴在光标位置。

b) 查找和替换

查找:在普通模式下,键入'/',进入查找模式,然后输入想要找的内容后回车,会高亮显示找到的内容, 按 'n' 继续寻找下一个匹配的内容。

替换:在普通模式下,输入":%s/old_name/new_name/g(c)" 将文件中所有匹配"old_name"的地方用 "new_name" 替换,'/g' 意味着全局(global)替换,如果是'/gc' 则会逐个替换匹配的字符,并且每次替换会有提示。

其他编辑器

a) nano 编辑器:nano 是 Unix Pico 的 GPL 版本。轻量级的编辑器,少废话,世界上图把:

d9f7dfa1804b780d316e694b0732c4ca.png

nano 编辑器

比较友好的是,nano把常用命令放到了界面上显示,对于初学者还是很有帮助的。

b) emacs 编辑器:emacs 也是极其流行的一款Linux 编辑器。emacs 不仅有命令行版本,而且还有UI版本,但是一般 Linux 发行版没有自带 emacs,所以绝大多数需要自行安装。至于如何安装软件,请看我之前的文章《Linux 安装软件如此简单: 只要一条命令》。emac的命令行版本界面,如图:

b27aafaf0f918118bd4d9be56d7e61bc.png

emcs 界面

emacs 和 vim 不同,emacs 没有普通模式和编辑模式区分,进入emacs 后,如果输入的是可识别的字符,emacs 就会按照字符处理,emacs 的命令一般都是通过 Ctrl 和 Alt 的组合键来实现的。

emacs 命令:

095907871e4c4846ff22923ae8bf745e.png

emacs 多窗口管理

Ctrl x 2: 光标所在窗口竖向拆分成两个窗口,如图:

62ecec6eded534ee57054d2652c76ca7.png

Ctrl x 3: 光标所在窗口水平方向分成两个窗口,如图:

b0b0913b53fe38d991e1be212ae19263.png

不同窗口间切换命令为 "Ctrl x o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值