当我尝试在vi
编辑器的插入模式下使用箭头键时,在编辑器中插入了以下字符:
- 因为↓我得到了B
- 因为↑我得到了A
- 因为←我得到了D
- 因为→我得到了C。
请帮助我解决此问题。
当我尝试在vi
编辑器的插入模式下使用箭头键时,在编辑器中插入了以下字符:
请帮助我解决此问题。
Answers:
如果您.vimrc
的主目录中没有文件,请使用以下命令创建一个文件:
vim ~/.vimrc
将此行添加到文件顶部:
set nocompatible
保存文件,这将为您解决问题。:)
vi
而不是,则有一个技巧vim
,您必须在~/.exrc
文件中进行相同的配置。
安装vim- >这样可以解决问题。
sudo apt-get install vim
YouTube或一般网络上有很多很好的vim / vi教程。对于您的问题,请参见此处
然后继续照常打开文件:
vi desired-file
随着vi
,点击当i您激活命令插入文本。
此命令允许您在文件中插入文本。
右击,当点击:
直到您停用此命令。
要在中禁用命令,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
复制(猛拉,剪切)到缓冲区中,然后将N行(包括当前行)
Nyy
复制(猛拉,剪切)到缓冲区中,然后将缓冲区中的行
p
粘贴到文本中当前行
0
(零)将光标移至当前行的开头(带有光标的那个)
$
将光标移至当前行的末尾
w
将光标移至下一个单词的起始处
b
将光标移回到上一个单词的开头
:0
Return或1G
将光标移至文件中的第一行
:n
Return或nG
将光标移到移至第n行
:$
Return或G
将光标移至文件的最后一行
/string
搜索前进用于以文本字符串的出现
?string
搜索向后用于文本串的发生
n
移动到的搜索字符串下发生
N
移动,以在相反的方向上的搜索字符串的下一个出现
:help compatible
:“默认情况下,此选项处于启用状态,Vi默认值用于为那些想要像Vi一样使用Vim,甚至不(不想)知道“兼容”选项的人选择了此默认值。”
要在编辑模式下禁用按箭头打印字母,您可以执行以下操作
vi $HOME/.exrc
(如果文件不存在,则创建文件),然后在其中添加行set nocompatible
并保存。
:version
加载顺序的输出(也可以:h .exrc
或:h init
)。我想有人可能希望在vi和vim中都应用设置,或者可能是习惯的纯粹力量。
注意:
其他帖子中提供了很好的信息,但是没有一个帖子试图解释为什么发生此行为。将来,很多人一定会偶然发现这一点。另外,由于以前的任何帖子都可能对您有所帮助,您是否可以将此问题标记为已解决?
这是一个解释:
Vi是一个已经存在了很长时间的编辑器,其起源可以追溯到Unix系统。这是一个很好的工具,但是已经迭代了,现在有了更好的工具。Vim是后来写的,就是那个迭代。人们通常将vi称为“最小的vim”,而vim是vi的“改进”版本。您可以这样想:vi是核心,而vim在此基础上进行扩展。
您可能是如何发现此行为的:
为了发现此问题,您按“ i ”进入插入模式,然后使用箭头键导航正确的行和编辑点。这就是导致您意外的char问题的原因。
解决方案1或2
1)vi someFile
使用vi时,首先移至编辑点,然后进入插入模式。
2)vim someFile
简单地从一开始就使用vim。
我没有足够的压力来阅读手册(手册页)或使用-h寻求帮助。一旦适应了外壳中的模式,手册页就会成为您最好的朋友。示例:man vi
或man vim
验证是否已安装Vim。
打开控制台窗口并执行:
dpkg --list | grep vim
如果您得到类似的东西,那么您就可以开始使用vim了。
~ $ dpkg --list | grep vim
ii vim 2:7.4.052-1ubuntu3 amd64 Vi IMproved - enhanced vi editor
ii vim-common 2:7.4.052-1ubuntu3 amd64 Vi IMproved - Common files
ii vim-runtime 2:7.4.052-1ubuntu3 all Vi IMproved - Runtime files
ii vim-tiny 2:7.4.052-1ubuntu3 amd64 Vi IMproved - enhanced vi editor - compact version
如果命令提示符未返回任何内容,则说明未安装vim。使用以下示例更新存储库,然后安装vim。
sudo apt-get update
sudo apt-get install vim
只有在网上搜索如何解决问题时才使用vi或vim的偶然机会,而您碰巧忘记了键入内容vim
,有一种方法可以为将来修复。我警告您要注意。您可以使用别名使用对vim的引用覆盖vi,这样无论您在将来遇到什么,无论输入什么内容,vim都不会出现“糟糕!”。时刻。您以后随时可以删除别名。
输入vim .bashrc
。向下移动到仅包含一个空行~
(或任何其他以开头的行alias
(因此它们组合在一起)),然后按i键进入-insert-模式。在其单独的行中,输入以下内容:
alias vi='vim'
按Esc
,然后键入:wq
。现在,您需要重新加载文件。键入source .bashrc
在进行这些编辑后打开的任何其他外壳,将自动加载.bashrc文件。
给出的所有解释都有些奇怪。我有vi但没有安装vim。
检查替代方案:/etc/alternatives/vi
→/usr/bin/vim.tiny
那么vi
是vim.tiny
,它使用/etc/vim/vimrc.tiny
。
在其中vimrc.tiny
找到以下行:
set compatible
这几乎是该文件中唯一的东西。请注意,/etc/vim/vimrc
其中正在使用nocompatible
。
因此,要么安装vim,要么更改vimrc.tiny
文件,或者创建自己的文件,~/.vimrc
其中应包含以下行:
set nocompatible
~/.vimrc
和设置nocompatible
:askubuntu.com/a/353944/158442或3.编辑系统文件。只有编辑建议/etc/vim/vimrc.tiny
是新建议,而您却在提出与建议相同的建议时称呼答案很奇怪。
传统的vi编辑器无法识别箭头键(... afair)。有两种解决方案:
在某些系统上,该nocompatible
选项不可用,或者如果插件中断了箭头键功能,则该选项可能无法解决问题。这是一种解决方法...
编辑.exrc
文件以包括以下几行:
map! ^[OA ^[ka
map! ^[OB ^[ja
map! ^[OC ^[la
map! ^[OD ^[ha
或者,如果问题仅在正常模式下存在,则可以更改为nmap
并跳过以下内容a
,如下所示:
nmap! ^[OA ^[k
等等。
这是生产它们所需的组合键(仅显示第一个):
map! <CTRL-V><Up-Arrow> <CTRL-V><ESC>ka
这会退出编辑模式,向所需方向移动,然后重新进入编辑模式。克服Vi读取转义序列作为原义<ESC> <O> <A>的序列等问题是需要的。
对于VI,创建或编辑文件“〜/ .exrc”或VIM创建或编辑文件“〜/ .vimrc”或在行中添加。
set nocompatible
在撰写本文时,有人对第二个投票最多的项目表示赞赏,他们想知道为什么不接受他们的输入。原因是有些主机不允许安装其他编辑器。即使那样,vim有时也会产生相同的效果,因此前两个条目中有很多可用信息。但是,我无法发表评论,希望这能弄清为什么100%都没有100%正确的原因。