Vim 中可以有特定于文件类型的键绑定吗?

2024-03-21

In my .vimrc文件中,我有一个用于注释的键绑定,用于插入双斜杠(//) 在一行的开头:

" the mappings below are for commenting blocks of text
:map <C-G> :s/^/\/\//<Esc><Esc>
:map <C-T> :s/\/\/// <Esc><Esc>

但是,当我编辑Python脚本时,我想将其更改为#签署意见

我有一个Python.vim文件在我的.vim/ftdetect文件夹还具有制表符宽度等设置。 如果可能的话,重写键绑定的代码是什么,以便我可以使用Python:

" the mappings below are for commenting blocks of text
:map <C-G> :s/^/#/<Esc><Esc>
:map <C-T> :s/#/ <Esc><Esc>

您可以使用:map <buffer> ...仅为活动缓冲区进行本地映射。这要求你的 Vim 是用+localmap.

所以你可以做类似的事情

autocmd FileType python map <buffer> <C-G> ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vim 中可以有特定于文件类型的键绑定吗? 的相关文章

  • vim 定界伴侣

    使用 DelimitMate 它会自动生成右括号 当我在括号内输入完毕后 按什么键可以快速转到右括号的右侧 现在我必须手动按 ESC 然后按 a 这些自动关闭插件 就像 Eclipse 等 IDE 中的原始功能实现一样 的想法是 您只需ty
  • 保留大小相等的分割视图

    我在非最大化窗口模式下启动 GVIM 并水平分割其窗口 确保窗口大小相等 当我最大化主 GVIM 窗口时 如何保留这个大小相等的分割视图 每当我最大化 GVIM 时 都会忘记窗口已被平均分割 Thanks 均衡分割的命令是 W ctrl W
  • Vim:如何滚动绑定光标线?

    Vim 的分割窗口视图中的两个窗口可以相互绑定滚动通过设置 set scrollbind对于他们俩来说 完成此操作后 如果我在一个窗口中向下滚动光标 其他窗口也会随之向下滚动 但是 两个窗口中的光标并未相互绑定 我用过 set cursor
  • .vimrc 控制键映射不起作用

    我的 vimrc 中有以下映射 用于映射控制键 1 2 3 用于切换选项卡 我在 ubuntu 11 10 中使用 gnome 终端 控制键映射似乎不起作用 谁能告诉我我做错了什么 VIM Vi 改进版 7 3 154 map
  • 在 Vim 中将 DOS/Windows 行结尾转换为 Linux 行结尾

    如果我打开在 Windows 中创建的文件 所有行都以 M 如何一次性删除这些字符 dos2unix https sourceforge net projects dos2unix是一个可以执行此操作的命令行实用程序 In Vim s M
  • 如何只在当前行进行搜索和替换?

    I see 如何在特定行中搜索和替换 https stackoverflow com questions 17319557 search and replace in vim in specific lines 按行号指定 以及如何使用当前
  • 如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样?

    Mercurial 的一个有趣的功能是能够查看将在 vim split 中提交的更改 请参阅VIM 中的 DiffsInCommitMessage https www mercurial scm org wiki DiffsInCommit
  • 通过 Homebrew 安装 Vim,并支持 Python 和 Python3

    我想在 Vim 中启用 Python 自动完成功能 所以也许这不是问题 这是我观察到的 First 虚拟环境 https github com kennethreitz python guide blob master docs dev v
  • 如何在vim中每隔几行添加一行

    我想使用 vim 编辑器在文件 大约 1000 行 中每 3 行添加一行 有人可以帮我吗 谢谢 艾丽莎 有一个 vim 特定的正则表达式可以做到这一点 s n n n 0 r g s 是 vim ex 命令来替换整个文件 n 是包含行尾的一
  • 选项卡视觉选择

    In many GUIs when I select a section of text and then hit the Tab or Shift Tab button the selected section will indent i
  • 如何在vim中的相同行数前面插入多行?

    假设我有两个文本块 其中之一在我的剪贴板中 one two three 另一个位于我正在 vim 中编辑的文件中 AAA BBB CCC 如何在第二个块前面插入第一个块以获得以下结果 oneAAA twoBBB threeCCC 我希望有一
  • vim:打开预览窗口而不移动主窗口中的文本

    当全能完成 或其他方式 打开预览窗口时 主窗口的大小会减小 以便为预览窗口腾出空间 默认情况下 预览窗口弹出前主窗口中可见的第一行在预览窗口弹出后也将相同 这会产生不幸的效果 即主窗口中的文本在视觉上被下推 我希望主窗口中的文本保留在原来的
  • 如何取消 Vim 中的粘贴操作?

    每当我不小心在 Putty 中右键单击 打开 Vim 时 我的剪贴板上就有相当多的文本 并且 Vim 启动了粘贴操作 该操作已经持续了大约十分钟 我不想丢失未保存的工作 有没有办法指示 Vim 停止粘贴文本 If you re in nor
  • VIM:有没有一种简单的方法可以从 Vim 管理 Visual Studio 解决方案/makefile 项目? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我尝试使用 Visual Studio 而不是 VIM 插件 但说实话 VS 相对于 VIM 的唯一优势是它能够自动管理我的项目 我知道 VS
  • 切换 git 分支时如何处理 vim 缓冲区?

    因此 我在 vim 缓冲区中打开了大量文件 并且正在使用 git 处理功能分支 突然 我意识到我需要恢复到主分支来进行快速修复 提交后 我将 vim 会话保持打开状态并切换回 master 分支 但是 当我尝试从缓冲区加载我需要的文件时 我
  • 有没有办法在 Vim 中映射 Ctrl 句点和 Ctrl 逗号?

    我似乎找不到绘制地图的方法
  • Pathogen 不加载插件

    病原体对我不起作用 我正在遵循 Adam Lowe 发布的提示here http www adamlowe me 2009 12 vim destroys all other rails editors html 还有更多 没有任何成功 我
  • 带有 Viper 和 Vimpulse 的 Emacs 缺少哪些 Vim 功能?

    Emacs 的一些重要功能在 Vim 中是缺失的 例如 comint 模式 并且没有脚本 插件可以替代它们 与 Emacs 相比 Vim 也有一些优点 例如模式编辑和通常更好的默认快捷键 然而 Viper 模式让我两者兼而有之 Vimpul
  • vim 映射键不起作用

    我一直在尝试映射 ctrl 来在 vim 的插入模式下保存 它似乎永远不起作用 http vim wikia com wiki Map Ctrl S to save current or new files http vim wikia c
  • 如果文件类型 == tex

    如果文件是乳胶文件 我想在 vimrc 中运行命令 我想我的语法有问题 但它不起作用 有什么线索吗 if filetype tex set spell endif 您可以使用自动命令来实现您想要的 autocmd BufNewFile Bu

随机推荐

  • Android旋转动画完成

    我正在研究一个RotateAnimation 我开始旋转图像 但我想知道动画何时完成 我如何知道动画何时结束 下面是我的旋转图像代码 RotateAnimation rotateanimation new RotateAnimation S
  • 如何在Delphi XE4中使用ADOX组件?

    我在一篇用Delphi 6编写的教程中读到 要安装ADOX组件 请从主菜单中选择Project Add type Library菜单项 但在Delphi XE4中没有这样的菜单项 如何在 Delphi XE4 中安装 使用 ADOX 组件以
  • laravel 5.3:UrlGenerator.php 第 314 行中的 ErrorException:未定义路由 []

    这是我在 web php 中的路线代码 Route get login array as gt login admin uses gt Auth LoginController login 控制器方法 public function log
  • 使用 DIV 作为输入

    很抱歉 如果这个问题非常基本 但我正在尝试重新编程 但我仍然坚持这个问题 我想将文本输入到 div 在 HTML 中 但我不想要默认的聊天框 div
  • Docker nginx 反向代理返回 502 bad gateway “连接到上游时连接被拒绝”

    我正在尝试在一个容器中设置 nginx 反向代理到运行我的应用程序的另一个容器 这是我的 nginx conf daemon off user nginx worker processes 1 error log var log nginx
  • 在闪亮的仪表板标题右侧添加文本

    如何在仪表板标题侧栏图标右侧添加文本 似乎以前的类似解决方案在更新后不再起作用dashboardHeader 这就是我试图在基本的闪亮仪表板设置中执行的操作 我可以使用以下策略这个答案 https stackoverflow com a 3
  • 使用 python 和 python NTLM 浏览受 NTLM 保护的网站

    我的任务是创建一个脚本 该脚本登录到企业门户 进入特定页面 下载该页面 将其与早期版本进行比较 然后根据所做的更改向特定人员发送电子邮件 最后一部分很简单 但第一步给我带来了最大的麻烦 在使用 urllib2 我尝试在 python 中执行
  • 在Python中将字符串从split函数转换为整数的有效方法

    我有一串具有以下格式的数据 xpos ypos zoom 即 8743 12083 15 我想将其拆分并存储在变量 xpos ypos 和 Zoom 中 由于我需要对这些数字进行一些计算 因此我想从一开始就将它们转换为整数 目前 我执行此操
  • 使用 css3 进行图像替换和过渡?

    我想知道是否有人知道如何在两个背景图像之间进行过渡的巧妙且新的方法 我知道有很多教程 只是其中大多数都已经过时且过时了 我想知道是否有一种聪明而现代的 CSS3 方法可以做这样的事情 我有一个简单的 logo png 设置为背景div lo
  • 无法将泛型转换为扩展嵌套类型

    最近 当我遇到无法解释的通用转换问题时 我正在重构一个通用方法 最后我意识到我可以完全不用 T 类型 只需自己内联它 但我仍然很好奇为什么转换失败 我创建了这个最小的例子来说明这个问题 有人可以解释一下为什么转换失败而解决方法有效吗 pub
  • 无法实例化fragment找不到Fragment构造函数android

    我遇到以下错误 我在 DailyVerseFragment 上添加了构造函数 但还是不行 我遇到这个问题已经超过一周了 Fatal Exception java lang RuntimeException Unable to start a
  • 如何从终端运行 mvim (MacVim)?

    我安装了 MacVim 并尝试将其设置为 Git 版本控制 的编辑器 但我无法从命令行运行 mvim 因为它无法识别 如何设置 mvim 以便可以从终端运行它 我不认为我会在路径中添加任何东西 是的 brew install macvim
  • 如何编写按日期接收数据的查询?

    我写了一个简单的查询 SELECT date count user as count FROM sessions GROUP BY date 回应是这样的 但是 我想查看每个日期 如果日期不存在 行必须是这样的 2018 02 01 0 2
  • 使用 Cordova 3.1 CLI 构建 Android 应用程序时出错

    我正在尝试通过 Mac 上的终端通过phonegap CLI 运行 cordova build android 首先我下载了 Android SDK 然后我设置了项目并添加了android 然后我尝试 cordova build andro
  • 增长 NSTextView 以适应内容会剪切最后一行文本

    我正在尝试创建一个 NSTextView 它随着用户键入而垂直增长 并在高度达到最大值后滚动 这类似于消息作品中的文本视图 我的第一次尝试使用委托来侦听文本更改并调整与 NSTextView 的滚动视图关联的高度约束 void textDi
  • 在 codeigniter 中卷曲

    我想在我的 codeigniter 应用程序中使用curl 但我得到的是空数组 我的代码是这样的 this gt load gt library curl url http url checkweb php post data array
  • JWT 和签名 cookie 有什么区别?

    我正在调查JWT http jwt io作为传统 Cookie 会话的替代方案 但我看不出它们与签名 Cookie 有何根本区别 例如 Express 通过中间件提供的签名 Cookiecookie解析器 https www npmjs c
  • 如何在 Olingo V4 中创建有界动作 (java)

    我尝试到处寻找 但无法弄清楚如何在 olingo V4 java 中实现有界操作 处处给出无界动作教程 我尝试调整这段代码 final CsdlAction action new CsdlAction action setName test
  • 收到“Stream 不支持写入。”以下代码中出现异常

    我正在尝试将图像上传到 Amazon S3 但在此之前我正在调整图像大小 为了调整大小 我必须传递流对象 并且在某一时刻 注释为 Error 的行 我收到 Stream 不支持写入 例外 请帮忙 public ActionResult Ad
  • Vim 中可以有特定于文件类型的键绑定吗?

    In my vimrc文件中 我有一个用于注释的键绑定 用于插入双斜杠 在一行的开头 the mappings below are for commenting blocks of text map