Answers:
该答案假设您在“ 终端”窗口中使用vim。
Home和End的默认绑定与程序根据常规TERM设置(即xterm变体)所期望的绑定有所不同。如果您想使用默认绑定(并且必须在Terminal中使用Shifted变体),则可以尝试在您的计算机中放置以下内容.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>
否则,您可以尝试调整使用Home和End时Terminal发送的代码(即使您愿意,也可以保持不变)。搜索可能会发现一些描述该操作方法的地方(这里是一个)。基本想法是,您希望让终端发送ESC [1〜而不是ESC [H表示Home,而ESC [4〜而不是ESC [F表示End(如果要保留Home /,请按Shift-Home / Shift-End结束访问回滚。我会更详细地描述该过程,但是我只有10.4,并且我知道Terminal在10.5和更高版本中已作了很多更改。
使用0和$移至行首和行尾。请参考以下站点:http : //alvinalexander.com/linux/vi-vim-editor-end-of-line。
0
和$
。
除了Chris答案,您还Option+arrow
可以通过添加以下四行来实现单词导航(使用键):
:map <ESC>f el
:imap <ESC>b <C-o>b
:imap <ESC>f <C-o>el
:cmap <ESC>f el
请注意o
,它是小写字母,因此它不会退出insert
该操作的模式。您也可以更改O
原始答案中的大写字母以达到相同的效果。
在MacVim中,可以在编辑模式下使用命令“向左箭头”和命令“向右箭头”转到行的开头和结尾。
转到终端->首选项->配置文件->键盘并添加:
键:↖操作:\ 033OH
键:↗操作:\ 033OF