前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >玩转命令行之文本编辑器篇

玩转命令行之文本编辑器篇

作者头像
T1Am0
发布2022-09-13 15:30:17
1.2K0
发布2022-09-13 15:30:17
举报
文章被收录于专栏:折腾小记

0x00 事情是这样子的

折腾的时光总是快乐的,目前空闲下来了,就开始想象有啥活可以整的,老早就想着写一篇软件分享的文章,可是也没啥好推荐的,昨天在看到一篇介绍文本编辑器的文章后突然脑洞大开,那我就来点不一样的呗~命令行下的文本编辑器,硬核吧,(大佬请自行绕过,没错,就是来吓唬小白的

{% note info modern %}一下介绍性的文字均来自咕噜咕噜和菜鸟教程,感兴趣的可以自行搜索。{% endnote %}

0x01 正式分享

1、vi/vim
1.1 介绍

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。连 vim 的官方网站 (http://www.vim.org) 自己也说 vim 是一个程序开发工具而不是文字处理软件。

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。

但是目前我们使用比较多的是 vim 编辑器。

vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

1.2 安装

由于所有的linux/unix系统都自带了vi,那我这里就讲讲vim的安装吧,(windows就算了,有notepad)很简单,用包管理器直接安装即可,这里重点讲一下我的vim美化/优化方法:D

介绍一个vim的第三方主题扩展包:spacevim,首先我们来看看它的样子:

怎么样,是不是很好看呢,我们在终端里输入这条命令即可直接安装到你的vim配置文件中,下次启动直接就变成sapcevim的界面了。

代码语言:javascript
复制
curl -sLf https://spacevim.org/install.sh | bash

Tips:初次启动会要你选择模式,选择后退出,第二次进入会自动安装初始扩展,等待一下就好。当然后续的插件扩展我们都可以自行DIY,官网里介绍的非常详细我就不多赘述了。

1.3 使用方式

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

{% tabs 三种模式 %}

<!-- tab Command mode -->

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

<!-- endtab -->

<!-- tab Insert mode -->

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

<!-- endtab -->

<!-- table Last line node -->

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

<!-- endtab -->

{% endtabs %}

来张题把这三种模式串一下大家就会很明白了:

1.4 小结

总体来说,vi/vim我还是非常推荐的,方便简单是他的代名词,而且命令也不难记,上手几次就熟悉了,而且可扩展性也强,可玩性高,也好看(重点),谁不想有个用起来趁手又好看的工具呢,对处理单个文件的时候就很很方便,不用开IDE那种重型软件。

2、Emacs
2.1 介绍(看看就行)

Emacs,著名的集成开发环境和文本编辑器。Emacs被公认为是最受专业程序员喜爱的代码编辑器之一,另外一个vim

EMACS,即Editor MACroS(编辑器宏)的缩写,最初由Richard Stallman于1975年在MIT协同Guy Steele共同完成。这一创意的灵感来源于TECMAC和TMACS,它们是由Guy Steele、Dave Moon、Richard Greenblatt、Charles Frankston等人编写的宏文本编辑器

自诞生以来,Emacs演化出了众多分支,其中使用最广泛的两种是:1984年由Richard Stallman发起并由他维护至今的GNU Emacs,以及1991年发起的XEmacs。XEmacs是GNU Emacs的分支,至今仍保持着相当的兼容性。

Emacs使用Emacs Lisp,这种有着极强扩展性的编程语言,从而实现了包括编程、编译乃至网络浏览等等功能的扩展。

2.2 安装

windows用户可以直接去官网下载二进制安装包文件,打开即用,linux/unix系用户、MacOS用户就用包管理器吧,当然也可以下载二进制文件。

2.3 使用方式

我我我,这个真不会,但也许你会喜欢下面几个详细介绍:

{% link Emacs保姆级入门讲解, https://www.bilibili.com/video/BV19p4y1X7W3, https://cdn.jsdelivr.net/gh/Iori-yimaga/PicBed@main/MyBlog/5H8ktr.png %}

2.4 小结

Emacs主要依赖各种快捷键的组合来实现功能,确实挺“方便”的,丢掉了鼠标,但是太多了,对新人不是很友好,但是你耐心的学习一段时间后,又会发现好像打开了新的大门,特别是配合Lisp脚本来拓展插件之后,又会觉得哇塞,这玩意真棒?说是小型的vscode也不为过,可以聊天、收发邮件、听歌等等,等待大家探索。

玩会了来教我

3、helix editor (Logo)
3.1 介绍

这个就是我昨天看的文章里介绍的一款比较新的文本编辑器,相对于前面的两位老前辈,这个就年轻了。

Helix 是用 Rust 编写的,使用 Tree-sitter 进行语法高亮。开发者声称,它比正则表达式高亮更快,因为 Tree-sitter 像编译器一样将代码解析成语法树,从而给出更多的代码结构信息。

你可以跟踪局部变量,计算缩进和操作选择来选择语法节点。它足够强大,即使有语法错误也能产生结果。

Helix 的主要亮点是“多重选择”,这是基于 Kakoune 的。

内置的语言服务器支持提供上下文感知补全、诊断和代码操作。

3.2 安装

各大平台均可使用包管理器安装,windows除外(微软:那我走?),但是本着折腾和geek精神,咱们来自编译?。

前提是装好rust环境和cargo包,然后按照如下顺序输入命令进行编译:

代码语言:javascript
复制
git clone --recurse-submodules --shallow-submodules -j8 https://github.com/helix-editor/helix
cd helix
cargo install --path helix-term

其实完成这一步后,咱们在终端就可以使用hx来呼出hexlix editor了,但是你想要全局呼出的话,需要安装它的运行时,也就是runtime:

代码语言:javascript
复制
cargo install --path helix-term --features "embed_runtime"
3.3 使用

其实操作上很像vi/vim,但是多了一些提示框和动态的效果,看起来更具现代感

3.5 小结

用习惯vi/vim的用户来说,可以平滑过渡到这个工具上来,确实挺不错的,我决定要用一段时间了,自编译的还是香~

0x02 我想要说的话

emmmm怎么感觉完全就是vim/vim的专场???其实不是,只是个人习惯使用而已,emacs作为编辑器界的鼻祖,更有emacs就是个操作系统的说法,只是我太菜了

大家完全可以凭借自己的喜好去选择自己想要的,当然,适合自己的才是最好的嘛。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x00 事情是这样子的
  • 0x01 正式分享
    • 1、vi/vim
      • 1.1 介绍
      • 1.2 安装
      • 1.3 使用方式
      • 1.4 小结
    • 2、Emacs
      • 2.1 介绍(看看就行)
      • 2.2 安装
      • 2.3 使用方式
      • 2.4 小结
    • 3、helix editor (Logo)
      • 3.1 介绍
      • 3.2 安装
      • 3.3 使用
      • 3.5 小结
  • 0x02 我想要说的话
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档