MacOS下基于vim搭建lua开发环境

背景

最近项目中涉及到lua脚本的应用,而且可能会修改lua。所以必须要学习下lua,并还要有一套lua的开发环境。
最近已经习惯了使用vim作为开发的IDE,现在做lua自然也想使用vim来开发lua。

基础环境说明

MacBook Pro一台,配置截图如下:
MacOS下基于vim搭建lua开发环境

查看vim是否支持lua

终端输入"vim --version",按下Enter键。结果如下图:
MacOS下基于vim搭建lua开发环境
从图中可以看出,当前vim不支持lua选项。所以需要重新编译vim,并添加对lua的支持。

源码编译升级vim

  1. 下载vim源码: git clone https://github.com/vim/vim.git ~/;
  2. 编译vim。
    2.1. 切换到vim源码目录:cd vim;
    2.2. 配置编译选项:./configure --enable-pythoninterp --enable-python3interp --enable-cscope --enable-rubyinterp --enable-luainterp --enable-perlinterp --with-lua-prefix=/usr/local。 配置选项说明:
    2.2.1. --enable-pythoninterp:vim支持python。
    2.2.2. --enable-python3interp:vim支持python3。
    2.2.3. --enable-cscope:vim支持cscope。
    2.2.4. --enable-rubyinterp: vim支持ruby。
    2.2.5. --enable-luainterp:vim支持lua。
    2.2.6. --enable-perlinterp:vim支持perl。
    2.2.7. --with-lua-prefix=/usr/local:设置lua的bin目录,在本系统中lua解析器在/usr/local/bin目录下,所以这里设置为/usr/local目录。
  3. 编译vim: make。
  4. 查看编译好的vim情况:./src/vim --version。结果如下截图:
    MacOS下基于vim搭建lua开发环境
    从截图中可以看出,新编译的vim已经支持lua啦。
  5. 安装vim: sudo cp ./src/vim /usr/bin/。通过which vim可以看到vim在/usr/bin目录下。

插件安装

  1. 编辑vim配置文件~/.vimrc:vim ~/.vimrc。
  2. 在call vundle#begin() 和call vundle#end()之间加入lua插件“luainspect.vim”、“vim-misc”、“vim-lua-ftplugin”的配置,配置如下截图所示:
    MacOS下基于vim搭建lua开发环境
  3. 在vim命令后模式中执行“:PluginInstall”,安装插件。当vim窗口左下角出现“Done!”字样时,证明插件已经安装完成。这是重启vim则可以正常使用vim进行lua开发啦。

lua插件使用说明

  1. luainspect.vim使用参考地址:https://github.com/vim-scripts/luainspect.vim
  2. vim-misc使用参考地址:https://github.com/xolox/vim-misc
  3. vim-lua-ftplugin使用参考地址:https://github.com/xolox/vim-lua-ftplugin

其它说明

新版Mac加建了安全保护机制,所以默认情况下/usr/local、/usr/bin等目录被安全机制锁住了,root用户也无法进行操作,但是我们实际应用中有时候需要操作关键目录,这时候我们需要有一定的策略。步骤如下:

  1. 重启Mac, 启动时按住command+R键,进入恢复模式。
  2. 在界面上方菜单中找到Terminal,打开终端。
  3. 在终端中输入:csrutil disable。
  4. 重启Mac,使其正常启动。
  5. 在terminal中输入:csrutil status,显示为disable,则证明安全机制已经被关闭。
  6. 同样在恢复模式中输入:csrutil enable则可以重新开启安全机制。
  7. 在关闭安全模式后原来一些root用户都没办法操作的目录已经变得可以操作了。为了安全起见,在非安全模式下完成了相关操作后要即使恢复Mac到安全模式。

参考文档

  1. https://blog.csdn.net/ding_yingzi/article/details/81517401
  2. https://blog.csdn.net/zxc3590235/article/details/104232764
  3. https://blog.csdn.net/pei2215015/article/details/79813522
  4. https://www.cnblogs.com/liuxuzzz/p/5338306.html
  5. https://github.com/vim-scripts/luainspect.vim
  6. https://github.com/xolox/vim-misc
  7. https://github.com/xolox/vim-lua-ftplugin