当前位置: 首页>>技术教程>>正文


点击箭头键在vi编辑器中添加字符

, ,

问题描述

当我尝试在vi编辑器的插入模式下使用箭头键时,在编辑器中插入了以下字符:

  • 对于我得到B,

  • 对于我得到A,

  • 对于我得到D,

  • 对于我得到C.

请帮我解决这个问题。

最佳解决思路

如果您的主目录中没有.vimrc文件,请使用以下命令创建一个:

vim ~/.vimrc

将此行添加到文件的顶部:

set nocompatible

保存文件,这应该为您解决问题。 🙂

次佳解决思路

安装vim – >这将解决问题。

sudo apt-get install vim

一般来说,youtube上有很多好的vim /vi教程。针对您的问题,see here

然后照常继续打开文件:

vi desired-file

第三种解决思路

使用vi时,点击i时,您将激活插入文本的命令。该命令允许您在文件中插入文本。对,点击时:

  • 上会插入一个”A”,

  • 上会插入一个”B”,

直到你停用这个命令。要停用vi中的命令:只需点击Esc然后您将恢复正常使用您的方向键:

  • 上去了,

  • 要往下走,


仅供参考,以下是一些vi命令:从此source

:x Return退出vi,将修改后的文件写入原始调用中指定的文件:wq Return quit vi,将修改后的文件写入到原始调用中指定的文件:q Return退出(或退出)vi :q! Return退出vi即使最新更改尚未保存为这个vi电话

将光标向下移动一行将光标向上移动一行将光标左移一个字符将光标向右移动一个字符

u撤销你刚刚做的任何事情;一个简单的切换.重做你做的任何事情

i光标前插入文本,直到EscI在当前行的开头插入文本,直到Esca光标之后追加文本,直到EscA文本追加到结束当前行,直到Esco开放,并把文本中新直到Esc打开O打开并将文本放在当前行上方的新行中,直到Esc命中

r替换光标下的单个字符(不需要Esc)cw用新文本更改当前单词,从光标下的字符开始,直到Esc命中x删除光标下的单个字符Nx删除N个字符,以光标下的字符开始dw删除单个以光标下的字符开头的单词C更改(替换)当前行中的字符,直到Esc命中D删除行的其余部分,从当前光标位置开始

dd删除整个当前行Ndd删除N行,从当前行开始;例如,5dd删除5行yy将当前行复制(剪切,剪切)到缓冲区Nyy将下一行N行(包括当前行)复制(剪切)到缓冲区中p将行粘贴到缓冲区中当前行后的文本

0(零)将光标移动到当前行的起始位置(带有光标的那一行)$将光标移动到当前行的末尾w将光标移动到下一个单词的开头b将光标移回到前一个单词的开头:0 Return1G将光标移动到文件中的第一行:n ReturnnG将光标移动到第n行:$ ReturnG将光标移动到文件中的最后一行

/string在文本中搜索字符串的出现?string在文本中向后搜索字符串的出现n移动到下一次出现的搜索字符串N向相反方向移动到下一次出现的搜索字符串

第四种思路

要在编辑模式下按箭头键禁用打印字母,可以执行以下操作

vi $HOME/.exrc 

(如果文件不存在则创建文件),然后将行set nocompatible添加到它并保存。

第五种思路

vi编辑器中有三种模式:

  • 命令模式

  • 输入模式

  • 默认模式。

当你打开一个文件时,你处于默认模式。现在,如果您想要转到文本中的特定位置,只需使用箭头键或使用hjkl键即可。请注意,只有当您没有按下i(或任何其他输入模式输入命令,如aAI)时,此功能才有效。

‘B’的原因可能是因为输入模式中的箭头键不能用作箭头键,所以只需按Esc随时进入默认模式。何时切换到输入模式,按ia,然后按i键并使用箭头键或hjkl导航。

第六种思路

我有完全相同的问题,但不仅在我的本地机器上,而且还通过Citrix接收器通过在Win7 VM中的Sles机器上通过腻子进行连接。在重新安装Ubuntu后,本地主机和远程主机都显示完全相同的问题。

发现后

$ localectl list-keymaps 
Couldn't find any console keymaps.

导致这种奇怪的VI行为,我安装了解决问题的软件包console-data!

sudo apt-get install console-data

第七种思路

所有的解释都有点奇怪。我有vi,但没有安装vim。

检查备选方案:/etc/alternatives/vi& rightarrow; /usr/bin/vim.tiny

所以vivim.tiny,它使用/etc/vim/vimrc.tiny

并在vimrc.tiny中找到以下行:

set compatible

这几乎是这个文件中唯一的东西。请注意,在/etc/vim/vimrc中使用的是nocompatible

因此,要么安装vim,要么更改vimrc.tiny文件,或创建您自己的~/.vimrc,该~/.vimrc应包含以下行:

set nocompatible

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/440.html,未经允许,请勿转载。