vim 列编辑模式
vim 列编辑模式
标签: vim 视窗模式 列编辑模式
- vim 列编辑模式
- 例子:给列批量添加前缀、后缀、修改字段
vim 列编辑模式
vim 有三种编辑模式,命令模式、输入模式、视窗模式,我们常用的是前两种模式,但是视窗模式还是非常不错的,进入 vim 编辑器,模式是命令模式,可以通过 i、a 等进入输入模式,也可以通过 v、 c+v 进入视窗模式。
视窗模式可以让我们选择一块区域,这个区域好比是一个视图窗口,可以进行批量编辑。
例子1:给列批量添加前缀、后缀、修改
我们经常会有这样的一个场景,需要对 excel、csv 的某一列进行编辑,例如添加一些前缀、后缀或者修改,一般在维护数据或者批量生成一些 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 列编辑模式的更多相关文章
- vim列编辑模式快捷键
vi/vim编辑器 多行行首插入 1 在多行行首插入,在nomal模式下按下ctrl+v,然后进行选择(如果想要选择至文件结尾,则再按G) 2 选择好以后按大写的I,则光标会自动跳转到所选择行的第 ...
- 如何使用VIM的列编辑模式 [转]
如何使用VIM的列编辑模式? * windows 我使用的VIM FOR WINDOWS,一直都听说VIM有列编辑模式,一直没有使用过,试了几次都失败了.今天又因为工作需要,到网上查了一下,经过不断的 ...
- Emacs 之列编辑模式
// */ // ]]> Emacs 之 列编辑模式 Table of Contents 1. Emacs 下列编辑模式常用命令 2. 可以参考 1 Emacs 下列编辑模式常用命令 先mark ...
- Emacs和Ultra Edit列编辑模式
在emacs中可以使用C-r系列组合键进行区域选择编辑,或者使用emacs自带的cua-mode,然后键入C-ret进行可视化列编辑. 使用Ultra Edit同样可以方便的进入列编辑模式,只需要按下 ...
- vim列编辑
命令模式下:ctrl + v(我在gvim,win7中是ctrl +shift + q)进入列编辑模,选中要编辑的行(j 上,k下) 输入 “I” (大写的 I,光标定位到选中的第一行),输入要编辑的 ...
- Sublime 3 如何使用列编辑模式
前言 作为一名运维人员,文本IDE的列编辑模式对工作效率的提升很大.以前总用UE,觉得UE的列编辑模式设置很人性化(alt+c).后来接触了sublime,个人觉得它的列编辑模式使用对比UE略有差距. ...
- vim 的编辑模式 命令模式
1.vim的编辑模式 进入编辑模式 按键: a i o a: 表示在光标当前的,后面开始插入,写数据 i : 则表示 前面 . o : 表面在光标当前的,下一行开始写入数据. O : 大写的 ...
- 关闭QtCreator的vim风格编辑模式
今天不小心点到了键盘的快捷键Alt+V,使QtCreator进入了vim风格编辑模式,导致快捷键拷贝粘贴都不正常,找了下资料才发现是这个问题.具体操作如下: 打开QtCreator去掉下列位置的勾选或 ...
- IDEA terminal无法从vim的编辑模式转换为命令模式
Git 修改最后一次的commit历史记录:https://www.baidu.com/link?url=2WF8yFd0iBuVmXLWfutmSoXa12K9D143e_B0A3PTYYHEP9r ...
随机推荐
- 解决Eclipse代码提示消失的方法
注意:首先要做的是windows->preferences->java->Editor->"ContentAssist", auto-activetion中 ...
- 深度学习实战 Tricks
1. 梯度消失与梯度爆炸 gradient clipping 梯度爆炸:min(grad_max,grad) grad_max:梯度上限 梯度消失:max(grad_min, grad) grad_m ...
- 《Planet Earth II》观看笔记
carrion:n. 腐肉:臭尸:不洁之物 cub:n. 幼兽:不懂规矩的年轻人:chick; n. 小鸡:小鸟:少妇 herd:兽群: 1. 高频单词 terrain:n. [地理] 地形,地势:领 ...
- PowerDesigner模型分类
原文:PowerDesigner模型分类 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/zjws23786/article/details/8005 ...
- python 教程 第二十章、 数据库编程
第二十章. 数据库编程 环境设置 1).安装MySQL-python http://www.lfd.uci.edu/~gohlke/pythonlibs/ MySQL-python-1.2.3.win ...
- 罚函数(penalty function)的设计
1. encourage sparsity ℓ0 范数: non-differentiable and difficult to optimize in general ℓ1 范数: 对数约束,log ...
- 从零开始学习 asp.net core 2.1 web api 后端api基础框架(一)-环境介绍
原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(一)-环境介绍 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- WPF 跨界面调用程序
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, (System.Threading.ThreadStart)delegate() { sE ...
- 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 ...
- 在Windows系统上以C++打印出当前活动用户的环境变量
在Windows系统上以C++打印出当前活动用户的环境变量,代码如下(QT环境): void getEnvironmentVariables() { DWORD sessionId = WTSGetA ...