Answers:
怎么样:
inoremap <C-\> <C-o>:left 0<Cr><BS>
<C-o>
将执行普通模式命令(:left 0
),该命令将删除所有缩进,这还将把光标置于行首。<BS>
将带您回到最后一行。
这有点像“向后J
”。
不幸的是,似乎无法映射Shift + Enter或Ctrl + Enter,因此我选择了<C-\>
“作为Enter附近”。
<C-u>
代替<C-o>:left 0<CR>
?
J
”功能:因此foo<CR>bar<C-\>
请留给您foobar
。恕我直言,它更有用,但YMMV。
foo<CR>bar<C-u>
会留下foo<CR>
(+ Vim可能添加的任何自动缩进)。<C-o>:left 0<CR>
无论光标处于什么位置,都将始终表现相同。
我有这个vimrc
,第二部分是相关的:
inoremap <expr> <silent> <cr> pumvisible() ? "<c-y>" : "<c-g>u<cr>"
它的作用:每次Enter
在插入模式下命中,它也会“破坏撤消序列,开始新的更改”(请参阅参考资料h: i_CTRL-G_u
)。这意味着,如果你打Enter
误,您可以现在撤消更改而不删除以前插入的行,无论是与ESC u a
,或Ctrl-o u
,作为Statox建议。基本上,每行可以分别撤消。
编辑/更新:如果您碰巧在Emacs(又名邪恶模式)中使用Vim仿真,则可以使用此软件包获得类似的效果。
<c-y>
与弹出菜单的关系感到好奇。
"<c-g>u<cr>"
通过&paste ? "<cr>" : "<c-g>u<cr>"
,否则下次你错误地粘贴时200线HTML,你将有很多的乐趣解开它。:)
paste
启用后,插入模式映射被禁用(根据Vim的帮助)
backspace
设置选项的方式。
我的方法是Ctrl-wBackspace。
Ctrl-w删除最后一个单词(我是否忘记了这是否是标准的vim),由于它只是空格,它将带我回到行首。然后Backspace将带我回到我所在的上一行。
Ctrl-w
在插入模式下的用法。但是,“地毯吸烟者”♦仍然更快。因此,默认绑定Ctrl- \似乎没什么用。
:help i_CTRL-W
。而且按两次似乎也可以解决问题?
<C-u>
一些有用的信息,因为它删除了新行中的所有字符
ctrl+w
两次似乎都有效并且很容易