【发布时间】:2020-05-10 11:19:23
【问题描述】:
我想替换光标下当前行的所有文本和change 文本,所以我开始输入新代码。但我想保留缩进。
目前我正在使用ddO。这将在插入模式下删除该行并在光标之前打开一行,这很好,因为 vim 会注意到先前的缩进并按预期放置光标。
但我想使用类似于ciw 的c(更改内词),因为认为“换行”感觉很自然。 Vc 几乎是我想要的,但它会失去缩进。
有什么想法吗?
【问题讨论】:
标签: vim
我想替换光标下当前行的所有文本和change 文本,所以我开始输入新代码。但我想保留缩进。
目前我正在使用ddO。这将在插入模式下删除该行并在光标之前打开一行,这很好,因为 vim 会注意到先前的缩进并按预期放置光标。
但我想使用类似于ciw 的c(更改内词),因为认为“换行”感觉很自然。 Vc 几乎是我想要的,但它会失去缩进。
有什么想法吗?
【问题讨论】:
标签: vim
也许您正在寻找cc?
:h cc
["x]cc 删除 [count] 行 [进入寄存器 x] 并开始 插入 |逐行|。如果'autoindent'打开,保留 第一行的缩进。
【讨论】:
:h 搜索信息。真的很有帮助。
你可以试试这个(放入你的 vimrc):
:onoremap ii :<c-u>normal! v^o$h<cr>
:xnoremap ii ^o$h
ii,它将适用于任何期望运动的命令(cii、dii、yii...)。vii)。:normal!命令简述:
v:视觉模式,^:转到第一个非空白字符,o:转到选择的另一侧,$h:过去到行尾,然后向左走 1 个字符。
【讨论】: