当我尝试在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
命令:
从这个来源。
:x
Return 退出 vi,将修改后的文件写入原始调用中命名的文件
:wq
Return 退出 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
移动到相反方向的下一个搜索字符串
答案4
vi 编辑器有三种模式,分别是:
- 命令模式
- 输入模式
- 默认模式。
当您打开文件时,您处于默认模式。现在,如果您想转到文本中的特定位置,只需使用箭头键或使用h、j、k、键。请注意,这仅在您未按下(或任何其他输入模式输入命令,如、、)l时才有效。iaAI
选择“B”的原因可能是输入模式下的箭头键不具备箭头键的功能,因此只需按下即可Esc随时进入默认模式。要切换到输入模式,请按i或a,要导航,请按下i键并使用箭头键 或h、j、k、l。