网站搜索

Kakoune:受 Vim 启发的更好的代码编辑器


Kakoune 是一款免费、开源、功能强大、交互式、快速、可编写脚本且高度可定制的代码编辑器,具有客户端/服务器架构。它运行在类 Unix 系统上,例如 Linux、FreeBSD、MacOS 和 Cygwin。它是一个类似 Vi/Vim 的模态编辑器,旨在改进 Vi 的底层编辑模型以获得更多交互性。

另请阅读:面向程序员和开发人员的 18 个最佳 IDE

它配备了许多文本编辑/编写工具,例如上下文帮助、语法突出显示、键入时自动完成,并支持许多不同的编程语言。它还实现了多重选择作为与文本交互的基本过程。

此外,Kakoune 的客户端/服务器架构允许多个客户端连接到同一编辑会话。

卡库恩截图

卡库恩特点:

  • 它是交互式的、可预测的且快速的。
  • 支持多项选择。
  • 支持语法高亮。
  • 它以两种模式运行:正常插入
  • 使用更少的击键使其速度更快。
  • 支持自动信息显示。
  • 还支持广泛的自动完成。
  • 提供多种文本编辑工具。
  • 它支持与外部程序一起工作。
  • 支持高级文本操作原语。
  • 使用强大的处理原语,例如正则表达式匹配、过滤、分割、对齐、文本对象等。

要求:

  • GCC >= 5 或 clang >= 3.9(带有关联的 C++ 标准库(libstdc++ 或 libc++)
  • libncursesw >= 5.3
  • asciidoc 用于创建手册页

如何在 Linux 中安装 Kakoune 代码编辑器

在主要的 Linux 发行版(例如 CentOS/RHELDebian/Ubuntu)上,您需要从源代码构建和安装它。在此之前,您首先需要在系统上安装开发工具和其他依赖项,然后克隆源代码,使用以下命令构建并安装它。

在 CentOS/RHEL 中安装 Kakoune 代码编辑器

yum group install 'Development Tools' ncurses-devel asciidoc
cd Downloads/
git clone http://github.com/mawww/kakoune.git
cd kakoune/src
make
make man
make install

在 Debian/Ubuntu 中安装 Kakoune 代码编辑器

$sudo apt update && sudo apt install build-essential libncurses5-dev libncursesw5-dev asciidoc
cd Downloads/
git clone http://github.com/mawww/kakoune.git
cd kakoune/src
make
make man
sudo make install

Fedora 上,您可以使用以下命令从 copr 存储库 安装它。

dnf copr enable jkonecny/kakoune
dnf install kakoune

openSUSE 上,您可以通过运行以下命令从默认存储库安装它。确保指定您的 openSUSE 版本的存储库(本例中为 Tumbleweed)。

sudo zypper addrepo http://download.opensuse.org/repositories/editors/openSUSE_Factory/editors.repo
sudo zypper refresh
sudo zypper install kakoune

Arch Linux 上,通过运行以下命令从 AUR 安装它。

yaourt -Sy kakoune-git

如何在 Linux 中使用 Kakoune 代码编辑器

安装kakoune后,只需使用您想要编码的脚本文件名(例如getpubip.sh)运行以下命令来启动它。

kak getpubip.sh 

由于 kakoune 的客户端/服务器架构,上述命令将在本地终端上使用客户端打开一个新会话。

要进入插入模式,请按i。对源代码进行更改后,使用 :w 写入更改。要返回正常模式,请按 ,要退出,请使用 :q。如果您想退出而不写入更改,请使用 :q!。正如您所看到的,大多数按键与 Vi/Vim 编辑器中的按键类似。

您可以通过键入来获取所有接受的命令行选项的列表。

kak -help

有关插入模式下使用的击键等完整文档,请查看 Kakoune Github 存储库:https://github.com/mawww/kakoune

Kakoune 是一个类似 Vi/Vim 的模态编辑器;旨在增强 Vi 的编辑模型,使编写/编辑代码更快、更有趣。通过下面的反馈表分享您对此的想法。