当我编写python代码时,需要连续的行进行正确的对齐。
1)在开始时正确对齐
从20行到24行,如何在第4列显示每个开头字符?
2)最后的正确对齐
从20行到23行,如何在第78列显示每个结束字符\
(连续符号)?
让我让问题更具体。 初始状态是
pattern=[['CompanySurvey','http://f10.eastmoney.com/f10_v2/CompanySurvey.aspx?code=sz%s'], \
['ShareholderResearch','http://f10.eastmoney.com/f10_v2/ShareholderResearch.aspx?code=sz%s'], \
['BonusFinancing','http://f10.eastmoney.com/f10_v2/BonusFinancing.aspx?code=sz%s'], \
['FinanceAnalysis','http://f10.eastmoney.com/f10_v2/FinanceAnalysis.aspx?code=sz%s'], \
['CapitalStockStructure','http://f10.eastmoney.com/f10_v2/CapitalStockStructure.aspx?code=sz%s']]
我想左右对齐5行。
1.使用Ingo Karkat的方法
:2,5left9
它获得显示
pattern=[['CompanySurvey','http://f10.eastmoney.com/f10_v2/CompanySurvey.aspx?code=sz%s'], \
['ShareholderResearch','http://f10.eastmoney.com/f10_v2/ShareholderResearch.aspx?code=sz%s'], \
['BonusFinancing','http://f10.eastmoney.com/f10_v2/BonusFinancing.aspx?code=sz%s'], \
['FinanceAnalysis','http://f10.eastmoney.com/f10_v2/FinanceAnalysis.aspx?code=sz%s'], \
['CapitalStockStructure','http://f10.eastmoney.com/f10_v2/CapitalStockStructure.aspx?code=sz%s']]
2.使用FDinoff的方法
:%s/.$/\=repeat(' ',107-len(getline('.'))).submatch(0)
获得输出。
pattern=[['CompanySurvey','http://f10.eastmoney.com/f10_v2/CompanySurvey.aspx?code=sz%s'], \
['ShareholderResearch','http://f10.eastmoney.com/f10_v2/ShareholderResearch.aspx?code=sz%s'], \
['BonusFinancing','http://f10.eastmoney.com/f10_v2/BonusFinancing.aspx?code=sz%s'], \
['FinanceAnalysis','http://f10.eastmoney.com/f10_v2/FinanceAnalysis.aspx?code=sz%s'], \
['CapitalStockStructure','http://f10.eastmoney.com/f10_v2/CapitalStockStructure.aspx?code=sz%s'] ]
:%s/.$/\=repeat(' ',107-len(getline('.'))).submatch(0)
要做到这一点已经很久了,有人可以简单吗?
答案 0 :(得分:0)
我认为这就是你想要的。我不确定是否有更简单的方法。
通过添加正确数量的空格字符,将最后一个字符移动到第78列。
:%s/.$/\=repeat(' ',78-len(getline('.'))).submatch(0)
这会移动行,以便第4列中出现第一个非空白字符。其中空白字符数是列 - 1
:%s/\s*\(\S.*\)/\=repeat(' ',3).submatch(1)
答案 1 :(得分:0)
对于您的第一个用例,:20,24left 4
就足够了。
看看我的AlignFromCursor plugin。它提供映射(和命令)以对齐(左或右)某个列。这将有助于通过\
对齐78<Leader>ri
行继续(光标放在其上或之前)。