vim 搜尋取代功能
VI 的搜尋取代語法格式大致如下
:[範圍]s/[比對字串]/[取代字串]/[g,c,i]
範圍部分:
範圍表示法為開頭 , 結束
假如我要從第 1 行到第 150 行,可以這樣下: 1, 150
假如我要從第 1 行到最後一行,可以這樣下: 1, $
假如我要設定全部範圍,可以這樣下: % (其實跟 1, $ 意義是一樣的)
假如我要從游標所在行之後到最後一行,可以這樣下:., $
小寫 s 代表意義:
告訴VI我要做 substitute(置換) 動作
比對/取代字串部分:
大小寫有分,如果內容為特殊字元,需加上 \ (脫曳字元)
EX:換行符號 \n
假如我要設定的是一個"單元",前後需用 \( 和 \) 包起來,後面會說明詳細用法
g c i參數分別代表的意義:
這個部分是選擇性的,也就是額外控制項
由於 VI 對大小寫是有區別的,如果要忽略大寫小可以用 「i」(忽略) 這個參數來控制
如果不加上「g」這個控制項,VI只會把每行比對到的第一個做取代動作,加上「g」能確保每行的每個字都能被比對到
有時候,有些特殊的地方是你不想取代的,可以用「c」(確認) 這個參數來控制
如此一來,每次比對到的時候,會詢問 (y/n/a/q/l/^E/^Y)? 這些參數
y 是代表執行目前的取代。
n 是跳過。
a 代表 always ,就是從目前以後的取代都會執行。
q 則是不要作取代,並且離開詢問要不要取代的狀態,並回到指令模式或原來的模式下。
l 則是 last 的意思,就是目前這個取代執行後就離開詢問的取代模式,回到指令模式或原來的模式下。
^E 表示往前一頁。
^Y 表示往後一頁。
範例語法:
我要把文件中的所有 awei 置換成 AwEi
:%s/awei/AwEi/g
以上資料來自 http://awei791129.pixnet.net/blog/post/29353976-[linux][vi]-vi-or-vim-的搜尋取代功能
vim 搜尋取代功能的更多相关文章
- vim的多窗口功能与环境参数设置
Vim的多窗口功能 多窗口情况下按键功能 :sp [filename] 打开一个新的窗口,如果有加filename,表示在新窗口打开一个新文件,否则表示两个窗口为同一文件内容 :[ctrl]+w+j( ...
- 转载自csdn http://blog.csdn.net/ithomer/article/details/6035627 Vim的分屏功能
Vim的分屏功能 目录(?)[+] 本篇文章主要教你如何使用 Vim 分屏功能 分屏启动Vim 使用小写的o参数来上下分屏(横向分屏). vim -on file1 file2 ... 使用大写的O参 ...
- vim之快速查找功能
vim有强大的字符串查找功能. 我们通常在vim下要查找字符串的时候, 都是输入 / 或者 ? 加 需要查找的字符串来进行搜索,比如想搜索 super 这个单词, 可以输入 /super 或者 ...
- VIM配置自动提示功能
问题描述: 使用VIM作为Linux下的IDE,但是VIM默认情况下不支持自动代码提示功能,因此希望安装插件实现自动提示功能,目前找到的自动提示工具,非常好用 ...
- Vim的分屏功能
本篇文章主要教你如何使用 Vim 分屏功能. 分屏启动Vim 使用大写的O参数来垂直分屏. vim -On file1 file2 ... 使用小写的o参数来水平分屏. vim -on file1 f ...
- Vim的分屏功能(转)
注:本文属于转载,源地址:http://blog.csdn.net/ithomer/article/details/6035627(博主很牛,欢迎关注) 本篇文章主要教你如何使用 Vim 分屏功能 分 ...
- Linux系统下vim常用快捷键及功能
1. 什么是vim Vim是一个类似于Vi的著名的功能强大.高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性. vim编辑器是Linux系统下标准的编辑器,作用相当于windows系统中的记 ...
- vim好用的功能 sublime text2类似的实现系列一
sublime的跳转 功能 快捷键 备注 往回跳 alt+- 和vim一样方便,可以在页面些跳转,定位到上次编辑的地方 往前跳 alt+shift+- 无 定义或取消标记 ctrl+<F2> ...
- vim实现全选功能
转自:http://blog.csdn.net/csh159/article/details/7533872 曾经也在找看看有没有快捷的方法全选,但是网上很多都是重复,并且错误的,比如: 1,$y,这 ...
随机推荐
- 关于js中onclick字符串传参问题(html="")
规则: 外变是“”,里面就是‘’外边是‘’,里边就是“” 示例: var a="111"; var html="<a onclick='selecthoods( ...
- OAuth2.0 social_django微博第三方登录
python网站第三方登录,social-auth-app-django模块, social-auth-app-django模块是专门用于Django的第三方登录OAuth2协议模块 目前流行的第三方 ...
- requests.exceptions.SSLError……Max retries exceeded with url错误求助!!!
import requests head = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Appl ...
- 单片机入门学习笔记6:新唐单片机N76E003
学习新唐单片机是从2018年3月开始的,之前一点也不懂这一块单片机,之后脉络变的越来越清晰. 由于N76E003档次太低,新塘科技官方的管脚配置,芯片选型……都没有这一块芯片,资料唯独只有:芯片的数据 ...
- MySQL的增、删、查、改操作命令
MySQL的增.删.查.改操作命令: 一.修改mysql数据库密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码. 二.查看 查看多少个数据库:注意 后面带s #查看 ...
- dfs 的全排列
#include <iostream> #include <algorithm> #include <cstdio> #include <string> ...
- lambda表达式与函数接口的关系以及使用案例
lambda表达式与函数式接口是结合使用的. 函数式接口:接口中只有一个抽象方法的接口,其中可以包括default修饰,static 修饰的实例方法.函数式接口可以在接口上添加@FuncationIn ...
- datagrid的toolbar的两种实现方式
datagrid的toolbar的两种实现方式 1.在html文件中,可以在设置toolbar="#tb",再在div中设置id="tb" <table ...
- 继承Thread类使用多线程
java实现多线程有两种方式,一种是继承Thread类,另外一种就是实现Runnable接口. 两种实现方法的优缺点: 使用Thread类实现多线程局限性就是不支持多继承,因为java是不支持类多继承 ...
- loj2308 「APIO2017」商旅
ref #include <iostream> #include <cstring> #include <cstdio> #include <queue> ...