macOS 上一款杀手级的 Vim GUI 工具

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇

作者丨小集

来源丨小集(ID:zsxjtip)

https://mp.weixin.qq.com/s/zyE7FGRJ_Jj_5_vPMeIaWQ

虽然我们可以在终端使用 Vim,但如果能通过 GUI 来使用 Vim 的能力,一定能大大提高效率。这里就推荐一款 Vim 的 GUI 工具:VimR。

VimR 的目标正如项目描述的:

The goal is to build an editor that uses Neovim inside with many of the convenience GUI features similar to those present in modern editors.

即构建一个在内部使用 Neovim 的编辑器,并具有与现代编辑器类似的许多便捷 GUI 功能。

ce825f9c07cca634c2036b618c52869f.png

特性

VimR 具有一些不错的特性,如:

  • Markdown 预览

  • 通用 HTML 预览(重新加载时保留滚动位置)

  • 模糊文件查找器,如 Xcode 的“快速打开……”

  • 基本触控板支持:缩放和两指滚动捏合

  • 支持连字:默认关闭。在首选项中打开它

  • 表情符号支持

  • 基本文件和编辑菜单项

  • 支持命令行工具

  • 简单的文件浏览器

  • 灵活的工作空间模型,类似于 JetBrain 的 IDE

另外,VimR 有一个很酷的特点是自适应主题。当我们改变配色方案时,VimR 会改变 UI 以匹配。

233d7c6fae04d727f137bcf6304a93aa.png

正如上面清单中描述的,VimR 借鉴了 Jetbrain 的灵活工作空间。可以根据自己的喜好移动四个侧边栏选项(文件、缓冲区、HTML 和 Markdown)。这允许垂直或水平查看。

使用

VimR 的安装很简单,从 Github 上下载 release 安装即可。下面是一些基础的配置和使用。

基础配置

在使用 VimR 之前,我们可能需要检查 init.vim 中的 gui_vimr 标志以将某些设置仅应用于 VimR:

if has("gui_vimr")
  " Here goes some VimR specific settings like
  color xyz
endif

或者我们可以将 VimR 的特定设置放在 ~/.config/nvim/ginit.vim 中。

实时窗口调整大小

实时窗口大小调整默认关闭。我们可以在 Advanced Preferences 中打开它:

0e2aae6453b5fa3597cba75f035f1e1d.png

连字

默认情况下关闭连字。可以在 Appearance Preferences 中打开它:

a28f77f73ed96562331e5afbd88c4a5d.png

自定义键盘快捷键

我们可以在 Shortcuts Preferences 中更改菜单项的快捷方式:

71378fc4feef191cd1ed4d27dd128eb0.png

自定义快捷方式将显示为蓝色。

Neovim 内部的命令

我们可以使用以下命令来控制一些 GUI 元素:

  • VimRMaximizeWindow

  • VimRToggleFullscreen

  • VimRHideTools, VimRToggleTools, VimRShowTools

  • VimRHideToolButtons, VimRToggleToolButtons, VimRShowToolButtons

  • VimRMakeSessionTemporary:VimR 不存储 GUI 设置,例如 窗口大小、工具和工具按钮的可见性。

  • VimRSetFontAndSize "Some Font Name", 13:将字体和大小分别设置为 Some Font Name 和 13。大小必须是整数。

  • VimRSetLinespacing 1.0:设置行距为 1.0。该值必须是浮点数。

如果我们想在启动过程中执行其中一些命令,必须将它们放在 ~/.config/nvim/ginit.vim 中。

滚动和渲染性能

我们可以在 Advanced Preferences 中打开字形的并发计算。根据情况,这可能会让渲染更快。但是,也会导致更高的 CPU 使用率。

VimR 中的 $PATH

确保环境变量 SHELL 设置为合理的值:VimR 使用 SHELL 启动 Neovim 后台进程。

命令行工具

VimR 带有一个命令行工具 vimr:

$ vimr --help
usage: vimr [-h] [--dry-run] [--cwd CWD] [--line LINE] [--wait] [--nvim]
            [--cur-env | -n | -s]
            [file [file ...]]

Open files in VimR: By default all files are open in tabs in the front most
window or in a new window if there is none. The working directory will be set
to the current directory.

positional arguments:
  file

optional arguments:
  -h, --help   show this help message and exit
  --dry-run    Just print the 'open' command.
  --cwd CWD    Set the working directory.
  --line LINE  Go to line
  --wait       This command line tool will exit when the corresponding UI
               window is closed.
  --nvim       All arguments except --cur-env, --line, --dry-run and --wait
               will be passed over to the (new) nvim instance in a new UI
               window.
  --cur-env    Use the current environment variables when launching the
               background neovim process. All files will be opened in a new
               window.
  -n           Open files in tabs in a new window.
  -s           Open files in separate windows.

例如,要将 VimR 用作 git difftool,请将以下内容添加到您的 ~/.gitconfig

[difftool "vimrdiff"]
    cmd = vimr --wait --nvim -d $LOCAL $REMOTE
[diff]
    tool = vimrdiff

它可以通过 Preferences ➝ General ➝ "Copy 'vimr' CLI tool..." 按钮安装:

f1d197bea79c7ee6dbc4a25db486d4b1.png

小结

Vim 的 GUI 方案还有不少,有不少是基于 Electron 的,这些相对来说性能都比较一般。而 VimR 是基于 Swift 和 macOS 原生体系来构建的,值得一试。

「VimR」

地址:https://github.com/qvacua/vimr

⭐️:6.1k

语言:Swift

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

c65efde6683b63263a7db7e7a7621eb8.png

点击👆卡片,关注后回复【面试题】即可获取

在看点这里4c6036b2b0b08346b700db5698bf44b2.gif好文分享给更多人↓↓

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值