给出类似的内容:
dadscasd
cas
casdc
如何在vim中将所有行停在左侧?
dadscasd
cas
casdc
我安装了vim tabular。我知道如何对齐模式,但不知道如何将所有内容向左对齐。同样不确定vim表格是否是适合该工作的工具。
答案 0 :(得分:5)
首先看一下:h shift-left-right
,这可以解释很多内容。
对于您的用例,:h left
会更好。我会那样做:
视觉选择所有3行(c-v
,然后键入:left
)
或者如果您希望整个文件左对齐::%left
有关更多选项,您可以查看:h formatting
答案 1 :(得分:0)
无需任何插件即可轻松完成此操作
在正常模式下,按:
ggVG<<
,然后根据需要多次按.
。
命令说明
gg
:跳到文件顶部V
:开始一次视觉选择,一次抓取整行G
:转到文件末尾(在这种情况下,选择从头到尾的所有内容)<<
:将所选文本左移一个缩进.
:重复最后一条命令(在这种情况下,该命令表示我们应该将文件中的所有内容都缩进一个)如果不想执行所有行,则只需使用v
或V
选择要移动的行。然后按<<
或>>
开始缩进。 .
将再次重复发出的最后一条命令,使您的生活更轻松。
要了解更多信息,请打开vim而不输入其他任何内容,键入:h <<
并按Enter。
一种无需视觉确认的快速方法是输入
:%left
其中%
在此情况下表示当前缓冲区的整个范围,因为它是1, $
的别名。
参见:h left
和:h range
答案 2 :(得分:0)
如果要练习正则表达式使用,则是另一种解决方案
:%s/\v^[ ]+//c
意思是:
:% an ed command, apply to entire file
s I think this means 'sed' = 'stream edit' = find and replace
/ Use this as the separator for the next 3 fields (the find, the replace, and the sed commands)
\v Means use "very magic mode" of vim ie characters not 0-9A-Za-z have special meanings and need escaping
^ The start of the line
[ ] A space character (or whatever characters are present between the [ ]. I believe you could use \s instead to represent any space including tabs
+ Means find 1 or more, but select as many as possible (greedy)
// ie replace with the 'nothing' between the separators here
c Means confirm each replacement. You could omit this to do it automatically.