Vim 编译安装 +python3支持

日常开发用vim,习惯了脱离鼠标写代码。

今天升级了一堆插件,然后打开Vim报错了,YouCompleteMe插件需要vim编译的时候支持python,所以重新编译vim。

从官方Repo clone代码:

# --depth=1 不拉log
git clone git@github.com:vim/vim.git --depth=1

参考

YouCompleteMe

https://github.com/wklken/k-vim

Configure

./configure --with-features=huge \
             --enable-multibyte \
             --enable-rubyinterp=dynamic \
             --with-ruby-command=/usr/local/opt/ruby/bin/ruby \
             --enable-python3interp=yes \
             --with-python3-config-dir=/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/config-3.7m-darwin \
             --enable-perlinterp=yes \
             --enable-luainterp=yes \
             --enable-gui=gtk2 \
             --enable-cscope \
             --prefix=/usr/local/vim8

执行这个命令,设置–with-python3-command=为本机的python3可执行文件路径。

Make & Install

make
sudo make install

Check

打开vim,命令模式执行:echo has(“python3”),返回1,表示已启用python3

这时候,vim插件的错误应该都没有了,可以正常使用。

vim 命令记录

参考: 简明 Vim 练级攻略

替换

把所有行的 search 替换为 replacement

其中,\rreplacement中表示换行

:%s/search/replacement
:10,20s/search/replacement    //指定10-20行之间匹配的进行替换

删除空行

把所有空白行删掉

//仅空白行
:g/^$/d
:v/./d
:10-20g/^$/d                  //指定10-20行之间,其它相同
//仅包含空白符也算空白行
:g/^\s*$/d
:v/\S/d

宏录制

记录一系列操作,快速重复

输入 qa 开始录制宏,记录在寄存器 a (命名为 a)

做任何需要的,完成后在 Normal 模式按 q 结束录制

@a 在当前光标下重复 a
@@ 在当前光标下重复 刚刚录制的宏
10@@ 在当前光标下重复10次刚刚录制的宏

多光标操作

标记多个相同的文本,统一操作。常用于局部某变量重命名

使用插件: terryma/vim-multiple-cursors

可以先使用 Visual Mode 选中需要操作的,然后Next Key (<C-m/n>) 选中下一个

处理csv文件

在mac上面很多csv文件用excel打开会乱码,这时候需要设置bomb,设置之后就正常了。用vim打开文件,然后命令模式执行::set bomb。如果有需要移除bomb,执行::set nobomb