Vim踩坑记录

本文最后更新于:2023年1月2日 下午

前言

使用Vim的历史就是人类不断折腾的赞歌

Fuck the Vim

airline-weather

8月7日,weather的icon还是不尽人意,不是nerd font的错误(每一个nerd font的weather图标都很小),应该直接从unicode编码的图形入手

可能解决办法:去windows系统中把unicode图标敲出来,然后写到文件里面直接复制到Ubuntu


8月8日,上述方法可行,但是效果不太理想。现在又出现了新的问题,无法通过设置地理位置来更改weather

可能解决的办法:提交issue,看作者什么时候回我:(


8月11日,我估计那个作者是不会回我了。我看了一下项目日期,是2016年的项目,我麻了

暂时放弃了这个插件(我重新安装之后居然还报出API error的错误,服了),看什么时候作者想起来这个项目了吧


9月5日,我提交了那个issue有人回我了(应该是一个中国老哥),他给的方法暂时能解决刷新问题(通过强制删除.weather文件)。不过显然治标不治本,我无法通过设置时间让vim自动给帮我刷新weather在这里还是感谢一下帮忙的那位老哥Freed-Wu

我累了,毁灭吧

vim-visual-multi

8月8日,使用vim-visual-multi有时候会出现错误,在vim中有报错显示,极大原因是和coc的配合出现了问题(.html代码中尤为明显)。如果出现报错,使用Ctrl+n能够多选,但是操作会有极大问题。

可能解决的办法:暂时没找到合适的解决方法。但是听说是因为版本的问题,新版本vim和neovim是没有这样的bug的,可以选择移植


8月9日,重新编译Vim的话会出现两种版本的Vim共存的情况,一个在/usr/bin/vim中,也就系统的vim,一个是在/usr/local/bin/vim中,也就是自己编译安装的vim。(麻了,真让人头疼)新安装的没有了问题(8.2版本),系统的是8.1版本,看啥时候Ubuntu软件源能够给我面子更新一下自家的vim了:(


8月15日,好消息是我不用等apt软件源主动更新vim了。我可以直接用ppa来安装最近的vim

sudo add-apt-repository ppa:jonathonf/vim

害,这就好多了,然后更新软件源然后安装就好了,问题得到了解决。(主要参考)

当然你也不能要求别人ppa和github更新的速度一样快,相差一个月以内就行了

浏览器运行html文件

9月5日,我改用neovim和mac的组合了,markdown插件换成了InstantMarkdown但是发现使用之后html就无法用谷歌打开了(当然是用md_browser打开的),研究了半天找到了解决办法

解决办法:使用!open %就能用默认浏览器打开html文件了

使用coc-java运行报错

9月11日,The error is: Error: The "java" server crashed 5 times in the last 3 minutes. The server will not be restarted

这里主要是jdt lang Server 没有好好地运行(我是用内部自动安装的,所以安装出了问题)

解决办法:直接去eclipse官网去下载这个server,下载好之后手动安装到~/.config/coc/extensions/coc-java-data/server

问题issue原地址

设置md文件outline预览

9月29日,现在我因为nvim换到了Mac电脑上了,所以之前设置的md文件的导航视窗预览没有了。

解决办法:找到了一个掘金的帖子,发现他采用的tagbar功能扩展还不错。但是我又发现他是从github上的tagbar#70,于是找到了一个更好的方法,不仅显示了大纲还可以显示图片地址和链接

fzf.vim

9月30日,问题描述:fzf.vim在使用时,输入:Files报错(反正就是很诡异)

解决办法:我找到了issue#439,这里面说可以更改fzf的目录文件,即更改dir,于是我将Plug 'junegunn/fzf', { 'dir': '~/.local/share/fzf' }添加到了我的init.vim中。

Neovim on Windows

最近在Windows上开始折腾上了Neovim(不得不说用起来意外地舒服),当然是在Windows Terminal上玩的

首先需要注意的是使用Windows的话推荐使用Windows Terminal来打开powershell来编辑,同时推荐使用Chocolatey来管理你的neovim的软件包

12月3日,问题描述:在安装完Neovim后,输入指令checkhealth,结果是python3的依赖没有导入,对nvim会提示fail to import neovim,这时候就需要使用pip来安装neovim的python依赖了: pip install neovim,结果发现了bug。

问题在于:你安装了neovim依赖之后还是会报错!

问题查明和解决方法:你使用了较新版本的python,比如我就是用的python 10.0.0,只需要将python@10卸载之后安装python@9就好了

其他关于checkhealth问题

  1. 首先就是需要安装关于node.js的依赖:npm install neovim -g

  2. go和rua的依赖,你可以通过查看health详情来看一下到底怎么操作

Vim on Mac OS

2023年1月2日,更新了Mac OS到12.6.2,于是自动更新了终端上的Vim,水果将其更新为了vim@9.0 (听说支持vimscript9,速度会有飞跃式提升)。

于是就打算重新配置一下Vim(毕竟我一直都在使用NeoVim,好久没有使用原生Vim了),但是这个Vim我满怀欣悦试着去从零开始配置,结果慢慢发现它相较于NeoVim好多feature都没有。真是头疼啊

其version如下:

VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Nov 13 2022 20:35:12)
macOS version - arm64
Included patches: 1-639
Compiled by root@apple.com
Normal version without GUI.  Features included (+) or not (-):
+acl               +file_in_path      -mouse_urxvt       -tag_any_white
-arabic            +find_in_path      +mouse_xterm       -tcl
+autocmd           +float             +multi_byte        -termguicolors
+autochdir         +folding           +multi_lang        +terminal
-autoservername    -footer            -mzscheme          +terminfo
-balloon_eval      +fork()            +netbeans_intg     +termresponse
-balloon_eval_term -gettext           +num64             +textobjects
-browse            -hangul_input      +packages          +textprop
++builtin_terms    +iconv             +path_extra        +timers
+byte_offset       +insert_expand     -perl              +title
+channel           +ipv6              +persistent_undo   -toolbar
+cindent           +job               +popupwin          +user_commands
-clientserver      +jumplist          +postscript        -vartabs
+clipboard         -keymap            +printer           +vertsplit
+cmdline_compl     +lambda            -profile           +vim9script
+cmdline_hist      -langmap           -python            +viminfo
+cmdline_info      +libcall           -python3           +virtualedit
+comments          +linebreak         +quickfix          +visual
-conceal           +lispindent        +reltime           +visualextra
+cryptv            +listcmds          -rightleft         +vreplace
+cscope            +localmap          +ruby/dyn          +wildignore
+cursorbind        -lua               +scrollbind        +wildmenu
+cursorshape       +menu              +signs             +windows
+dialog_con        +mksession         +smartindent       +writebackup
+diff              +modify_fname      -sodium            -X11
+digraphs          +mouse             -sound             -xfontset
-dnd               -mouseshape        +spell             -xim
-ebcdic            -mouse_dec         +startuptime       -xpm
-emacs_tags        -mouse_gpm         +statusline        -xsmp
+eval              -mouse_jsbterm     -sun_workshop      -xterm_clipboard
+ex_extra          -mouse_netterm     +syntax            -xterm_save
+extra_search      +mouse_sgr         +tag_binary
-farsi             -mouse_sysmouse    -tag_old_static
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX  -g -O2 -U_FORTIFY_SOUR
CE -D_FORTIFY_SOURCE=1
Linking:
gcc   -L/usr/local/lib -o vim        -lm -lncurses  -liconv -framework Cocoa

使用has('termguicolors')has('unnamedplus')查看一下结果两个都是0,也就是说Mac最新的Vim连24bit true color和共享系统剪切板的支持都没有,真是欲哭无泪啊。不过还是可以体验一把最原始的Vim Style,试着配完吧🧐。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!