我正在处理.s
文件。尽管此文件是asm文件,但与.asm
文件不同(注释以开头--
,不是#
)。
因此,当我打开.s
文件时,它显示为asm文件。如何更改文件类型以正确显示(--
符号后为蓝色)?
还有,我已经映射F1
在vimrc
为下面的评论:
if (@% =~ "\.s") "if file is .s
map <F1> :<ESC>0i-- <ESC>j
endif
此方法适用于其他文件,但不适用于.s
文件。注释符号是#
因为我的地图F1
是#
以前。
你能帮助我吗?
非常感谢你
我会 强烈 建议像评论插件评论(我用),书呆子批评家,EnhCommentify,tComment,......,等等。使用插件没有什么可耻的。特别是由于评论切换似乎比预期的要复杂得多。
只需'commentstring'
为文件类型设置为注释样式即可。如果Vim识别出您的文件类型,通常已经为您设置了。请参阅:h 'commentstring'
。
更改'commentstring'
PHP的示例。将以下内容添加到~/.vim/ftplugin/asm.vim
:
if expand('%:t') =~# '\.s$'
set commentstring=--\ %s
endif
或者,如果您希望vimrc
文件中的所有内容:
autocmd FileType asm if expand('%:t') =~# '\.s$' | set commentstring=--\ %s | endif
您可以将toggle comment命令设置为<f1>
如下所示:
nmap <f1> <Plug>CommentaryLine
但是,注释离主行更近,并且不与任何本地映射冲突。
注意:我使用注释,这可能不适用于其他注释插件。与往常一样,请阅读文档。
您可能需要更改语法文件以显示--
以注释开头的行。将以下内容添加到~/.vim/after/syntax/asm.vim
:
syntax match asmComment /--\_s.*$/
有时,使用插件不是一种选择,但您应该知道,(取消注释)比最初看起来要复杂得多。特别是如果您需要跨多个文件类型执行此操作。诸如commentary.vim之类的插件可让您一次注释多行或使用动作,例如gcip
。
最简单的方法。仅评论:
autocmd FileType asm nnoremap <buffer> <F1> gI-- <ESC>j
现在,对于一些使用map-expression的切换:
autocmd FileType asm nnoremap <buffer> <expr> <f1> getline('.') =~ '^\s*--\_s' ? "^3"_x+" : "gI-- \<esc>+"
我还创建了一个幼稚的commentary.vim风格的注释切换映射。将以下内容放入您的vimrc
文件中:
nnoremap gcc :<c-u>.,.+<c-r>=v:count<cr>call <SID>toggleComment()<cr>
nnoremap gc :<c-u>set opfunc=<SID>commentOp<cr>g@
xnoremap gc :call <SID>toggleComment()<cr>
function! s:commentOp(...)
'[,']call s:toggleComment()
endfunction
function! s:toggleComment() range
let comment = substitute(get(b:, 'commentstring', &commentstring), '\s*\(%s\)\s*', '%s', '')
let pattern = '\V' . printf(escape(comment, '\'), '\(\s\{-}\)\s\(\S\.\{-}\)\s\=')
let replace = '\1\2'
if getline('.') !~ pattern
let indent = matchstr(getline('.'), '^\s*')
let pattern = '^' . indent . '\zs\(\s*\)\(\S.*\)'
let replace = printf(comment, '\1 \2' . (comment =~ '%s$' ? '' : ' '))
endif
for lnum in range(a:firstline, a:lastline)
call setline(lnum, substitute(getline(lnum), pattern, replace, ''))
endfor
endfunction
:h 'commentstring'
:h :set
:h filetype
:h new-filetype
:h ftdetect
:h ftplugins
:h after-directory
:h :syn-match
:h :autocmd
:h :map-expression
:h :map-local
问题内容: 几天前,我开始与Hibernate合作时,我只是想知道:假设您正在从头开始一个项目。您是否将使用基于注释的映射或Hibernate映射文件来生成数据库模式。 据我了解,Hibernate映射文件提供了一些注解所没有的功能(至少不是完全等效的功能)。但是,我仍然感觉到,如今,使用Hibernate的项目宁愿基于注释而不是Hibernate映射文件。 有没有人选择过注解上的映射文件,如果是
问题内容: 我想使用Spring和.jspx网页创建一个Web应用程序。 我的问题是如何在jspx中放置IE的条件注释?他们似乎没有被解释。 另外,我希望我的网页符合HTML5。 我尝试了一些方法,但是在IE9中出现了不兼容问题(似乎无法识别标题和部分)。 编辑: 这是我的头牌 但是,如果我查看IE9下的源代码,则看不到html5shiv和我的辅助CSS的链接。 问题答案: 根据JSP 2.0规范
在我当前的代码(Java)中,我正在使用类级Java注释进行一些自定义注释处理,即注释。 目标类只包含静态实用程序方法,所以我在Kotlin中使用了文件范围的函数。如何将这些注释添加到生成的类中? 在Java中: 现在在静态编程语言中:
问题内容: 今天,我试图使用Hibernate作为ORM创建一个应用程序。因此在创建时我有一个疑问。使用Hibernate映射文件(.hbm文件)或注释的最佳实践是什么?它的优缺点是什么?请帮助我理解。 问题答案: 没有功能上的差异。您可以使用两种方法(几乎)执行相同的操作 xml文件是在Java具有注释(在1.5中添加)之前使用的,因此可以将它们视为过时的映射方式 通常首选使用JPA注释,而不是
问题内容: 我的Java模型上有一个枚举类型,我想映射到数据库中的表。我正在使用“hibernate注释”,但我不知道该怎么做。由于我搜索的答案比较旧,我想知道哪种方法最好? 提前致谢 问题答案: 除了注释,您还需要其他东西吗?例如,以下枚举: 可以这样使用和注释: 您可以使用批注的enum属性指定枚举应如何在数据库中持久化。指定该枚举将作为整数值保留。在这里,设置为将永久保存为0,保留为1,依此
例如,我有一个bean类 我想设置这个属性的值。 在Xml配置中,我可以 我如何实现同样的事情,即设置属性的值使用Java注释?现在我已经读到,我们可以使用@Value注释使用一些属性文件,但它不能不使用属性文件,做的方式,我通过xml文件?或者使用属性文件是必要的? 我可以通过包含