例如,一个文件file1.txt包含
Hi how are you
hello
today is monday
hello
I am fine
Hi how are you
Run Code Online (Sandbox Code Playgroud)
处理后file1.txt应该写入file2.txt,内容应该是这样的,不要重复相同的行。
Hi how are you
hello
today is monday
I am fine
Run Code Online (Sandbox Code Playgroud)
我可以使用什么命令在 linux 终端中执行此操作?
如何在 vi 模式下从命令行进行全局替换。似乎我无法通过添加前缀来使用 ex 命令:,那么我该怎么办呢?
例如,如果我想将命令中的所有\内容替换为.../
我试图操纵 crontab 的编辑器,但它真的很令人困惑。所以我开始创建一个新的 crontabcrontab -e
然后默认编辑器打开。
现在从那里,它似乎是滞后的!??
如何在编辑器中移动?
如何让“--INSERT--”显示然后编写我的“scritp”,然后输入 :wq 来编写并保存 exit ?
按下 esc 或 : 后,如何返回写入模式?
我使用vi与
set ts=4
set number
Run Code Online (Sandbox Code Playgroud)
每次vi在命令行上打开编辑器时,我都厌倦了这些设置。所以我想配置vi一个可以嵌入上面列出的设置的配置文件,但是,我vi在 Ubuntu 中找不到配置文件。viUbuntu中配置文件的确切位置是什么,或者我可以通过哪种方式进行配置vi?有任何想法吗 ?
注意:此问题仅针对vi,而不针对vim。
如果我执行 a w,我可以看到用户正在 vi 中编辑某个文件。
但是在不同的目录中有几个同名的文件。
我如何查看哪些文件是用户正在编辑的文件?
我在一个极简的 FreeBSD 系统上,需要使用内置的vi编辑器来编辑文件。具体来说,这不是 vim、vim-tiny 或其他替代品。它是“4BSD bug-for-bug compatible”nvi 编辑器。
它几乎按预期工作。该手册页说,控制-T和控制-d将缩进/取消缩进根据shiftwidth。Control-T 有效,但 control-D 无效。它实际上将 ^D 字符输入到文件中。
如果我确实让 vim 进入系统,control-T 和 control-D 会按预期工作,所以这不是终端误解密钥的问题。Vi 本身并不解释 control-D。
有人遇到这个吗?一个解决方案?使用 vim 不是一种选择。
出于某种原因,在使用 iTerm 时,我无法获得调用 Vim(我的编辑器)以使用Esc+的键绑定v zsh。
我回到了一个极简.zshrc文件,以确保它不是插件问题:
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:/Users/user/go/bin:$PATH
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/kubebuilder/bin
export EDITOR="/usr/bin/vi"
# Path to your oh-my-zsh installation.
export ZSH="/Users/user/.oh-my-zsh"
ZSH_THEME="gnzh"
source $ZSH/oh-my-zsh.sh
set -o vi
Run Code Online (Sandbox Code Playgroud)
但是在命令行上时,我似乎无法使用Esc+v打开编辑器,我不确定为什么。
如果我将 shell 更改为bash,它可以正常工作,因此似乎是zsh.
也试过bindkey -v无果。
在 cmdline 模式下,以下示例对我不起作用。
!alias lol='echo lol'
!lol='echo lol'
Run Code Online (Sandbox Code Playgroud) 我有一个包含以下内容的文本文件(实际文件包含数千行)
abcd
xyas
sasss
jddks
asa
sasa
lkkkss
asasd
Run Code Online (Sandbox Code Playgroud)
我想要以下格式的输出。
abcd xyas sasss jddks
asa sasa lkkkss asasd
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在运行 Wheezy Debian。当我尝试在主目录以外的目录中创建新文件时,例如/var/www,我在 vim 中收到以下错误:
E212: 无法打开文件进行写入。
我认为这是因为我没有在主目录之外创建文件的正确权限?
我的用户帐户在 sudoers 文件中(ALL=(ALL) ALL),我有管理员访问权限。
我知道诸如 之类的技巧:w !sudo tee %,但是这仍然会导致只读文件。
我在这里缺少什么?