Below you will find pages that utilize the taxonomy term “vim”
Posts
vim的ale调用eslint引起webpack与jest多次重新编译问题
在前端项目中,有大量的import,webpack的resolve.alias为此提供了很大的方便。为项目的一些常用路径定义别名,可以极大的简化代码并提高代码可读性。
eslint有一个plugin– eslint-plugin-import,能检测import的package是否合规,为了与webpack的alias一起工作,于是又有了一个新工具— eslint-import-resolver-webpack,使eslint可以识别webpack中定义的别名引用路径。
https://www.npmjs.com/package/eslint-import-resolver-webpack
我最初使用的是文档中省事的写法,直接在.eslintrc.js中使用了webpack的文件名
config:‘webpack.config.js‘vim通过ale插件,支持eslint语法检查,是随输入随检查。
从此开始了编译的噩梦。
只要vim修改了文件内容,文件还没保存,但jest –watch 或 webpack-dev-server进程就会认为文件有改动,疯狂的重新编译,或重新运行测试。
一开始没意识到问题,还以为正常就这样,后来发现用其他编辑器在文件还没有保存的时候,修改文件内容是不会出发文件监听更新事件的。
首先定位错误到vim,经过挨个插件排查发现问题出在ale上,只要每次ale调用eslint,就会触发文件更新。实际用ls -l –full-time检查了一下发现eslint并没有更新文件的任何属性。
于是定位到eslint,对比了一下tslint,发现tslint不会触发文件更新事件。以为是eslint的bug或默认行为?于是开始排除eslint的插件,发现只要加载了webpack的配置,就会触发文件更新。终于定位到错误。
最后,将webpack中的alias部分提取到独立的文件,分别由.eslintrc.js与webpack.config引入使用,解决该问题。
Posts
windows的vim对python的支持
在win上用vim,执行:version,看到有python和python3的支持,但装上python3.6却仍然不支持,令人十分困惑。
后来发现在vim中执行:py xxx,会有报错提示缺少python3.5.dll,原来是在编译的时候就和python的版本搭配固定了。赶紧装个python3.5就成了。
后记:win上各种不适应,就算折腾也得换回linux,下次再找活的时候先问清楚了,必须用windows的就pass掉。
Posts
prettier/eslint/stylelint与编辑器的整合
一直用eslint,也在命令行用过prettier,最近突然大发现prettier可以和编辑器整合。
于是赶紧用上了心爱的vim插件vim-prettier,开启文件保存时自动整理代码,顿时世界就和谐了。
奈何团队其他小伙伴没有用vim的心,搜了一下,让他们把prettier整合到sublime里。
团队使用,至少能解决7成以上的代码风格问题。还得靠自动化工具,靠自觉和审查也不是不行,就是损耗太大。
既然js可以美化,css/less/scss等自然也就可以。顺带就找到了另一个神器stylelint,配合stylelint-scss,stylelint-order,stylelint-config-starndard等可以自动美化代码并提示css错误。
推荐所有前端都用上,只要你常用的ide都支持整合,再顺带推广下vim,各种插件只有想不到,等我想到了都已经有人做出来了。
Posts
git autocrlf
昨天在家改了点vim配置,今天在单位用git pull了一下发现全是^M的语法错误
一开始不明所以还用dos2unix转了半天,
find . -type f -exec dos2unix {} ;
后来一提交发现自动变成crlf了,原来是git的autocrlf = true的问题,赶紧设置成false,并且设置eol = lf
Posts
vim搜索选中块
一直以为vim应该内置这么个自动搜索选中部分的功能,就是不知道那个快捷键而已,原来还真的不支持,得用个插件。
http://vim.wikia.com/wiki/VimTip171
vsearch.vim