让vim为CSS类和ID名称提供选项卡完成
我经常错过的一个IDE特性是tab完成,它总是插入到vim中 我非常喜欢,但有一件事我不能忍受,那就是它将CSS类名和ID中带有破折号的部分视为单独的单词让vim为CSS类和ID名称提供选项卡完成,vim,Vim,我经常错过的一个IDE特性是tab完成,它总是插入到vim中 我非常喜欢,但有一件事我不能忍受,那就是它将CSS类名和ID中带有破折号的部分视为单独的单词 我已经找到了camelCase和underline_补全的几种可能的解决方案,但我似乎找不到任何支持普通破折号的解决方案。这不是CSS特有的问题:Vim使用iskeyword的值来执行补全 键入:设置iskeyword?以查看哪些字符被视为关键字的一部分。Mac上的默认值应该是@,48-57,u192-255 可以使用以下命令将破折号添加到列
我已经找到了camelCase和underline_补全的几种可能的解决方案,但我似乎找不到任何支持普通破折号的解决方案。这不是CSS特有的问题:Vim使用
iskeyword
的值来执行补全
键入:设置iskeyword?
以查看哪些字符被视为关键字的一部分。Mac上的默认值应该是@,48-57,u192-255
可以使用以下命令将破折号添加到列表中:
:set iskeyword+=-
将此行添加到~/.vimrc
以使此设置保持不变:
set iskeyword+=-
这似乎对我有用:
autocmd FileType css,scss set iskeyword=@,48-57,_,-,?,!,192-255
摘自此处:供将来的读者阅读:如果您想要在编辑/移动命令中使用破折号,但想要完整的属性自动完成,请尝试将其添加到您的
。vimrc
:
augroup css_dash_autocompletion
autocmd FileType scss,css autocmd! css_dash_autocompletion InsertEnter <buffer> set isk+=-
autocmd FileType scss,css autocmd css_dash_autocompletion InsertLeave <buffer> set isk-=-
augroup END
augroup css\u dash\u自动完成
autocmd文件类型scss,css autocmd!css\u破折号\u自动完成插入器集isk+=-
autocmd文件类型scss,css autocmd css\u dash\u自动完成插入离开设置isk-=-
螺旋端
第一个
代码>防止重复事件触发。感谢您对结构的支持。如果你是source
你的.vimrc
,你将需要:e
任何你打开的CSS文件来获取更改。我已经尝试过这种方法,但它的副作用是运动命令然后将破折号作为单独的单词处理。因此,在文件中移动时,我的类名被视为5个单词。你的意思是eewbb
?关键是要在Vim认为的单词中包含-
。使用默认值,您必须点击5e
才能从
转到中的最后一个字符。社交网络按钮
,但使用:设置iskeyword+=-
只需点击e
一次。对不起,我不清楚我想说的是,我喜欢将破折号视为分词的默认运动,但我想我可以改变我的肌肉记忆来使用f-因为我更希望完全完成而不是运动。