6

vim 列编辑模式

 3 years ago
source link: https://www.cnblogs.com/wangiqngpei557/p/11105846.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

vim 列编辑模式

标签: vim 视窗模式 列编辑模式


  • vim 列编辑模式
  • 例子:给列批量添加前缀、后缀、修改字段

vim 列编辑模式

vim 有三种编辑模式,命令模式、输入模式、视窗模式,我们常用的是前两种模式,但是视窗模式还是非常不错的,进入 vim 编辑器,模式是命令模式,可以通过 ia 等进入输入模式,也可以通过 vc+v 进入视窗模式。

视窗模式可以让我们选择一块区域,这个区域好比是一个视图窗口,可以进行批量编辑。

例子1:给列批量添加前缀、后缀、修改

我们经常会有这样的一个场景,需要对 excelcsv 的某一列进行编辑,例如添加一些前缀、后缀或者修改,一般在维护数据或者批量生成一些 sql 语句非常常见。

那么我们来看个例子:我们需要生成一组测试数据,这组数据需要添加 sql insert 前缀,我们才能批量倒入到 DB 中去。

我们简单来生成一组测试数据:

for ((i=1;i<=10000;i++))
do echo $RANDOM >> ids.csv
do

我们需要将这一组id添加到DB中,vim 编辑这个文件。

vim ids.csv

vim

默认打开是进去命令模式,此时我们需要在列的前后添加sql代码。c+v 进去可视化模式。
vim

然后 GG 跳到最后一行,然后 L 向右选择当前列。shit+i 切换到列前输入。
vim

然后输入sql insert 语句。

insert into tb_ids(id) values (

然后通过 esc 退出视图模式,会自动生成所有行的前缀。
vim

我们继续添加列后缀部分。和之前的编辑模式还是一致的,只是全部选中之后使用 shit+a 切入到列后端。

输入 sql insert 结尾部分。

);

vim

当然这里面会有一些问题需要注意,列需要是有规则的,如果没有规则的列需要先排序好,然后分批处理。如果是整行模式,可以直接 v 模式进入整行编辑模式。vim的功能还是很丰富的,这里只是分享一个很简单的例子。

作者:王清培 (趣头条 Tech Leader)


Recommend

  • 8
    • www.80shihua.com 3 years ago
    • Cache

    vim 编辑操作小技巧

    vim-terminal vim自从8.0开始内置集成了终端,通过输入:terminal(term)即可打开内置终端,在这里你可以像使用普通终端一样,你可以通过快捷键 ctrl+w+w 来在终端和编辑窗口之间进行切换,当然你可以在终端窗口输入exit来关闭终端窗口。 vim-ta...

  • 10
    • segmentfault.com 3 years ago
    • Cache

    Docker Linux 没有vim怎么编辑文件

    相似提问:Docker centos 没有vim怎么编辑文件?Docker centos 没有vi怎么编辑文件?Docker ubuntu 没有vim怎么编辑文件?Docker ubuntu 没有vi怎么编辑文件?下面的内容通通告诉你答案!!!!为什么会有这个问题呢?

  • 3
    • www.lujun9972.win 3 years ago
    • Cache

    Vim Tips之编辑远程文件

    Vim Tips之编辑远程文件 自Vim7.x之后,就自带了netrw插件,该插件类似Emacs的Tramp一样,可以让Vim读写远程文件。 当文件名为 protocol://[user]@hostname[:port]/path/to/remote/file 时Vim会自动调用netrw插件将远程文件下...

  • 9

    V2EX  ›  Vim 用 vim 编辑 Git commit,展示 diff 信息   jdhao · 7 小时 12 分钟前 · 644 次点击

  • 10

    vim几个小技巧(批量替换,列编辑) 浏览:34996次  出处信息 之前经常为这些小问题搞的头痛,今天把它总结下来...

  • 7
    • yyq123.blogspot.com 2 years ago
    • Cache

    VIM学习笔记 环绕字符编辑(sandwich)

    sandwich 插件可以快速编辑围绕在内容两端的字符(pairs of things surrounding things),比如成对出现的括号、引号,甚至HTML/XML标签等。 sandwich支持vim的

  • 3
    • yyq123.blogspot.com 2 years ago
    • Cache

    VIM学习笔记 环绕字符编辑(surround)

    surround 插件可以快速编辑围绕在内容两端的字符(pairs of things surrounding things),比如成对出现的括号、引号,甚至HTML/XML标签等。

  • 3
    • hiberabyss.github.io 2 years ago
    • Cache

    【Vim】macOS 系统下 Vim 编辑中文 tips

    因为 VIM 里存在多个 mode ,使得编辑中文变得很痛苦。在 Insert mode 下需要使用中文输入法, 但当切换回 Normal 模式后又需要使用英文输入法。在 VIM 里切换 mode 是很经常的事儿, 在需要输入中文时,每次的 mode 切换都需要进行输入法的切换,很麻烦。 通过...

  • 3
    • hiberabyss.github.io 2 years ago
    • Cache

    如何使用 Vim 编辑二进制文件

    前段时间参加公司内部的一个技术比赛:实现一个打印自己 MD5 值的最小 elf64 格式二进制文件。 在这个过程中需要对二进制文件的某些字节进行修改、删除等编辑操作,本文介绍如果通过 Vim 来编辑二进制文件。基于 xxd 命令来实现先设定 buffer...

  • 5
    • hiberabyss.github.io 2 years ago
    • Cache

    直接在 vim 里编辑 iptables 规则

    直接在 vim 里编辑 iptables 规则0 条评论这几天为了了解 K8S 的工作原理, 需要频繁地更改 iptables , 直接通过 iptables -t nat -A ... 去添加规则...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK