经常需要用到列编辑这种操作,现在很多超文本的编辑器都可以轻松实现。

但有时需要在vi界面直接使用,但是vi的列编辑操作因不常使用总是忘记现查。

这次干脆记录下加深印象。

vi编辑某个文本时,比如修改一个oracle的参数文件,历史实验时取的实例名字是jyzhao, 如今实验我已经成功改成prod了,如下:

*.audit_file_dest='/opt/app/oracle/admin/prod/adump'
*.audit_trail='db'
*.cluster_database=true
*.compatible='11.2.0.4.0'
*.control_files='+DATA/prod/controlfile/current.265.1083233741'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_file_name_convert='+data/prod','+data/mynas'
*.db_name='prod'
*.db_unique_name='mynas'
*.diagnostic_dest='/opt/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'
*.enable_goldengate_replication=TRUE
*.fal_server='prod'
prod1.instance_number=1
prod2.instance_number=2
*.log_archive_config='DG_CONFIG=(prod,mynas)'
*.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=mynas'
*.log_archive_dest_2='SERVICE=prod VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prod'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_file_name_convert='+data/prod','+data/mynas','+fra/prod','+fra/mynas'
*.open_cursors=300
*.pga_aggregate_target=1290797056
*.processes=150
*.remote_listener='jyrac-scan:1521'
*.remote_login_passwordfile='exclusive'
*.sga_target=2008023040
*.standby_file_management='AUTO'
prod2.thread=2
prod1.thread=1
prod1.undo_tablespace='UNDOTBS1'
prod2.undo_tablespace='UNDOTBS2'

上面是改完的,如果名字不匹配启动nomount阶段就会报错,这里不展开。

直接演示下vi如何列编辑改回去的全过程吧,首先vi这个文件进入,使用:set nu显示行号方便之后操作:

  1 *.audit_file_dest='/opt/app/oracle/admin/prod/adump'
2 *.audit_trail='db'
3 *.cluster_database=true
4 *.compatible='11.2.0.4.0'
5 *.control_files='+DATA/prod/controlfile/current.265.1083233741'
6 *.db_block_size=8192
7 *.db_create_file_dest='+DATA'
8 *.db_domain=''
9 *.db_file_name_convert='+data/prod','+data/mynas'
10 *.db_name='prod'
11 *.db_unique_name='mynas'
12 *.diagnostic_dest='/opt/app/oracle'
13 *.dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'
14 *.enable_goldengate_replication=TRUE
15 *.fal_server='prod'
16 prod1.instance_number=1
17 prod2.instance_number=2
18 *.log_archive_config='DG_CONFIG=(prod,mynas)'
19 *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=mynas'
20 *.log_archive_dest_2='SERVICE=prod VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prod'
21 *.log_archive_dest_state_1='ENABLE'
22 *.log_archive_dest_state_2='ENABLE'
23 *.log_file_name_convert='+data/prod','+data/mynas','+fra/prod','+fra/mynas'
24 *.open_cursors=300
25 *.pga_aggregate_target=1290797056
26 *.processes=150
27 *.remote_listener='jyrac-scan:1521'
28 *.remote_login_passwordfile='exclusive'
29 *.sga_target=2008023040
30 *.standby_file_management='AUTO'
31 prod2.thread=2
32 prod1.thread=1
33 prod1.undo_tablespace='UNDOTBS1'
34 prod2.undo_tablespace='UNDOTBS2'

比如这里先改16、17两行,直接:16到16行,然后ctrl + v进入列编辑(-- VISUAL BLOCK --)模式,向下箭头移动光标,选择需要修改的这两列,待光标在我们要修改的列上闪烁时,使用shift + i批量插入,这里需要特别注意的是,插入时好像只改1行?不要担心,只要前面操作ok,改完后直接ESC键,修改就会同步到我们选择的所有行:

 16 jyzhao1.instance_number=1
17 jyzhao2.instance_number=2

同样操作,对31~34行进行修改:

 31 jyzhao2.thread=2
32 jyzhao1.thread=1
33 jyzhao1.undo_tablespace='UNDOTBS1'
34 jyzhao2.undo_tablespace='UNDOTBS2'

是不是很简单?

好了,现在可以自己练习再改回去吧_

