将注释缩进到vim中的匹配代码

我做所有我的编码在vim和我很高兴与它(所以,请,没有“使用不同的编辑器”的答复),但有一个持续的麻烦,smartindent功能不想缩进#从开始#。例如,我想要
# Do something
  $x = $x + 1;
  if ($y) {
    # Do something else
    $y = $y + $z;
  }

而不是vim的偏好

# Do something
  $x = $x + 1;
  if ($y) {
# Do something else
    $y = $y + $z;
  }

我唯一能够防止评论被发送到行的开头的方法是在击中#之前插入和删除一个字符(一个令人讨厌的事情,每次都记得做)或完全关闭smartindent (失去自动缩进增加/减少为我打开/关闭大括号)。

我如何设置vim来维持我的缩进为评论,而不是将它们发送到行的开头?

看起来你在Perl中编码。确保在.vimrc中设置以下内容
filetype plugin indent on
Syntax enable

当打开缓冲区并配置缩进和语法高亮时,这些将告诉Vim设置文件类型。无需显式设置smartindent,因为Vim包含的Perl语法文件自动设置它(以及任何其他Perl特定的自定义)。

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...