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

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

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

然后输入sql insert 语句。

insert into tb_ids(id) values (

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

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

输入 sql insert 结尾部分。

);

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

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

vim 列编辑模式的更多相关文章

  1. vim列编辑模式快捷键

    vi/vim编辑器 多行行首插入   1 在多行行首插入,在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G) 2 选择好以后按大写的I,则光标会自动跳转到所选择行的第 ...

  2. 如何使用VIM的列编辑模式 [转]

    如何使用VIM的列编辑模式? * windows 我使用的VIM FOR WINDOWS,一直都听说VIM有列编辑模式,一直没有使用过,试了几次都失败了.今天又因为工作需要,到网上查了一下,经过不断的 ...

  3. Emacs 之列编辑模式

    // */ // ]]> Emacs 之 列编辑模式 Table of Contents 1. Emacs 下列编辑模式常用命令 2. 可以参考 1 Emacs 下列编辑模式常用命令 先mark ...

  4. Emacs和Ultra Edit列编辑模式

    在emacs中可以使用C-r系列组合键进行区域选择编辑,或者使用emacs自带的cua-mode,然后键入C-ret进行可视化列编辑. 使用Ultra Edit同样可以方便的进入列编辑模式,只需要按下 ...

  5. vim列编辑

    命令模式下:ctrl + v(我在gvim,win7中是ctrl +shift + q)进入列编辑模,选中要编辑的行(j 上,k下) 输入 “I” (大写的 I,光标定位到选中的第一行),输入要编辑的 ...

  6. Sublime 3 如何使用列编辑模式

    前言 作为一名运维人员,文本IDE的列编辑模式对工作效率的提升很大.以前总用UE,觉得UE的列编辑模式设置很人性化(alt+c).后来接触了sublime,个人觉得它的列编辑模式使用对比UE略有差距. ...

  7. vim 的编辑模式 命令模式

    1.vim的编辑模式    进入编辑模式 按键: a  i  o a: 表示在光标当前的,后面开始插入,写数据 i : 则表示 前面 . o : 表面在光标当前的,下一行开始写入数据. O : 大写的 ...

  8. 关闭QtCreator的vim风格编辑模式

    今天不小心点到了键盘的快捷键Alt+V,使QtCreator进入了vim风格编辑模式,导致快捷键拷贝粘贴都不正常,找了下资料才发现是这个问题.具体操作如下: 打开QtCreator去掉下列位置的勾选或 ...

  9. IDEA terminal无法从vim的编辑模式转换为命令模式

    Git 修改最后一次的commit历史记录:https://www.baidu.com/link?url=2WF8yFd0iBuVmXLWfutmSoXa12K9D143e_B0A3PTYYHEP9r ...

随机推荐

  1. 解决Eclipse代码提示消失的方法

    注意:首先要做的是windows->preferences->java->Editor->"ContentAssist", auto-activetion中 ...

  2. 深度学习实战 Tricks

    1. 梯度消失与梯度爆炸 gradient clipping 梯度爆炸:min(grad_max,grad) grad_max:梯度上限 梯度消失:max(grad_min, grad) grad_m ...

  3. 《Planet Earth II》观看笔记

    carrion:n. 腐肉:臭尸:不洁之物 cub:n. 幼兽:不懂规矩的年轻人:chick; n. 小鸡:小鸟:少妇 herd:兽群: 1. 高频单词 terrain:n. [地理] 地形,地势:领 ...

  4. PowerDesigner模型分类

    原文:PowerDesigner模型分类 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zjws23786/article/details/8005 ...

  5. python 教程 第二十章、 数据库编程

    第二十章. 数据库编程 环境设置 1).安装MySQL-python http://www.lfd.uci.edu/~gohlke/pythonlibs/ MySQL-python-1.2.3.win ...

  6. 罚函数(penalty function)的设计

    1. encourage sparsity ℓ0 范数: non-differentiable and difficult to optimize in general ℓ1 范数: 对数约束,log ...

  7. 从零开始学习 asp.net core 2.1 web api 后端api基础框架(一)-环境介绍

    原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(一)-环境介绍 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  8. WPF 跨界面调用程序

    this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (System.Threading.ThreadStart)delegate() { sE ...

  9. strlen, wcslen, _mbslen, _mbslen_l, _mbstrlen, _mbstrlen_l, setlocale(LC_CTYPE, "Japanese_Japan")(MSDN的官方示例)

    // crt_strlen.c // Determine the length of a string. For the multi-byte character // example to work ...

  10. 在Windows系统上以C++打印出当前活动用户的环境变量

    在Windows系统上以C++打印出当前活动用户的环境变量,代码如下(QT环境): void getEnvironmentVariables() { DWORD sessionId = WTSGetA ...