spacevim修改相对行号

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spacevim修改相对行号相关的知识,希望对你有一定的参考价值。

参考技术A 创建~./Spacevim.d/autoload/myspacevim.vim,在其中加入

然后在~./Spacevim.d/init.toml文件中的[options]加入如下内容

超漂亮 vim 配置:space-vim

参考技术A space-vim 现已支持 Layer ,以下内容大都陈旧,欢迎访问 github 查看最新版本:
>>>> space-vim

关于 vim 的更多文章欢迎关注专栏: space-vim

插件 vim-which-key :

插件 vim-clap :

插件 vista.vim :

vim 配置有很多,新手开始可能不太知道要如何修改。
其实很简单,先看一下结构,space-vim 分为三个部分:

首先关于 vim , emacs 与 IDE 之间的争论这里并不讨论,也不想评论。 因为我不排斥这其中的任何一个,这些工具我也都在使用,各有所长,自己用着方便就好。

对 vim 稍微有点了解以后,你会发现配置 vim 在思路上其实很简单,无非是一个 .vimrc 文件外加安装各种 vim 插件.不过从一个新手开始的话还是挺折腾的.毕竟,默认情况下连 .vimrc 这个文件都没有,需要自行创建。

其实现在已经有很多有名气的 vim 配置,但还是自己 “孕育” 而成的才能知根知底,追求 “心中有剑” 而不仅是 “手中有剑”。我建议您在初期的时候可以玩一下那些一流的成品配置, 我也是这么做的,我玩过看过 github 上很多有名的配置, 也 ”steal“ 了很多东西。
不过在有了一定基础后,还是自己打造一个属于自己的配置更称心如意。切换环境时也方便。

接下来的部分只是大致介绍一下我的想法,很多方面并不会深入探讨,仅以一个 ”用家“ 的身份说几句。希望 space-vim 能对您有所助益, 尤其是对于初学者而言希望您能在本文有所收获。

space-vim 的键位绑定启发自 spacemacs,这也是为什么叫做 space-vim. 不过只是学些理念,不要被名字误导为会有 spacemacs 里 layer 之类的东西,重点还是落在 vim -_-. 我同时使用 spacemacs 与 vim, 在桌面环境时倾向于 spacemacs, 终端环境时倾向于 vim. 有了 vim 的基础, 也帮助我能够快速上手 spacemacs.

space-vim 的前缀键设置为空格键, 来源于 spacemacs. spacemacs 除了外观漂亮,社区驱动等等优点,使用空格键作为 evil 的前缀键可能也是其中一个成功的卖点,因为可以减轻手指负担,毕竟“触手可及”.

从现代键盘设计的角度看,空格键理应受到优待, 毕竟一个人在 “VIP” 区占了好几个位.即使 HHKB 这样的神器,也有空格键的一席之地.

此外,关于 vim 自身的键位设定,开始时能会觉得很奇怪为什么会这样,因为以前的键盘长这样:

看到这个,也就应该能够理解为什么 vim 使用 hjkl 作为方向键,因为物理条件就是这样.

在安装 vim 时, 因为不太熟悉可能会走一条捷径, 贪图一个简单的安装命令就搞定, 比如 sudo apt install vim 。不过后期可能会因为缺少某些功能而发生一些问题。 因此, 在前期安装 vim 时最好就将这些问题搞定, 比如编译支持 python 的vim, 因为 后面的插件 YouCompleteMe 需要这一特性.

mac 下使用 brew 安装的话非常方便, 可以使用 brew info vim 看有哪些安装选项,并在安装时指定编译选项:

其他平台下,网络上有很多指引,这里不再赘述。

另外,有些插件用到的一些工具也要安装, 下面给出 mac 下的一些安装途径, 其他平台下可对应查找安装途径:

要想使用 vim 提高效率,记住一些快捷键是必然的. 而这种事情都是熟能生巧,一些常用操作用多了自然也就记住了.

介绍具体的快捷键之前,先来了解一下一些基本概念,比如 buffer, 比如 window, 否则即使知道快捷键是什么也不知道该怎么用.如下图中的红色边框区域都是 window , <Leader> w 都是 window 相关操作的快捷键.

比如我们打开了 NERDTree, 那么如何从 NERDTree 中跳回到 buffer 区进行编辑呢?执行窗口操作 <Leader> w l 即可跳到左边的 "窗口".
要知道我第一次进入 NERDTree,不知道怎么回到 buffer 时,没办法只能退出 vim 再重新打开文件 -_|.

下面是一些使用频率较高的快捷键, 经常使用熟练以后,很多操作已经成为一种下意识地行为.

