如何在 Vim 中设置自动插入新行和缩进,当使用自动关闭成对时

2024-04-14

我发现了一个 Vim 自动配对插件,名为vim 自动关闭 https://github.com/Townk/vim-autoclose。它与其他 IDE 一样运行良好。例如,当您输入{它给你{|}(“|”代表光标)。然后,如果按“Enter”键,{|}变成:

{

      |

}

这正是我所需要的,但不幸的是它禁用了我的中文输入法应用程序,所以我不得不放弃它。

我尝试过其他自动关闭插件,但没有一个可以以这种方式自动关闭。我找到了一种让自动关闭像上面那样工作的方法。

:autocmd FileType c,java,javascript ino <buffer> { <C-G>u{<CR>}<Esc>O<C-T>

但它有一个关于移位宽度的问题。例如,如果我:set shiftwidth=4之间的新线{}将有 8 个空格的缩进。新行中的缩进使移位宽度加倍。

我的问题是如何将新行的缩进设置为与shiftwidth相同的空格缩进?


inoremap { {<CR><CR>}<C-o>k<C-o>S

似乎有效。

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

如何在 Vim 中设置自动插入新行和缩进,当使用自动关闭成对时 的相关文章

  • 如何在 jinja2 中缩进嵌套的 if/for 语句

    我有一个很长的 Jinja2 模板 其中有很多嵌套if for声明 很难读 我想缩进 位 使其更清晰 但是 如果我这样做 这些块的内容也会进一步缩进 我怎样才能缩进just the bits 我正在使用安塞布尔 重现步骤 template
  • Redhat Vim 中的可视化块插入

    我的 ec2 服务器附带了 redhat vim ec2 user vim version VIM Vi IMproved 7 2 2008 Aug 9 compiled Jul 7 2012 08 03 48 Included patch
  • 如果文件类型 == tex

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

    Vim 的一些示例设置 例如janus https github com carlhuda janus 将命令键绑定到某些命令 例如 Command Shift F for Ack map
  • 将 vim 的 vertsplit 字符更改为 │

    我认为这与代码页相关 但询问也无妨 在 windows xp 的 cmd 上 gvim 7 2 如何更改 vertsplit 字符 而不是默认的 它是 因此它是一条完整的线 而不是一条分割线 该字符通常会更改为 set fillchars
  • 如何在 Visual Studio Code 中缩进/格式化所选代码?

    我想缩进 Visual Studio Code 中的特定代码部分 I read 如何在 Visual Studio Code 中设置代码格式 https stackoverflow com questions 29973357 它提供了缩进
  • 使用 vim pythoncomplete 的 Python 文档字符串不显示我自己的类函数的换行符

    我在尝试使用时得到了一些意想不到的结果Python 全方位补全 http www vim org scripts script php script id 1542在我自己的类函数上 函数的文档字符串未正确设置换行符格式 如下图所示 当我从
  • 用PLY解析python,如何编码缩进和缩进部分

    我试图用 PLY 解析 python 语言的函数定义 我遇到了与缩进相关的问题 例如 对于 for 语句 我希望能够知道块何时结束 我在这里阅读了python语法 http docs python org 2 reference gramm
  • 文件类型更改时颜色方案也会更改

    当我打开 vim htm html xml 或 vimrc 文件时 是否可以更改 Vim 中的颜色方案 当我切换到具有上述扩展名的已打开文件时 也会更改颜色方案 这就是我想要我的 vim 做的事情 file txt 或新的 未保存 缓冲区
  • Python 2.7 缩进错误[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这个问题是由拼写错误或无法再重现的问题引起的 虽然类似的问题可能是on topic help on topic在这里 这个问题的解决方式不
  • vim 中的正则表达式查找和替换:向数字添加 .0

    我有一个如下所示的文件 1 1 0 1 6 1 0 2 8 1 0 3 10 1 0 4 12 1 0 6 如何为所有数字添加 0 后面的数字除外 我认为用正则表达式来做到这一点应该不会太难 但是我的正则表达式知识太生疏了 使用 VIM s
  • 如何在 Vimscript 中获取光标下的单词和当前行的文本?

    我正在写一个 Vim 脚本 如何获取光标下的单词和当前行的文本 你可以与expand https vimdoc sourceforge net htmldoc eval html expand and getline https vimdo
  • 什么是 .un~ 文件或者为什么终端中的 Vim 会创建 .un~ 文件?

    我注意到我有一些以 un 例如我有一个 vividchalk vim un 但我不确定它是从哪里来的 看起来它们是我在终端中使用 Vim 时创建的 这些文件是什么 当我关闭正在编辑的文件时 可以让它们自行删除吗 当你编辑和保存文件时 Vim
  • 如何关闭某些 .py 文件的 Pydev 缩进警告

    我的项目中有一些来自外部源的文件 我从不编辑这些文件 但有时会逐步执行 这些文件使用与我的默认缩进样式不同的缩进样式 2 个空格与 4 个空格 并且我目前对它们发出了许多缩进警告 是否有一种简单的方法可以逐个文件地抑制这些警告 或者指定缩进
  • Java DocumentBuilder - XML 文件中的缩进错误

    我尝试使用 DocumentBuilder 用 Ja va 编写一个简单的 XML 文件 我期望 XML 文件如下所示
  • 如何设置打开文件时默认展开?

    In my vimrc我已经把set foldmethod syntax启用方法折叠等 但是 我不喜欢每次打开文件时都会折叠整个文件的默认设置 有没有办法启用foldmethod 但是当我打开文件时文件是否展开了 set foldlevel
  • 在 Vim 中,选择、删除或注释掉大部分多屏幕文本的最佳方法是什么?

    在像 Eclipse 这样的 IDE 中选择延伸到多个屏幕的大量文本相当容易 因为您可以使用鼠标 但是最好的方法是什么 例如 选择并删除多屏幕文本块或写入例如三个大方法导出到另一个文件 然后在 Vim 中删除它们以进行测试 当通过 putt
  • Linux/Ubuntu 目录位置 ~/.vim/syntax/

    文件夹的默认位置在哪里 vim syntax 在Linux系统上 我正在尝试添加一个 Python 插件 您正在寻找 runtimepath 选项 该文档非常详细 使用 help runtimepath 但我会尝试在这里总结一下 The 运
  • 为什么使用 键取消搜索时 vim incsearch 会暂停?

    在 vim 中 如果你set incsearch然后它将滚动到当前搜索词的下一个匹配项 而无需移动光标 我经常用它来阅读一段代码而不用将光标移动到那里 因为我可以点击
  • 设置 Vim 背景颜色

    当我尝试更改背景颜色时 vimrc或者直接在 Vim 中使用以下命令 set background dark 这根本不影响我的背景 也没有light选项 不过 当我运行 gvim 时 看起来还不错 有没有办法在不更改 Konsole 设置的

随机推荐