vim文本编辑及文件查找应用2
vim编辑器:
vim末行模式:
内建的命令行接口
(1)地址定界
:start_pos[,end_pos]
#:特定的第#行,例如5即第5行
.:当前行
.,+#:当前行,加#行的行范围
$:最后一行
#,#:指定行范围,左侧为起始行,右侧为结束行;
#,+#:指定行范围,左侧为起始行绝对编号,右侧为相对左侧秸的偏移量;例如:3,+7
.,$-1:当前行到倒数第二行
1,$:表示全文
%:表示全文
/pattern/:从光标所在处起始向文件尾部第一次被模式所匹配到的行
/pattern/,$:从光标所在处起始向文件尾部第一次被模式所匹配到的行至文件尾部
/pat1/,/pat2/:从光标所在处起始向文件尾部第一次被第一个模式所匹配到的行至第一次被第二个模式所匹配到的行结束之间的所有行
可同编辑命令一同使用,实现编辑操作:
d
y
c
w /PATH/TO/SOMEFILE:将范围内的文本保存至指定的文件中;
r /PATH/TO/SOMEFILE:将指定的文件中的文本读取并插入至指定位置;
(2)查找
/PATTERN:从当前光标所在处文件尾部查找能够被当前模式匹配到的所有字符串;
?PATTERN:从当前光标所在处文件首部查找能够被当前模式匹配到的所有字符串;
n:下一个,与命令方向相同;
N:上一个,与命令方向相反;
(3)查找并替换
s:末行模式的命令:使用格式
s/要查找的内容/替换为的内容/修饰符
要查找的内容:可使用正则表达式;
替换为的内容:不能使用正则表达式,但可以引用;
如果“要查找的内容”部分在模式中使用分组符号:在“替换为的内容”中使用后向引用;
直接引用查找模式匹配到的全部文本,要使用&符号;
修饰符:
i:忽略大小写
g:全局替换,意味着一行中如果匹配到多次,则均替换
可把分隔符替换为其它非常用的符号:
s@@@
s###
示例:
把全文中的以t开头的单词都改成T开头的单词
:%s@\<t\([[::alpha]]\+\)\>@T\1@g
把全文中的以t开头的单词都加上er
:%s@\<t[[:alpha:]]\+\>@&er@g
删除全文中的以#开头的行中的#
:%s@^#@@
vim的多文件功能:
同时打开多个文件
vim file1 file2 ……
大文件间切换:
:next 下一个
:prev 上一个
:first 第一个
:last 最后一个
退出所有文件:
:wqall 保存并退出所有文件
:wall 保存所有文件
:qall 退出所有文件
多窗口打开多个文件:
-o:水平分割窗口显示不同文件,按ctrl + w 可以在不同文件间切换
-O:垂直分割窗口显示不同文件,按ctrl + w 可以在不同文件间切换
在窗口间切换:ctrl + w , ARROW
注意:单个文件也可以分割成多个窗口进行查看
ctrl+w,s:水平分割窗口
ctrl+w,v:垂直分割窗口
定制vim的工作特性:
注意:在末行模式下的设定,仅对当前vim进程有效
永久有效:
全局:/etc/vimrc
用户个人:~/.vimrc ##这个文件可能不存在,需要自己创建
~]# ll -a | fgrep vim
-rw------- 1 root root 5378 Jun 3 13:52 .viminfo
~]# touch ~/.vimrc && echo set nu > ~/.vimrc
1、行号
启用:set number,简写为set nu
禁用:set nonumber,简写为set nonu
2、括号匹配高亮
启用:set showmatch,简写为set sm
禁用:set nosm
3、自动缩进
启用:set autoindent,简写为set ai
禁用:set noai
4、高亮搜索
启用:set hlsearch
禁用:set nohlsearch
5、语法高亮
启用:syntax on
禁用:syntax off
6、忽略字符大小写
启用:set ic
禁用:set noic
获取帮助:
:help
:help subject
bash脚本编程之算术运算
+,-,*,**,%
算术运算格式:
(1) let VAR=算术运算表达式
(2) VAR=$[算术运算表达式]
(3) VAR=$((算术运算表达式))
(4) VAR=$(expr $ARG1 $OP $ARG2)
注意:乘法符号在有些场景中需要使用转义符
vim文本编辑及文件查找应用2的更多相关文章
- vim文本编辑及文件查找应用3
文件查找 locate,find两个命令 在文件系统上查找符合条件的文件: 实现工具:locate,find locate命令: 依赖于事先构建好的索引库,索引库可以由下边两种方式构建 系统自动实现( ...
- vim文本编辑及文件查找应用1
vim编辑器: 文本编辑器: 文本:纯文本,ASCII text;Unicode(全球通用); 文本编辑种类: 行编辑器:sed 全屏编辑器:nano, ...
- vim文本编辑及文件查找应用4
linux系统上的特殊权限 : 特殊权限有:SUID,SGID,STICKY 安全上下文: 1.进程以其发起者的身份运行:进程对文件的访问权限,取决于发此进程的用户的权限:进程是发起些进程用户的代理, ...
- Linux使用vim进行多文件查找和替换的方法
vim是Linux系统下常用的文本编辑,通过使用多种shell命令能够实现多文件的查找和替换,那么具体会使用到那些命令呢?下面小编就给大家介绍下Linux系统vim多文件查找和替换的方法. 在linu ...
- VIM批量文件查找和替换
使用vim时间不长,linux命令行下常用的文本编辑工具,所以需要掌握一些基本的用法.很多不会的不是百度就谷歌,总有你想要的答案. 1. 批量文件查找内容 vimgrep 比如在当前目录下查找带有“a ...
- Linux的VMWare中Centos7文件查找(find-grep)和vim文本编辑器基操
一.find文件查找 grep 匹配字段 文件名 ——筛选文件 find查找 语法参数示例 格式: find 查找范围 查找类型 参数 find / -name *.conf 按文件名查找 ...
- vim文本编辑工具(全)
VIM文本编辑工具 编辑模式 i 在当前字符前插入I 在光标所在的行首插入a 在当前字符后插入A 在光标所在行尾插入o 在当前行的下一行插入新的一行O 在当前行的上一行插入新的一行 s ...
- (大数据工程师学习路径)第一步 Linux 基础入门----环境变量与文件查找
环境变量与文件查找 本节介绍环境变量的作用与用法,及几种搜索文件的方法.学会这些技巧高效地使用 Linux. 一.环境变量 1.变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变 ...
- 12 文件查找--find命令
之前,我们学习过grep来过滤文件内容,而这种查找找的是某一个文件内的内容:以及 less 或者 man 或者上一节提到的 vim 编辑器中的 / 与 ? 都是用来查找单个文件内的内容.而这一节,我们 ...
随机推荐
- C/C++笔试基础知识
1. int *a[10] :指向int类型的指针数组a[10] int (*a)[10]:指向有10个int类型数组的指针a int (*a)(int):函数指针,指向有一个参数并且返回类型均为in ...
- Shell中特殊字符的含义
$0 这个程式的执行名字 $n 这个程式的第n个参数值,n=1..9 $* 这个程式的所有参数,此选项参数可超过9个. $# 这个程式的参数个数 $$ 这个程式的PID(脚本运行的当前进程ID号) $ ...
- Linux 之 netstat使用
netstat介绍 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast ...
- Note 2: Complain
Note 2: Complain 1. The collection of Linkun's [1]: 1.1suck If someone says that something sucks, th ...
- 【转载】恢复误删文件--DOS命令应用实例(一)
<电脑爱好者>报转载第一辑第二篇之恢复误删文件--DOS命令应用实例(一) 恢复误删文件--DOS命令应用实例(一) 上期我们讲述了 ...
- edusoho twig 引入文件功能
在这里不得不提 edusoho twig 模板引擎了 跟smarty 比较类似 不过感觉还是更好一点儿 这里用的标签就只有一个 {% include '路径/文件名' %} 大家在首页做的改动比较多 ...
- redis的发布和订阅操作
- TIME_WAIT和CLOSE_WAIT的区别
系统上线之后,通过如下语句查看服务器时,发现有不少TIME_WAIT和CLOSE_WAIT. netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) ...
- resful规范: 进行数据交换时的代码潜规则
目前主流的三种web服务交互方案: REST (Representational State Transfer) 表征性状态转移 SOAP (Simple Object Access Protocol ...
- - 多次点击事件 MD