Vim split line命令
可能重复:
如何在Vim中插入一个没有进入插入模式的换行符?
在vim中, Jjoin下一行到当前行。 是否有类似的一键(或相对较短)的命令来分割一个给定的光标位置的行? 我知道这是用一个简单的macros来完成的,但是如果J- command存在的话,应该有一个类似的function。 我试过寻找它,但似乎无法find答案。
我不认为这是一个关键的命令。 你可以做的最好的股票VIM可能是我 input Esc 。
回车,而空白将做到这一点。 这是两个按键。
我的解决scheme是重新映射K键,因为我从来没有使用默认的操作(查找光标下的单词“man”),我以前的编辑器分别使用Alt + j和Alt + k连接和分割线。
:nnoremap K i<CR><Esc>
这三个恼人的按键滚动成一个。
也许还有更复杂的方法来消除任何尾随的空白,但是我更喜欢在写入时去除所有尾随的空白。
不,我现在读了足够的答案,得出结论说没有这样的命令。
简单的答案:在插入时按下“Enter”将会执行; 但是你是对的,在命令模式下应该有一个关键。 我也想知道。
由于每个人都有一个最喜欢的解决方法,我会分享我的。 假设是我会做任何事情,以避免必须达到Esc键。
ylprX …其中“X”是插入的字符,甚至可以是换行符 。
所以,'yl'在char上被抽出,'p'=粘贴char,'r'被replacechar, 那么你只需input新的字符。 这就是我讨厌使用Escape的原因。
(这是'l',如在“向右移动”,BTW)
旧的线程,但我不使用“K”的手册页查找或任何魔法。 所以我在.vimrc中有这个映射:
map K i<Enter><Esc>
我想因为“J”是join,“K”可以是krack什么的。 🙂
如果可以为位置创build正则expression式来添加拆分,则可以拆分行。 例如,如果你想分割每个分号的行,你可以使用下面的replace:
%S /; / ^ V ^ M / G
效果很好
杰德的答案是最有用的。 我想补充一点,我需要“control-V-alternative”,即control-Q:%s /; / ^ q ^ m / g