关于mac上无法正常工作的vi快捷方式,例如CTRL + E,CTRL + A [复制]


1

我已经使用vi作为我的主要文本编辑器多年来在Linux上(以及几年前的Mac)和我全新的Mac(运行10.8.4)我发现在尝试使用vi在终端中编辑文件时我不能使用标准的vi快捷方式,例如使用“CTRL + E”导航到一行的末尾。而是将快捷方式设置为vim快捷方式,即“$”以导航到行尾。我用bash。如何获得标准的vi快捷方式?


osx中的vi vim。:h并检查帮助文件。虽然检查了这一点howtogeek.com/166616/...
胡斯

您是否正在寻找^ A / ^ E在bash(在命令行中导航)或在vi / vim内部工作?
nohillside

Answers:


1
set -o vi

将它添加到〜/ .bashrc中


如果您打算写“我不能在vim中使用标准bash快捷键Ctrl-E和Ctrl-A”,那么将这些行添加到〜/ .vimrc

map <C-E> $
map <C-A> 0|

如果您希望这些也可以在输入插入模式下工作,您还需要

map! <C-E> <esc>A
map! <C-A> <esc>0i

这些地图用于CtrlA将您发送到左边距。如果你想去第一个非空格字符

map <C-A> ^
map! <C-A> <esc>I

这将在bash中启用vi模式,而不是在vim
nohillside

1
这就是我如何解释这个问题,但重新阅读我猜你是对的。
格伦杰克曼2013年

这篇文章的答案似乎可以解决问题。感谢非常快速的回复。apple.stackexchange.com/questions/49749 / ...
user53423 2013年

5

Ctrl-a表示行的开头,Ctrl-E表示行的结尾是Emacs快捷键,而不是vi。因此,他们不会在vi中工作。


在linux上使用vi多年以来我从未意识到这些快捷方式来自emacs。我一直使用vi,我工作的任何linux机器都有这些快捷方式,所以我猜它们总是被特别启用而没有意识到这些不是来自vi。感谢您指出了这一点。
user53423 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.