2011-06-14 377 views
9

我在Ubuntu上。我是Vim的初学者用户。我在/etc/vim/vimrc中设置了家庭和结束键的键映射。Vim中的HOME和END键问题

它正在使用终端,但是当我在Guake终端中编辑文件时,这些映射不起作用。我这次只有这个问题。上次(重新安装Ubuntu之前,我的意思是它在每个终端上工作正常)。

我已经试过

set term=xterm 

但它仍然没有工作。

如果有人帮助我,这将是非常好的。此外,如果有人可以给我关于其他一些关键映射或其他有用的东西的信息,这将是非常好的。

-

的vimrc:

if has("syntax") 
    syntax on 
endif 

//眼前这个已经被我添加

if filereadable("/etc/vim/vimrc.local") 
    source /etc/vim/vimrc.local 
endif 

map <ESC>[8~ <End> 

map <ESC>[7~ <Home> 

imap <ESC>[8~ <End> 

imap <ESC>[7~ <Home> 

所有退役的事情被注释掉

我想补充我不认为这是vimrc文件的问题,因为这种配置让我使用这些END和H当我处于插入模式或正常模式时,终端中的OME密钥。但没有在guake上工作(纠正我,如果我错了请。)

仍然希望你可以帮助我的东西了。

-

+3

你确定这是'vim'的问题,而不是终端? 'home'和'end'在shell中工作吗? – a3nm 2011-06-14 06:57:22

+1

耶家和结束在guake终端工作正常。它只是没有按预期工作的vim。 我的主要观点是当它在ubuntu终端上工作的时候,为什么它不在guake中工作,我上次在格式化我的系统前提到它工作正常 – 2011-06-14 07:06:53

+0

这属于ubuntu.stackexchange.com或superuser.stackexchange.com – jao 2011-06-14 10:12:18

回答

4

在vim,你可以用“$”,并使用“^”线的起点到达当前行的末尾。我发现这些角色比打字时更加舒适。

希望它能帮助:)

-Dave

+10

我想使用家庭和结束键,因为他们帮助打字。 和$符号在正常模式下不在插入模式下工作。 其次,这不是我的问题的预期答案,我希望他们工作,并希望了解为什么这不起作用。 – 2011-06-14 07:04:24

+1

你问“有关其他一些关键映射或其他有用的东西的信息,这将是非常好的”,我回答。 我每天都会使用vim,我发现它更快地在正常模式下使用“hjkl”而不是箭头或“eb”来访问下一个单词或前一个单词。这只是习惯。 – dave 2011-06-14 10:53:39

+0

在任何情况下,你确定guake和ubuntu终端“看到”相同的关键映射吗? – dave 2011-06-14 11:01:47

0

我是有urxvt同样的问题,也许你至少可以调试它具有相同的步骤更好。

对我来说,直到我切换到(从gnome终端)到urxvt之前,一切都是正常的。我解决了以下这个链接的说明:

https://wiki.archlinux.org/index.php/Home_and_End_keys_not_working

事实证明,我在的.bashrc(然后取出)了“出口TERM”。

我也修好了我的.Xdefaults(URxvt * termName:rxvt的,Unicode的256color) 和我.tmux.conf(设置-g默认终端的rxvt-Unicode的256color

你可以按照那个archlinux链接中的步骤来告诉我们它是否工作。

我会把这作为一个评论,但我没有足够的指向。

此外,在这里的一些投票的答案不完全回答这个问题。

今天我做了更多的测试: 我测试的是:CentOS中的ssh连接; 机1 - 无TMUX - $ TERM = ANSI 机2 - TMUX - $ TERM =丝网256color

在两种情况下设置$ TERM到的rxvt-256color固定的问题。 (如果你在他们的conf文件中使用tmux/screen设置,否则设置在.bashrc中)

在我的机器上试了一样(debian - tmux - urxvt - neovim);它的工作。