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 编辑器中的 / 与 ? 都是用来查找单个文件内的内容.而这一节,我们 ...
随机推荐
- iOS-AVFoundation实现二维码(ios7以上,转载)
关于二维码扫描有不少优秀第三方库: ZBar SDK 里面有详细的文档,相应介绍也非常多,如:http://rdcworld-iphone.blogspot.in/2013/03/how-to-use ...
- 启动Nginx 出现 nginx: [emerg] unknown directive "锘?user" 错误
出现这种情况 一般是修改配置文件 nginx.conf 造成的 如果你修改文件后出现 那基本上就是这个原因 启动不了 重新打开 改为UTF-8 无BOM编码
- 字符编码笔记:ASCII,Unicode 和 UTF-8(理解)
1.ASCII 码 美国制定的字符编码规则,对英语字符与二进制位之间的关系做了统一规定. 占一个字节,8 位,最多可表示 2^8 = 256 种状态(字符) 实际共有 128 个字符,只占用一个字节的 ...
- Vue CLI 3 如何自定义 js 的文件名
参考链接:https://blog.csdn.net/weixin_33979363/article/details/88742342
- Reactor系列(四)subscribe订阅
#java# #reactor# #subcribe# #订阅# 视频讲解 :https://www.bilibili.com/video/av79117693/ FluxMonoTestCase.j ...
- HDU1401(双向BFS)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=1401 给你8*8的棋盘和4个棋子初始位置.最终位置,问你能否在8次操作后达到该状态. 思路: 双向BFS, ...
- lg 1478
好多天没碰代码了,感觉忘得差不多了,没有学习感觉罪恶深重,从今天起开始补题啊啊! 简单零一背包,套模板就行. #include<bits/stdc++.h> using namespace ...
- multipart/form-data(二进制流) 两种传输方式
一.传统表单提交传输方式 <form id= "uploadForm" action= "url" method= "post" en ...
- 【第一季】CH08_FPGA_Button 按钮去抖动实验
[第一季]CH08_FPGA_Button 按钮去抖动实验 按键的消抖,是指按键在闭合或松开的瞬间伴随着一连串的抖动,这样的抖动将直接影响设计系统的稳定性,降低响应灵敏度.因此,必须对抖动进行处理,即 ...
- html5手机网页开发,中文输入法下软键盘遮挡输入框
安卓手机解决办法 微信UI框架weui中给出了解决方法:weui框架http://weui.github.io/weui/example.js // .container 设置了 overflow 属 ...