问题描述
当我尝试在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
光标前插入文本,直到Esc
打I
在当前行的开头插入文本,直到Esc
打a
光标之后追加文本,直到Esc
打A
文本追加到结束当前行,直到Esc
打o
开放,并把文本中新直到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
Return
或1G
将光标移动到文件中的第一行:n
Return
或nG
将光标移动到第n行:$
Return
或G
将光标移动到文件中的最后一行
/string
在文本中搜索字符串的出现?string
在文本中向后搜索字符串的出现n
移动到下一次出现的搜索字符串N
向相反方向移动到下一次出现的搜索字符串
第四种思路
要在编辑模式下按箭头键禁用打印字母,可以执行以下操作
vi $HOME/.exrc
(如果文件不存在则创建文件),然后将行set nocompatible
添加到它并保存。
第五种思路
vi编辑器中有三种模式:
-
命令模式
-
输入模式
-
默认模式。
当你打开一个文件时,你处于默认模式。现在,如果您想要转到文本中的特定位置,只需使用箭头键或使用h
,j
,k
,l
键即可。请注意,只有当您没有按下i
(或任何其他输入模式输入命令,如a
,A
,I
)时,此功能才有效。
‘B’的原因可能是因为输入模式中的箭头键不能用作箭头键,所以只需按Esc
随时进入默认模式。何时切换到输入模式,按i
或a
,然后按i
键并使用箭头键或h
,j
,k
,l
导航。
第六种思路
我有完全相同的问题,但不仅在我的本地机器上,而且还通过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
所以vi
是vim.tiny
,它使用/etc/vim/vimrc.tiny
。
并在vimrc.tiny
中找到以下行:
set compatible
这几乎是这个文件中唯一的东西。请注意,在/etc/vim/vimrc
中使用的是nocompatible
。
因此,要么安装vim,要么更改vimrc.tiny
文件,或创建您自己的~/.vimrc
,该~/.vimrc
应包含以下行:
set nocompatible