在打字时,我意识到我需要移至行首。通常我使用Esc和I。但我想知道在插入模式下是否有其他方法可以移至行首。
答案1
您可以使用Ctrl-o切换到正常模式以执行一个命令。这允许您执行以下动作,例如:
- Ctrl- o,0行首
- Ctrl- o,$行结束
- Ctrl- o, f,y查找句子中的第一个 y
答案2
我将重新映射一些快捷键我的 vimrc,其中大部分是光标在插入模式。
例如,我将使用类似 Emacs(与 Linux 终端相同)的快捷方式:
map <C-a> <ESC>^
imap <C-a> <ESC>I
map <C-e> <ESC>$
imap <C-e> <ESC>A
inoremap <M-f> <ESC><Space>Wi
inoremap <M-b> <Esc>Bi
inoremap <M-d> <ESC>cW
这意味着:
- Ctrl+ a:转到行首 [普通模式 && 插入模式]
- Ctrl+ e:转到行尾 [普通模式 && 插入模式]
- Alt+ f:向后一个单词 [插入模式]
- Alt+ b:前进一个单词 [插入模式]
- Alt+ d:删除一个单词(向后)[插入模式]
当然,vim 有默认的快捷键删除一个单词(向前)[插入模式],即Ctrl+w
答案3
Home在插入模式下,此键在 Vim 中有效。
答案4
在插入模式下,Home 键可将光标移动到行首。如果在普通模式下,则“SHIFT+I”可将光标移动到行首位置,同时切换为插入模式。
我注意到,插入模式 CTRL+o 和 :(linenumber) 仍然是一种可行的方法,可以直接从插入模式跳转到插入模式的另一行,无论你觉得它有多实用/不实用。它有效。
$>vim --version VIM - Vi IMproved 8.2(2019 年 12 月 12 日,编译于 2021 年 2 月 21 日 23:02:54)MS-Windows 64 位控制台版本 包含的补丁:1-2541 由 appveyor@APPVYR-WIN 编译 没有 GUI 的巨型版本。: