Vim 绑定一些与文件类型不同的热键

发布于 2024-12-07 15:21:23 字数 209 浏览 0 评论 0原文

我想绑定这样的东西:

  • 对于CSS,HTML文件:;

  • 对于 Ruby 文件:

如何做到这一点?

I want to bind something like this:

  • For CSS, HTML files: <c-space> <c-x><c-n>

  • For Ruby files: <c-space> <c-x><c-u>

How to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浮云落日 2024-12-14 15:21:23

文档更完整、更精确、更正确,但很简单:

在 ftplugin 中创建一个文件文件夹(如有必要,创建此文件夹),以您要使用的文件类型开头。

├── vim
│   ├── after
│   ├── autoload
│   ├── bundle
│   ├── ftplugin
│   │   ├── python.vim
│   │   ├── rnoweb.vim
│   │   └── tex.vim
│   └── syntax

在其中一个文件(例如 python.vim 文件)中,像这样的行将

noremap! <buffer> <F5> <Esc>:w<CR>:!python % <CR>

是仅为该文件类型定义的绑定,就在该缓冲区中。确保 filetype plugin on 或类似内容出现在您的 vimrc 中。

编辑:Peter Rincker 的出色建议纳入:map 命令的 noremap 版本和 标志。他还提醒我们在文件类型插件文件中使用 setlocal 而不是 set

The documentation is more complete, precise and correct, but briefly:

Make a file in your ftplugin folder (create this folder if necessary) starting with the filetype you'd like to use.

├── vim
│   ├── after
│   ├── autoload
│   ├── bundle
│   ├── ftplugin
│   │   ├── python.vim
│   │   ├── rnoweb.vim
│   │   └── tex.vim
│   └── syntax

and in one of of these files, the python.vim one for example, a line like

noremap! <buffer> <F5> <Esc>:w<CR>:!python % <CR>

will be a bind only defined for this filetype, just in this buffer. Make sure filetype plugin on or similar appears in your vimrc.

Edit: excellent suggestions by Peter Rincker incorporated: noremap version of map command and <buffer> flag. He also reminds us to use setlocal instead of set in our filetype plugin files.

森林迷了鹿 2024-12-14 15:21:23

使用自动命令:

autocmd filetype css inoremap <buffer> <c-space> <c-x><c-n>  
autocmd filetype html inoremap <buffer> <c-space> <c-x><c-n>
autocmd filetype ruby inoremap <buffer> <c-space> <c-x><c-u>

Use autocmd:

autocmd filetype css inoremap <buffer> <c-space> <c-x><c-n>  
autocmd filetype html inoremap <buffer> <c-space> <c-x><c-n>
autocmd filetype ruby inoremap <buffer> <c-space> <c-x><c-u>
翻了热茶 2024-12-14 15:21:23

将以下内容放入您的 .vimrc 中。用您的绑定替换 do stuff 行。

:if match(@%, ".css") >=0 
: do css stuff
:endif

:if match(@%, ".rb") >=0 
: do ruby stuff
:endif

Put the following in your .vimrc. Substitute the do stuff lines with your bindings.

:if match(@%, ".css") >=0 
: do css stuff
:endif

:if match(@%, ".rb") >=0 
: do ruby stuff
:endif
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文