我有一个由windows系统生成的CSV文件。然后将该文件移动到linux。linux环境是NAME="Red Hat Enterprise Linux Server".VERSION="7.3 (Maipo)".ID="rhel“。
当我使用vi编辑器时,所有的字符都是可见的。例如,给出了一行:"Sarah--bitte nicht löschen“。
但是当我猫文件时,我得到类似于"Sarah--bitte nicht l▒schen“之类的东西。
此文件由数据存储应用程序使用,并且此unicode字符为"?“在数据存储中。由
我最近在我的机器上升级到Fedora 33 (Linux5.9.16-200)。我正在运行vim增强版本8.2。当我输入sudo vim (甚至sudo vi)来编辑具有管理权限的文件时,我会得到以下错误。
sudo: __vi_internal_vim_alias: command not found
我不知道是什么原因造成了这种情况。没有sudo的情况下,Vim装载很好。你能告诉我如何解决这个问题吗?谢谢。
更新:在执行which vim时,我得到以下结果。
alias vim='__vi_internal_vim_alias'
__vi_internal_vim_
如何使用vi从文本文件中获取字符位置计数?
我尝试过":goto number“,但它在Linux中不起作用。
为了澄清我的问题,如果我有一个文件,假设有3行:
I am going for a walk
because today is a
beautiful day.
我想说在位置30给我找一个字母,它会跳到第二行,突出显示单词‘say’中的字母't‘。这类似于macos中的:goto 30概念,但适用于Linux。
使用VI替换第一个事件/实例非常简单。
:%s/search/replace/args
但是,下面是以.csv格式/文件设置的数据集:
"192.168.2.1","www.google.com","2009/01/11_10:00"," What a great website"
"192.168.2.2/driving/is/fun","-","2009/03/22_00:00","Driving website"
"192.168.2.4/boa
几天前,当我点击'CTRL+A‘时,我的ubuntu控制台开始打印'^A’,而不是像以前那样把光标移到行的开头。'CTRL+E‘也会出现同样的问题,而'CTRL+Arrow’快捷键的行为也应该是正确的。但是,如果我通过ssh登录到远程计算机,一切都会正常工作。不幸的是,我不记得任何可能触发这种行为的东西(我没有更改快捷方式,也没有修改我的'.bashrc‘文件,也没有更新系统)。
一些有用的信息:
我不使用或屏幕,或tmux或其他终端复用器;
joe@Zen:~$ lsb_release -a
No LSB modules are available.
我从这里下载了原始的Vi编辑器:,它总是显示这条消息(无论是在xterm中还是在适当的终端中,linux在xterm中被xterm替换):
linux: Unknown terminal type
[Using open mode]
我尝试将TERM更改为vt100、vt200等,但仍然出现了错误。这很烦人,因为打开模式一次只显示一行,但我想要一个全屏编辑器。
显然,自从几周前bash v. 5(在Arch Linux和Debian Buster上见证)发布以来,在vi模式下调用编辑器的默认行为发生了变化。
set -o vi
v
bash 4.x和更早版本:弹出一个空的$EDITOR。
bash 5.x: $EDITOR将使用最后执行的命令打开(类似于fc命令)。
偶然打开命令行编辑器并剧烈地执行:q!,会导致重复执行最后一个命令。对于长期的vi模式成瘾者来说,这是意想不到的行为,违反了最低限度惊讶的原则.如何恢复到旧的空编辑器状态?
我在使用sql*plus的同时,在linux下使用rlwrap实用程序进行命令行编辑。一切都很好,除了这个实用程序会回显我从键盘输入的每个命令。例如,假设我在提示符中键入以下语句:
SQL> select last_name from employees
相同的语句将在终端中再次重复,使输出如下所示:
SQL> select last_name from employees
select last_name from employees
然后,当我在下一行完成select语句时,输出将如下所示:
SQL> select last_name from employees
sel