这部分大都是一些常用命令的快捷键映射或是默认的一些功能键,由于想精简 .vimrc ,于是我将一些常见且不经常改动的设置包装成一个插件进行载入,详情查看下一部分的 vim-better-default 。

下面表格中的快捷键按使用频率排序.

插件并不是越多越好,每个插件我们常用的大多只是其中一小部分功能而已. 插件装多了,vim 一样会慢. 当然也不是配置地功能越强大越好, 选择合适且真正用得到的功能,在这些地方用的舒心即可。

有些插件 “即装即用”,基本不用配置, 或是 "一次配置,终身使用". 有些则稍麻烦一些,不仅是在配置上需要注意,使用上也可能会有一些学习成本,需要有一点耐心才能看到它带来的效果.

我不使用 vim 的标签页 (tab) 功能,所以关于 <Leader> t 的快捷键都不涉及 tab 操作.

<ESC> 可能是使用非常多的一个键, 如果将 jj , jk 几个快速退出插入模式的快捷键熟记于心,应当会减轻不少 "切换" 的压力。 另外,新手请注意默认情况下 Ctrl + [ 也是 <ESC> . 按一下 v 进入 visual mode , 再按一下离开 visual mode 也很方便。

缓冲区操作, <Leader> b .

我最常用的是 <Leader> [1-9] , 直接前缀键加上对应的 buffer 编号即可跳转到该 buffer.
在 spacemacs 中, <Leader> [1-9] 是跳转到对应的 window. 因为 emacs 中 window 是有编号的,而 vim 中 window 没有编号, buffer 有编号. 此外很多人会使用 vim-airline,在 vim-airline 中上方也会显示 buffer 的编号,很方便。

两个删除缓冲区命令的区别:

文件操作, <Leader> f .

打开文件时,可能有些人不太喜欢全部折叠起来, <Leader> f 9 即可全部展开.

窗口操作, <Leader> w .

关于分割窗口的功能,我还常常使用 tmux 来实现,因为它也非常值得学习.

vim-airline 最好搭配 powerline fonts 字体, space-vim 默认不使用. 不过推荐安装:

powerline font 安装完成后,在 .vimrc.plug.conf 中的 air-line 中启用字体:

设置 terminal 字体:

终端环境下 vim 的字体服从于 terminal 的字体设置,GUI 环境下可直接在配置文件中进行设置. 因此安装完成后需要在 terminal 的字体设置中将原有字体改为带有 for powerline 样式的字体,否则会出现状态栏乱码. 比如 iterm2 中字体设置:

一个多漂亮的主题用的久了,总会没感觉,这个插件集成了很多 vim 的主题,可以自行挑一个在自己机器上显示效果不错的。 比如想修改为 atom:

我比较喜欢的是 dracula 和 molokai。

可能 <Leader> a | 是我用的比较多的一个,因为经常在 markdown 中对齐表格。

easymotion 默认的前缀键为 <Leader><Leader> .

为了与 spacemacs 相一致,我还添加了这几个快捷键:

unite.vim 可以为 vim 提供一个命令 UI,可以将一些不常用或不太好设置的快捷键放到里面.

unite.vim 的前缀键为 localleader , 这里设置为 , .

⌘ 指该操作存在对应的快捷键

[menu] 指 unite.vim 的前缀键,这里也即 , .

unite.vim 这部分配置需要很多心思打磨,有待完善.

在前部分介绍安装事项时,提到要安装一些额外使用的工具,有很多就是 syntastic 这个插件所需要的:

有更多需要的话也可以自行查阅 syntastic 文档。

YouCompleteMe 配置稍显复杂,其实也不复杂,关键在于需要安装一些必要的软件,比如 cmake. 具体可以查阅 其安装介绍 .

此外一点注意:必须在 .vimrc.plug.conf 中正确设置 Python 路径.如果不设置该选项 YCM 会经常 crashed. python 版本应当与编译 YCM 时的 Python 版本一致, 建议使用 Python3 和绝对路径避免不必要的问题.

运行 sh ~/.space-vim/uninstall.sh 即可卸载 space-vim.

如果想要修改配置,当然可以选择在我的配置文件上直接修改. 但是如果只是些微调,还是建议您采取以下方式:

最后,GitHub地址: space-vim , 欢迎 fork and star.

以上是关于spacevim修改相对行号的主要内容,如果未能解决你的问题,请参考以下文章

入坑SpaceVim之:解决乱码

超漂亮 vim 配置:space-vim

修改VIM编辑器使其自动显示行号缩进

使用 git diff,如何获得添加和修改的行号?

SQL server 2008中 怎样用update 修改指定行号列号的数据?

Linux vim设置缩进与行号