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

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

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

  • 因为我得到 B,
  • 因为我得到 A,
  • 因为我得到 D,
  • 因为我得到了 C。

请帮助我解决这个问题。

答案1

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

vim ~/.vimrc

将此行添加到文件顶部:

set nocompatible

保存文件,这应该可以解决您的问题。:)

答案2

安装该vim软件包将修复该问题:

sudo apt-get install vim

YouTube 或网络上有很多不错的 vim/vi 教程。对于您的问题,请参阅文章8 个必备的 Vim 编辑器导航基础知识

然后继续照常打开文件:

vi desired-file

答案3

使用vi,按下时i可激活命令插入文本。
此命令允许您在文件中插入文本。
并且,当:

  • 按下它会插入一个“A”,
  • 按下它会插入一个“B”,
  • ...

直到您停用此命令。
要停用命令vi:只需按Esc
然后您将恢复正常使用箭头键:

  • 上去,
  • 往下走,
  • ...

仅供参考,这里有一些vi命令:
从这个来源

:xReturn 退出 vi,将修改后的文件写入原始调用中命名的文件
:wqReturn 退出 vi,将修改后的文件写入原始调用中命名的文件
:qReturn 退出 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 移动光标回到前一个单词的开头
:0Return1G 移动光标到文件的第一行
:nReturnnG 移动光标移至第 n 行
:$ReturnG 移动光标到文件最后一行

/string 搜索转发文本中出现的字符串
?string 搜索向后查找文本中出现的字符串
n 移动到下一个搜索字符串
N 移动到相反方向的下一个搜索字符串

答案4

vi 编辑器有三种模式,分别是:

  • 命令模式
  • 输入模式
  • 默认模式。

当您打开文件时,您处于默认模式。现在,如果您想转到文本中的特定位置,只需使用箭头键或使用hjk、键。请注意,这仅在您未按下(或任何其他输入模式输入命令,如、、)l时才有效。iaAI

选择“B”的原因可能是输入模式下的箭头键不具备箭头键的功能,因此只需按下即可Esc随时进入默认模式。要切换到输入模式,请按ia,要导航,请按下i键并使用箭头键 或hjkl

相关内容