我可以在其他应用程序(如浏览器)中复制字符ctrlc。
然后我可以i在 vim 中按下进入插入模式并按下shiftctrlv将文本粘贴进去。
问题是每一行都缩进了一点,所以我最终得到:

但我想要的(并最终手动编辑以实现)是:
我有一个名为foo.txt. 此文件包含值:
abc.tar.gz
abc.1.1.tar.gz
bca-1.2.tar.gz
Run Code Online (Sandbox Code Playgroud)
我想得到这样的输出
abc abc.tar.gz
abc.1.1 abc.1.1.tar.gz
bca-1.2 bca-1.2.tar.gz
Run Code Online (Sandbox Code Playgroud)
相同的值/文本必须出现在原始值/文本之前。如何使用正则表达式实现这一点?
%s/^[a-z_-]*./\1/g
Run Code Online (Sandbox Code Playgroud)
我使用了上面的表达式,但我得到了错误的输出。
我用 Windows 应用程序创建了一个文本文件(链接到 DropBox),现在我必须在 Unix 中用 VI 编辑它。
打开文件后,我意识到无法在 VI 中的行内轻松导航。如果我使用向上和向下箭头,我会跳过文档中的一整大行,这与我在 VI 中看到的行不对应。这对我来说编辑文件并不容易。
有没有办法将文件转换为 UNIX 格式,以便我可以使用 VI 轻松浏览各行?我尝试使用命令 Perl 或 dos2unix,但它们不起作用。
我已经在家里使用 FreeBSD 和 Virtual Box 安装了一个“盒子中的 linux”。但是当我尝试制作 C 文件时,joe、emacs 和 pico 给我“找不到命令”。joe z.c, emacs z.c,pico m.c是我试过的命令。唯一可用的编辑器似乎是 vi,它打开一个文件。我怎样才能让其他编辑器工作?
vi/vim 中有几个未绑定的键,例如g, q, v and #. 这些密钥未绑定是否有特殊原因?我可以随心所欲地使用它们,还是会违反有关它们使用的某些约定?
我需要改变一些东西
<1> to _1
<21> to _21
Run Code Online (Sandbox Code Playgroud)
有没有办法可以使用 sed、awk 或 vi 自动执行此操作?
注:尖括号内的数字不同。