小知识:vi如何使用列编辑模式快速插入的更多相关文章

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

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

  2. Emacs 之列编辑模式

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

  3. Emacs和Ultra Edit列编辑模式

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

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

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

  5. vim 列编辑模式

    vim 列编辑模式 标签: vim 视窗模式 列编辑模式 vim 列编辑模式 例子:给列批量添加前缀.后缀.修改字段 vim 列编辑模式 vim 有三种编辑模式,命令模式.输入模式.视窗模式,我们常用 ...

  6. 在C#中,Windows Console控制台 设置控制台标题、禁用关闭按钮、关闭快速编辑模式、插入模式

    设置控制台标题 禁用关闭按钮 关闭快速编辑模式 关闭插入模式 设置控制台标题.禁用关闭按钮 #region 设置控制台标题 禁用关闭按钮 [DllImport("user32.dll&quo ...

  7. idea列编辑模式

    当我们想要选中一列时,在eclipse中alt+shit+a就可以选中一列了, 在网上很多的idea中列编辑的使用,但是对我的电脑却不管用,也不太清楚在哪里设置 最后无奈乱试一通,结果找到了 alt+ ...

  8. vim列编辑模式快捷键

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

  9. Notepad++列编辑模式

    先按住alt,选中列,再上下左右拖动编辑即可:再次点击左键即可取消.

  10. 【第十五篇】easyui datagrid的列编辑,同时插入两张表的数据进去

    看图说话. 需求:插入两张表,上面的表单是第一张表的内容,下面的两个表格是第二张详情表的内容,跟第一张表的id关联 第二张表有一个列是需要用户手动填写添加的. 国际惯例,上代码 <div id= ...

随机推荐

  1. LINIUX 查询命令的 区别 chich whereis locate fing

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索: which  查看可执行文件的位置. whereis 查看文件的位置. locate   配合数据库查看文件位置 ...

  2. 一分钟学一个 Linux 命令 - pwd

    前言 大家好,我是 god23bin.欢迎大家继续围观<一分钟学一个 Linux 命令>,每天只需一分钟,记住一个 Linux 命令不成问题.本篇文章将聚焦于 pwd 命令,一个超级简单又 ...

  3. 图扑虚拟现实 VR 智慧办公室可视化

    前言 "虚拟现实"是来自英文"Virtual Reality",简称 VR 技术,其是通过利用计算机仿真系统模拟外界环境,主要模拟对象有环境.技能.传感设备和感 ...

  4. Devexpress如何获取RadioGroup选中项的值和显示值

    分享一个小技巧,如题目所示,DEV控件如何获取RadioGroup选中项的值和显示值.也是在网上找了很久,看了大家都是通过SelectIndex的值定位选中的按钮,并没有说取选中项的值,所以自己研究了 ...

  5. 解决redis从服务器未配置主服务器密码导致数据未同步&磁盘饱满问题

    问题前置场景 本人前几天买了一台2核4G+40G磁盘空间的云服务器用来学习使用,在服务器上安装了docker.为了学习redis主从架构,使用docker-compose部署了一主二从三台redis服 ...

  6. Mininet教程

    mininet的安装 1.前言 1.本次安装环境为ubuntu20.04. 2.mininet 为 github上的最新版,我已经修改镜像地址并克隆到了gitee,只需要从我的gitee仓库克隆即可. ...

  7. DHorse v1.2.1 发布,基于k8s的发布平台

    综述 DHorse是一个简单易用.以应用为中心的云原生DevOps系统,具有持续集成.持续部署.微服务治理等功能,无需安装依赖Docker.Maven.Node等环境即可发布Java.Vue.Reac ...

  8. gin 接口开发 - 用户输入自动 TrimSpace

    最近在思考一个问题,针对用户的输入,能不能快速校验? 比方说下面的 struct,大家用过 gin 的就知道,支持指定某个字段为 required,用户如果不输入,就检验不通过. type Login ...

  9. 学习 YAML 语法

    符号 意义 备注 - 表示数组 数组也叫序列 # 表示注释 只支持单行注释 空格缩进 表示层级关系 相同层级左侧必须对齐 --- 表示一份内容的开始 ... 表示一份内容的结束 可省略 : 表示键值对 ...

  10. 如何在 Ubuntu 20.04 上安装 KVM

    如何在 Ubuntu 20.04 上安装 KVM 遇到两个问题: 没有创建 /etc/qemu/bridge.conf 文件 ERROR internal error: /usr/lib/qemu/q ...