按行编辑时,Vim功能非常强大 - 搜索/替换工具的建模方式是按行工作。
但是,如果我想更改所有行中的特定列,该怎么办?例如,如何轻松地将文件中的第80列更改为#
?
答案 0 :(得分:109)
要编辑列,请按以下步骤操作:
我认为人们(我)有时会将列编辑键映射到 Ctrl + Q ,这样它就不会与视觉选择行(V)或粘贴文本冲突如果你这样映射它。
答案 1 :(得分:37)
您可以substitution(\%c
)使用pattern matches a specific column:
:%s/\%80c/#/<CR>
或者您可以使用block-wise visual模式:
克 克 8 0 | CTRL + v - [R #
'virtualedit
'选项可用于将光标定位到
没有实际角色的位置:
:set virtualedit
答案 2 :(得分:30)
...我无法按照sa125(facepalm)的步骤进行操作,所以我找了别的地方,发现了一些&#39;更容易:https://blog.pivotal.io/labs/labs/column-edit-mode-in-vi
*!注意事项不要因为只有当第一行改变时才会气馁......&#39; !!
希望它有所帮助!
答案 3 :(得分:1)
我可能完全不在这里,但如果您的想法是避免排长队,您可以查看vim 7.3的colorcolumn选项。
答案 4 :(得分:1)