Vim:文本用逗号缩进长行,不打破引号?
Vim: text indent long line by comma, not breaking quoted values?
你有一个长列表,你想用逗号缩进它,这样值就不会在中间分开,以提高可读性。
indent = ['11111_1111111111111111','11111_111111111111111111','11111_1111','11111_111111111111111','11111_1111111111111111',\ #Indentation should look something like this, preferably to width of the editor.
'11111_111111111111111','11111_111111111111','11111_1111111111111111111111','11111_111111111111111111111111','11111_1111111111111111111111111',\
'1111_12_11111_1111111111111111111_11111_1111111111111111','1111_12_11111_1111111111111111111_11111_111111111111111111',\
'1111_12_11111_1111111111111111111_11111_1111','1111_12_11111_1111111111111111111_11111_111111111111111','1111_12_11111_1111111111111111111_11111_1111111111111111',\
'1111_12_11111_1111111111111111111_11111_111111111111111','1111_12_11111_1111111111111111111_11111_111111111111','1111_12_11111_1111111111111111_11111_1111111111111111111',\
'1111_12_11111_1111111111111111_11111_111111111111111111','1111_12_11111_1111111111111111_11111_1111','1111_12_11111_1111111111111111_11111_111111111111111',\
'1111_12_11111_1111111111111111_11111_1111111111111111','1111_12_11111_1111111111111111_11111_111111111111111','1111_12_11111_1111111111111111_11111_111111111111',\
'1111_13_11111_1111111111111111111_11111_1111111111111111','1111_13_11111_1111111111111111111_11111_111111111111111111','1111_13_11111_1111111111111111111_11111_1111',\
'1111_13_11111_1111111111111111111_11111_111111111111111','1111_13_11111_1111111111111111111_11111_1111111111111111','1111_13_11111_1111111111111111111_11111_111111111111111',\
'1111_13_11111_1111111111111111111_11111_111111111111','1111_13_11111_1111111111111111_11111_1111111111111111111','1111_13_11111_1111111111111111_11111_111111111111111111',\
'1111_13_11111_1111111111111111_11111_1111','1111_13_11111_1111111111111111_11111_111111111111111','1111_13_11111_1111111111111111_11111_1111111111111111',\
'1111_13_11111_1111111111111111_11111_111111111111111','1111_13_11111_1111111111111111_11111_111111111111','1111_14_11111_1111111111111111111_11111_1111111111111111',\
'1111_14_11111_1111111111111111111_11111_111111111111111111','1111_14_11111_1111111111111111111_11111_1111','1111_14_11111_1111111111111111111_11111_111111111111111',\
'1111_14_11111_1111111111111111111_11111_1111111111111111','1111_14_11111_1111111111111111111_11111_111111111111111','1111_14_11111_1111111111111111111_11111_111111111111',\ #HOW TO INDENT the following like the above?
'1111_14_11111_1111111111111111_11111_1111111111111111111','1111_14_11111_1111111111111111_11111_111111111111111111','1111_14_11111_1111111111111111_11111_1111','1111_14_11111_1111111111111111_11111_111111111111111','1111_14_11111_1111111111111111_11111_1111111111111111','1111_14_11111_1111111111111111_11111_111111111111111','1111_14_11111_1111111111111111_11111_111111111111','11141_11111_111111111111111','11141_11111_111111111111111111','11141_11111_1111111111111111111','11141_11111_111111111111','11141_11111_1111111111111111','11141_11111_1111','11141_11111_111111111111111','11141_11111_1111111111111111','11141_11111_11111111_71111','11141_11111_11111111_141111','11141_11111_11111111_211111','11141_11111_11111111_11111111111111111','11141_11111_111111111111111','11141_11111_111111111111111111','11141_11111_1111111111111111111','11141_11111_111111111111','11141_11111_1111111111111111','11141_11111_1111','11141_11111_111111111111111','11141_11111_1111111111111111','11141_11111_11111111_71111','11141_11111_11111111_141111','11141_11111_11111111_211111','11141_11111_11111111_11111111111111111','11181_11111_111111111111111','11181_11111_111111111111111111','11181_11111_1111111111111111111','11181_11111_111111111111','11181_11111_1111111111111111','11181_11111_1111','11181_11111_111111111111111','11181_11111_1111111111111111','11181_11111_11111111_71111','11181_11111_11111111_141111','11181_11111_11111111_211111','11181_11111_11111111_11111111111111111','11181_11111_111111111111111','11181_11111_111111111111111111','11181_11111_1111111111111111111','11181_11111_111111111111','11181_11111_1111111111111111','11181_11111_1111','11181_11111_111111111111111','11181_11111_1111111111111111','11181_11111_11111111_71111','11181_11111_11111111_141111','11181_11111_11111111_211111','11181_11111_11111111_11111111111111111','111161_11111_111111111111111','111161_11111_111111111111111111','111161_11111_1111111111111111111','111161_11111_111111111111','111161_11111_1111111111111111','111161_11111_1111','111161_11111_111111111111111','111161_11111_1111111111111111','111161_11111_11111111_71111','111161_11111_11111111_141111','111161_11111_11111111_211111','111161_11111_11111111_11111111111111111','111161_11111_111111111111111','111161_11111_111111111111111111','111161_11111_1111111111111111111','111161_11111_111111111111','111161_11111_1111111111111111','111161_11111_1111','111161_11111_111111111111111','111161_11111_1111111111111111','111161_11111_11111111_71111','111161_11111_11111111_141111','111161_11111_11111111_211111','111161_11111_11111111_11111111111111111']
如何在 Vim 中的非引号逗号上缩进一长行?
Vim 不考虑语法。
作为解决方法,您可以:
根据每个用例手动执行;例如,对于您的示例文本,因为根本没有 space,您可以利用 gq
命令;您可以在排在最后一行时执行以下操作:
:s/,/, /g
gql
:'[,']s/$/\
然后手动修复仍然看起来不对的地方; (注意:上面的代码没有经过很大的测试,它可能不适合你,取决于'textwidth'
,'formatoptions'
...)
使用外部格式化程序。我不知道您的示例文本是哪种语言(结尾的反斜杠让我想知道),但让我们考虑一下它是一些 python 代码的示例。
首先安装一个像vim-autoformat这样的插件。它将帮助您将系统中现有的外部格式化程序集成到 Vim.
然后安装特定于语言的格式化程序。如果您使用的是 python,autopep8 可能已经安装。
如果您只想格式化文件的一部分,请将所需部分复制到新缓冲区中,然后 运行:
:setf python
:set textwidth=100 " <-- set the text width as you wish
:Autoformat
您的缓冲区将以一种巧妙的方式包装。许多选项可用,具体取决于外部格式化程序。
你有一个长列表,你想用逗号缩进它,这样值就不会在中间分开,以提高可读性。
indent = ['11111_1111111111111111','11111_111111111111111111','11111_1111','11111_111111111111111','11111_1111111111111111',\ #Indentation should look something like this, preferably to width of the editor.
'11111_111111111111111','11111_111111111111','11111_1111111111111111111111','11111_111111111111111111111111','11111_1111111111111111111111111',\
'1111_12_11111_1111111111111111111_11111_1111111111111111','1111_12_11111_1111111111111111111_11111_111111111111111111',\
'1111_12_11111_1111111111111111111_11111_1111','1111_12_11111_1111111111111111111_11111_111111111111111','1111_12_11111_1111111111111111111_11111_1111111111111111',\
'1111_12_11111_1111111111111111111_11111_111111111111111','1111_12_11111_1111111111111111111_11111_111111111111','1111_12_11111_1111111111111111_11111_1111111111111111111',\
'1111_12_11111_1111111111111111_11111_111111111111111111','1111_12_11111_1111111111111111_11111_1111','1111_12_11111_1111111111111111_11111_111111111111111',\
'1111_12_11111_1111111111111111_11111_1111111111111111','1111_12_11111_1111111111111111_11111_111111111111111','1111_12_11111_1111111111111111_11111_111111111111',\
'1111_13_11111_1111111111111111111_11111_1111111111111111','1111_13_11111_1111111111111111111_11111_111111111111111111','1111_13_11111_1111111111111111111_11111_1111',\
'1111_13_11111_1111111111111111111_11111_111111111111111','1111_13_11111_1111111111111111111_11111_1111111111111111','1111_13_11111_1111111111111111111_11111_111111111111111',\
'1111_13_11111_1111111111111111111_11111_111111111111','1111_13_11111_1111111111111111_11111_1111111111111111111','1111_13_11111_1111111111111111_11111_111111111111111111',\
'1111_13_11111_1111111111111111_11111_1111','1111_13_11111_1111111111111111_11111_111111111111111','1111_13_11111_1111111111111111_11111_1111111111111111',\
'1111_13_11111_1111111111111111_11111_111111111111111','1111_13_11111_1111111111111111_11111_111111111111','1111_14_11111_1111111111111111111_11111_1111111111111111',\
'1111_14_11111_1111111111111111111_11111_111111111111111111','1111_14_11111_1111111111111111111_11111_1111','1111_14_11111_1111111111111111111_11111_111111111111111',\
'1111_14_11111_1111111111111111111_11111_1111111111111111','1111_14_11111_1111111111111111111_11111_111111111111111','1111_14_11111_1111111111111111111_11111_111111111111',\ #HOW TO INDENT the following like the above?
'1111_14_11111_1111111111111111_11111_1111111111111111111','1111_14_11111_1111111111111111_11111_111111111111111111','1111_14_11111_1111111111111111_11111_1111','1111_14_11111_1111111111111111_11111_111111111111111','1111_14_11111_1111111111111111_11111_1111111111111111','1111_14_11111_1111111111111111_11111_111111111111111','1111_14_11111_1111111111111111_11111_111111111111','11141_11111_111111111111111','11141_11111_111111111111111111','11141_11111_1111111111111111111','11141_11111_111111111111','11141_11111_1111111111111111','11141_11111_1111','11141_11111_111111111111111','11141_11111_1111111111111111','11141_11111_11111111_71111','11141_11111_11111111_141111','11141_11111_11111111_211111','11141_11111_11111111_11111111111111111','11141_11111_111111111111111','11141_11111_111111111111111111','11141_11111_1111111111111111111','11141_11111_111111111111','11141_11111_1111111111111111','11141_11111_1111','11141_11111_111111111111111','11141_11111_1111111111111111','11141_11111_11111111_71111','11141_11111_11111111_141111','11141_11111_11111111_211111','11141_11111_11111111_11111111111111111','11181_11111_111111111111111','11181_11111_111111111111111111','11181_11111_1111111111111111111','11181_11111_111111111111','11181_11111_1111111111111111','11181_11111_1111','11181_11111_111111111111111','11181_11111_1111111111111111','11181_11111_11111111_71111','11181_11111_11111111_141111','11181_11111_11111111_211111','11181_11111_11111111_11111111111111111','11181_11111_111111111111111','11181_11111_111111111111111111','11181_11111_1111111111111111111','11181_11111_111111111111','11181_11111_1111111111111111','11181_11111_1111','11181_11111_111111111111111','11181_11111_1111111111111111','11181_11111_11111111_71111','11181_11111_11111111_141111','11181_11111_11111111_211111','11181_11111_11111111_11111111111111111','111161_11111_111111111111111','111161_11111_111111111111111111','111161_11111_1111111111111111111','111161_11111_111111111111','111161_11111_1111111111111111','111161_11111_1111','111161_11111_111111111111111','111161_11111_1111111111111111','111161_11111_11111111_71111','111161_11111_11111111_141111','111161_11111_11111111_211111','111161_11111_11111111_11111111111111111','111161_11111_111111111111111','111161_11111_111111111111111111','111161_11111_1111111111111111111','111161_11111_111111111111','111161_11111_1111111111111111','111161_11111_1111','111161_11111_111111111111111','111161_11111_1111111111111111','111161_11111_11111111_71111','111161_11111_11111111_141111','111161_11111_11111111_211111','111161_11111_11111111_11111111111111111']
如何在 Vim 中的非引号逗号上缩进一长行?
Vim 不考虑语法。
作为解决方法,您可以:
根据每个用例手动执行;例如,对于您的示例文本,因为根本没有 space,您可以利用
gq
命令;您可以在排在最后一行时执行以下操作::s/,/, /g gql :'[,']s/$/\
然后手动修复仍然看起来不对的地方; (注意:上面的代码没有经过很大的测试,它可能不适合你,取决于
'textwidth'
,'formatoptions'
...)使用外部格式化程序。我不知道您的示例文本是哪种语言(结尾的反斜杠让我想知道),但让我们考虑一下它是一些 python 代码的示例。
首先安装一个像vim-autoformat这样的插件。它将帮助您将系统中现有的外部格式化程序集成到 Vim.
然后安装特定于语言的格式化程序。如果您使用的是 python,autopep8 可能已经安装。
如果您只想格式化文件的一部分,请将所需部分复制到新缓冲区中,然后 运行::setf python :set textwidth=100 " <-- set the text width as you wish :Autoformat
您的缓冲区将以一种巧妙的方式包装。许多选项可用,具体取决于外部格式化程序。