HOME和END键Vim中的问题

时间:2011-06-14 06:40:38

标签: vim

我在Ubuntu上。我是Vim的初学者。我在/etc/vim/vimrc中为家庭和结束键设置了键映射。

它正在终端上工作,但是当我在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和HOME键。但是没有采取行动。(如果我错了请纠正我。)

仍然希望你现在可以帮助我。

-

6 个答案:

答案 0 :(得分:3)

在vim中,你可以使用 $ 到达当前行的末尾,并使用 ^ 到达行的开头。我在键入时发现这些字符比 Home End 更舒服。

希望有所帮助:)

-Dave

答案 1 :(得分:1)

尝试添加 set term=xterm-256color~/.vimrc

之所以发生这种情况,是因为在终端中按下了主页和结束键 发送一个包含几个字符的转义序列给vim,然后 vim没有正确地将这些转义序列与 您按下的键。

从这里获取答案https://stackoverflow.com/a/1523821/5506988

答案 2 :(得分:0)

我遇到与<Window x:Class="TestApp.TestWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" Title="TestWindow" Height="300" Width="300"> <TextBox TextWrapping="NoWrap" HorizontalAlignment="Left" VerticalAlignment="Top" /> </Window> 相同的问题,也许你至少可以用相同的步骤调试它。

对我而言,在我切换(从gnome终端)到urxvt之前,一切正常。我按照此链接的说明解决了问题:

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

原来,我已经出口了TERM&#39;在我的.bashrc中(然后删除)。

我还修复了我的.Xdefaults( URxvt * termName:rxvt-unicode-256color ) 和我的.tmux.conf(设置-g default-terminal rxvt-unicode-256color

您可以按照该archlinux链接中的步骤告诉我们它是否有效。

我本来可以作为评论,但我没有指向。

此处有一些投票的答案也没有完全回答这个问题。

今天我做了更多测试: 我测试的内容:CentOS中的ssh连接; 机器1 - 没有tmux - $ TERM = ansi 机器2 - tmux - $ TERM = screen-256color

在这两种情况下,将$ TERM设置为rxvt-256color修复了问题。 (如果你在conf文件中使用tmux / screen set,否则在.bashrc中设置)

在我的机器上尝试过同样的事情(debian - tmux - urxvt - neovim);它起作用了。

答案 3 :(得分:0)

我不知道这是否对您有用,但是对我有用: 我注意到TERM设置为“ linux”(请勾选“ echo $ TERM”)。

那么有两种解决方法。

第一) 将.bashrc或您的自定义配置文件更改为:

export TERM='xterm'

或 第二) 将这些行添加到您的.vimrc中:

" Fix home/end key in all modes
map <esc>OH <home>
cmap <esc>OH <home>
imap <esc>OH <home>
map <esc>OF <end>
cmap <esc>OF <end>
imap <esc>OF <end>

答案 4 :(得分:0)

这对我有用,编辑〜/ .vimrc并输入以下说明:

set term=ansi
map ^[[1~ ^
map ^[[4~ $
map ^[[2~ i
map ^[[3~ x
map ^[[5~ 1G
map ^[[G ^[
map ^[[6~ G

通过按ctrl-v然后按键本身可以实现的^[[1~(等)。显示的文字将出现。 ^[是ESC(也是键盘上5键上的键)。

答案 5 :(得分:0)

如果某些人遇到了neovim的问题,请使用:help $ TERM,它具有大量的信息。如果您使用的是Putty / MTputty,请更改export TERM = putty-256color。它可能会起作用。