在终端中,我可以通过按 shift+home 和 shift+end 来执行此操作,但这在 vim 中似乎不起作用。Home 和 end 键仅滚动终端窗口。我想跳转到编辑模式。
答案1
这个答案假设你正在使用vim在一个终端窗户。
默认绑定家和结尾与程序基于通常的 TERM 设置(即 xterm 变体)所期望的略有不同。如果您想坚持使用默认绑定(并且必须在终端),您可以尝试将类似下面的内容放入您的.vimrc
:
:" map Mac OS X Terminal.app default Home and End
:map <ESC>[H <Home>
:map <ESC>[F <End>
:imap <ESC>[H <C-O><Home>
:imap <ESC>[F <C-O><End>
:cmap <ESC>[H <Home>
:cmap <ESC>[F <End>
否则,您可以尝试调整代码终端当您使用时发送家和结尾(如果您愿意,甚至可以不移动)。搜索可能会找到一些描述如何执行此操作的地方(这是一个)。基本思想是让终端发送ESC键[1~ 代替ESC键[H为家和ESC键[4~ 代替ESC键[F 为结尾(或者,如果您想保留 Home/End 来访问回滚,则按 Shift-Home/Shift-End)。我会更详细地描述这个过程,但我只有 10.4,而且我知道终端在 10.5 及更高版本中发生了很大变化。
答案2
使用 iTerm 和 Vim 你可以使用fn+左右箭头在插入模式下跳转到行首或行尾。使用 Terminal.app 时,您可以使用Shift+箭头。
答案3
使用 0 和 $ 移动到行首和行末。参考此网站:http://alvinalexander.com/linux/vi-vim-editor-end-of-line。
答案4
转到终端 -> 首选项 -> 配置文件 -> 键盘并添加:
按键:↖ 操作:\033OH
按键:↗ 操作:\033OF