- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试设置 vim 以在编辑器中编译和运行 c 和 c++ 程序,但这些似乎不起作用:
autocmd! filetype *.c nnoremap <leader>cc :!gcc -o %:p:r %<cr>
autocmd! filetype *.c nnoremap <leader>cr :!gcc -o %:p:r %<cr>:!%:p:r<cr>
autocmd! filetype *.cpp *.cc nnoremap <leader>cc :!g++ -o %:p:r %<cr>
autocmd! filetype *.cpp *.cc nnoremap <leader>cr :!g++ -o %:p:r %<cr>:!%:p:r<cr>
最佳答案
FileType 自动命令使用文件类型而不是文件名来匹配。您可以改为使用 c 和 cpp。见 :h FileType
.然而,您的问题并不止于此:
nnoremap <buffer>
反而。见 :h :map-local
autocmd!
没有组。 autocmd!
将删除所有先前定义的并添加到当前自动命令中。最好用 augroup
创建一个组. %<
而不是 %:r
. :h ftplugin
和 :h after-directory
augroup CBuild
autocmd!
autocmd filetype c nnoremap <buffer> <leader>cc :!gcc -o %:p:r %<cr>
autocmd filetype c nnoremap <buffer> <leader>cr :!gcc -o %:p:r %<cr>:!%:p:r<cr>
autocmd filetype cpp nnoremap <buffer> <leader>cc :!g++ -o %:p:r %<cr>
autocmd filetype cpp nnoremap <buffer> <leader>cr :!g++ -o %:p:r %<cr>:!%:p:r<cr>
augroup END
关于Vim autocmd 不适用于 nnoremap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18085858/
如您所知,(遗憾的是)vim 中没有 VisualLeave 或 VisualEnter 自动命令。有没有办法模拟它? (旁注:拥有这样的事件会为 vim 增添更多的力量) 最佳答案 到目前为止,最好
我整理了以下一堆令人敬畏的东西: if !exists("g:AsciidocAutoSave") let g:AsciidocAutoSave = 0 endif fun! AsciidocRe
每当一行被更改时,我都会尝试运行一个函数,但似乎没有专门的自动命令。我可以在 CursorMoved 上运行该函数,但它会减慢编辑速度。我还可以映射所有主要编辑 Action 的功能,但它可能会变得非
在 .vimrc文件,如果文件是从特定目录加载的,是否可以只执行 autocmd? 在 MacVim 中,我的 .vimrc 中有一行代码它会自动 cd 到包含我正在编辑的文件的目录 - 但是当我访问
我按照本指南根据文件扩展名自动将不同的标题模板插入到不同类型的新文件中: http://www.thegeekstuff.com/2008/12/vi-and-vim-autocommand-3-st
我正在尝试设置 vim 以在编辑器中编译和运行 c 和 c++ 程序,但这些似乎不起作用: autocmd! filetype *.c nnoremap cc :!gcc -o %:p:
我希望 Markdown 文件忽略以下代码段。我怎么能这样做? " highlight ugly code augroup HighlightUglyCode autocmd! aut
我的 autocmd BufWrite *.rb :RuboCop -a 中有 ~/.vimrc 如何修改它以处理 *.jbuilder 文件? 最佳答案 您可以添加另一个文件全局,由 , 分隔: a
我有一个 Vim 自动命令,可以在写入之前删除文件中的尾随空格。我几乎 100% 都希望这样做,但有一些文件类型我希望禁用它。传统的做法是在逗号分隔的列表中列出您希望 autocmd 运行的文件类型,
我正在尝试匹配所有且仅匹配直接位于我桌面上的文件。但是 autocmd 模式 */Desktop/* 也匹配桌面任何子目录中的文件。什么模式可以满足我的需求? 最佳答案 一种方法是使用合适的正则表达式
我想编写一些自动命令来检查文件名是这个还是那个.. 我一直在努力: autocmd VimEnter * if % is "preamble" | Explore | endif autocmd Vi
放置有什么区别: autocmd FileType ruby setlocal ts=2 在我的~/.vimrc中并放置: setlocal ts=2 在 ~/.vim/ftplugin/ruby.v
我在我的 .vimrc 中有以下内容突出显示与当前光标匹配的所有单词 autocmd CursorMoved * silent! exe printf('match Search /\/', expa
我想集成源代码格式化程序Uncrustify与 Vim。以下两个选项中的任何一个就足够了。 格式化我当前正在编辑的代码(即当按下 gq 时)。 保存文件时格式化代码,然后将格式化的文件重新加载到当前
在将 NERD_tree.vim 放入插件文件夹后,我试图通过在 .vimrc 中附加以下几行来将 NERDTree 添加到我的 RHEL 机器中。 autocmd VimEnter * NERDTr
当我离开插入模式时,我使用自动命令关闭预览窗口,如 this answer 中所述.但是当我在命令行窗口( q: )中时,出现错误:E11: Invalid in the command-line w
是否可以使用变量作为 autocmd 的主题? ? 我想允许插件用户定义一个列表 FileTypes该插件将运行。 这要求我设置一个 autocommand对于每个给定的 FileTypes . 下面
我正在尝试添加 :autocmd BufWrite * make在 vim 中使用模式行,但它不会被触发。我看到帮助只说 set 可以在模型中使用。有没有办法实现这个效果,我这里写个文件运行make
我使用 NERDTree 并将其设置为在我打开 vim 时自动打开,但这导致 NERDTree 窗口被选中,这不是我想要的。我希望能够直接编辑我打开的文件,但是 autocmd vimenter *
我已经给出了删除 vim 中尾随空格的配置 au BufWritePre *.rb :%s/\s\+$//e au BufWritePre *.html :%s/\s\+$//e au B
我是一名优秀的程序员,十分优秀!