Man*_*tas 199 vim keyboard-shortcuts
我现在正VIM从TextMate 切换到.我发现^+W在INSERT模式下非常有用.但是,我不仅要删除光标前的单词,还要删除光标后面或周围的单词.
我做了一些谷歌搜索,但我唯一能找到的是^+W删除光标之前的字.
Amj*_*ith 514
正常模式:
daw : delete the word under the cursor
caw : delete the word under the cursor and put you in insert mode
Run Code Online (Sandbox Code Playgroud)
小智 98
I think it's just daw
daw - delete a word
Run Code Online (Sandbox Code Playgroud)
Wha*_*awg 74
你应该做的是为一系列命令创建某个键的imap,在这种情况下,命令会使你进入正常模式,删除当前单词,然后让你回到插入:
:imap <C-d> <C-[>diwi
Run Code Online (Sandbox Code Playgroud)
And*_*ndy 66
以下适用于普通模式:我同意Dan Olson的回答,即对于大多数删除,您应该处于正常模式.更多细节如下.
如果光标在单词内:
diw删除单词(不包括空格)
daw以删除单词周围(包括下一个单词前的空格).
如果光标位于单词的开头,只需按dw.
这可以乘以通常的移动数字,例如2w来向前移动2个单词,所以d2w删除两个单词.
插入模式^ w
在Vim中使用hjkl进行移动的想法是,将手放在主行上会更有效率.在一个单词的末尾^ w非常适合快速删除单词.如果你已进入插入模式,输入一些文本并使用箭头键结束在你反对主行哲学的单词的中间.
如果您处于正常模式并且想要更改单词,则可以简单地使用c(更改)而不是d(删除),如果您想要完全更改单词,并重新进入插入模式而无需i返回打字.
Nad*_*mli 42
你的意思是?
dw
Run Code Online (Sandbox Code Playgroud)
Dan*_*son 20
在插入模式下看起来没有任何内置方式,这就是问题所在.其他一些答案对于普通模式是正确的,并且指出可以创建自定义映射以在插入模式下添加功能.
老实说,你应该在普通模式下完成大部分删除操作.^ W很清楚,但是我不确定我是否可以想到我宁愿这样做而不是esc进入正常模式并拥有更强大的删除命令.
Vim以这种方式与许多其他编辑器(包括TextMate)截然不同.如果您有效地使用它,您可能会发现您不会在插入模式下花费太多时间.
krm*_*mld 20
要删除两个空格之间的所有字符,请在正常模式下:
daW
Run Code Online (Sandbox Code Playgroud)
要删除一个单词:
daw
Run Code Online (Sandbox Code Playgroud)
不幸的是,插入模式没有这样的命令。在VIM中,要删除光标下的整个单词,可以viwd在NORMAL模式下键入。这意味着“ V isual块我 nner W¯¯ ORD d elete”。使用大写字母W来包含标点符号。
由于删除单词的方法有很多,因此我们来举例说明。
假设您编辑:
foo-bar quux
Run Code Online (Sandbox Code Playgroud)
并在光标位于“栏”中的“ a”上时调用命令:
foo-bquux # dw: letters then spaces right of cursor
foo-quux # daw: letters on both sides of cursor then spaces on the right
foo- quux # diw: letters on both sides of cursor
foo-bquux # dW: non-whitespace then spaces right of cursor
quux # daW: non-whitespace on both sides of cursor then spaces on the right
quux # diW: non-whitespace on both sides of cursor
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
141477 次 |
| 最近记录: |