从零开始学Linux系统(四)之Vi/Vim操作指令
模式切换:
编辑模式 <-- 【:】<--命令模式 -->【a、i、o A、I、O】--> 插入模式
编辑模式操作:
设置行号 :set nu :set nonu
复制剪切内容命令:
由此可有:
:9,15 move 16 或 :9,15 m 16 将第9行到第15行的文本内容到第16行的后面
行号移动: gg(第一行) G(最后一行) nG/:n
移动: h、j、k、l 0 $ H、M、L
跳转到文件头:1
跳转到文件尾:$
搜索:
/『搜索的字符』 n下一个 N上个 忽略大小写 :set ic
选择行:V
复制 yy/Y nyy/nY
剪切 dd ndd 粘贴 p/P
替换:
r R + Esc
全文替换指定字符串 :%s/原串/新串/g 或者 :%s/原串/新串/c 【多一个判断】
n1到n2行范围替换指定字符串 :n1,n2s/原串/新串/g :n1,n2s/原串/新串/c
删除: x nx dd ndd dG D :n1,n2d
撤销 u
保存退出:
:wq! 只有root和文件所有者可以无跨w权限,这样使用
Vim技巧:
导入文件 :r 文件名
执行命令 :! 命令名
定义快捷键: :map Ctrl+P I#<ESC> 在行首加#号
:map Ctrl+B 0x 将行首的字符去掉
:unmap
替换::ab aa bb 将aa变为bb :unab aa
举例:
使用命令组合
:r !date 作用是导入日期
grep -v “^#” 文件名 | more 排除#开头的行,提取有效行
定义快捷键:
:map Ctrl+P I#<ESC> 在行首加#号
:map Ctrl+B 0x 将行首的字符去掉
:unmap
:n1,n2s/^/#/g 连续行的注释,加#
:n1,n2s/^#//g 连续行的注释,去掉#
:n1,n2s/\/\//g 连续行的注释,加//, \为转义符
例:替换为真实的邮箱地址
:ab mymail jinxinzhao@creditease@.cn
:unab myail #取消设置
保存对Vim的永久修改配置:
修改vi的缺省的配置文件:home目录下 Users/home
vi ~/.vimrc vi root/.vimrc 注:用 '' 注释;
其他:
找会使查找字一直显示高亮 :nohl 可以取消高亮
从零开始学Linux系统(四)之Vi/Vim操作指令的更多相关文章
- 从零开始学Linux系统(二)之基本操作指令
ifconfigping ip地址帮助:ping -t ip地址ping -c 次数 ip地址ping -s 包的大小关机重启:shutdown -h now reboot清屏:clear == C ...
- Linux系统中的vi/vim指令【详解】
vi是Unix世界里极为普遍的全屏幕文本编辑器,vim是它的改进版本Vi IMproved的简称.几乎可以说任何一台Unix机器都会提供这套软件. 只要简单的在Shell下执行vi就可以进入 vi 的 ...
- 小白学Linux(五)--VI/VIM编辑器
我们操作文件,终究离不开编辑文件,对文件内容的编辑,Linux系统下,我们通常使用VI/VIM来编辑文件.VI是每个Linux都会自带的文本编辑器,VIM是VI的增强版,可能有些发行版本没有自带,可以 ...
- 从零开始学Linux系统(一)之引导流程解析
Linux系统:分时多用户多任务的操作系统: Linux系统引导流程: inittab配置文件中: 定义了linux系统的运行的7个级别:从0~6 0.6:分别代表关机和重启,不建议设置为默认的运行级 ...
- 从零开始学Linux系统(三)安装CentOS-7及软件包管理操作
推荐博文: VirtualBox安装CentOS7步骤详解: https://my.oschina.net/AaronDMC/blog/840753 如何安装CentOS7字符界面 :http://b ...
- 从零开始学Linux系统(五)用户管理和权限管理
权限管理: 常识: chmod U-所有者 g-所属组 O-其他人r-4-可读 w-2-可写 x-1-可执行 s-4-SetUID s-2-SetGID t-1-粘着位 注:目 ...
- 新手必学linux文本文件编辑命令 vi vim.....
作为一名Linux新手小白,今天就和大家简单地了解一下Linux的Vim文本编辑器的使用. Vim文本编辑器 vim编辑器的三大模式——命令模式.编辑模式和末行模式 命令 ...
- 从零开始学Xamarin.Forms(四) Android 准备步骤(添加第三方Xamarin.Forms.Labs库)
原文:从零开始学Xamarin.Forms(四) Android 准备步骤(添加第三方Xamarin.Forms.Labs库) 1.安装对应dll Update-Package Xama ...
- 一般的linux系统默认安装的vim是精简版
一般的linux系统默认安装的vim是精简版(vim-tiny),所以不能配置语法检查等属性或获取在线帮助.需要安装vim-x:x.x.x,vim-common,vim-runtime. :synta ...
随机推荐
- lr 常用操作
lr脚本编写语法: web_add_cookie();:服务器注入cookies lr_save_string("网址或其他","参数2");:一个保存函数,它 ...
- OpenMPI源码剖析3:try_kill_peers 和 ompi_rte_abort 函数
接着上一篇的疑问,我们说道,会执行 try_kill_peers 函数,它的函数定义在 ompi_mpi_abort.c 下: // 这里注释也说到了,主要是杀死在同一个communicator的进程 ...
- lock+Condition
关键字 synchronized+wait/notify/notifyAll可以实现等待/通知模式,类ReentrantLock可以实现同样的功能,但需要借助Condition对象.Condition ...
- 【Linux 运维】查看网络连接状态信息之netstat和ss命令详解
一.netstat 常用命令详解 通过man netstat可以查看netstat的帮助信息: netstat 命令:用于显示各种网络相关信息,如网络连接,路由表,接口状态,无效连接,组播成员 等等. ...
- 隐马尔科夫模型(hidden Markov Model)
万事开头难啊,刚开头确实不知道该怎么写才能比较有水平,这篇博客可能会比较长,隐马尔科夫模型将会从以下几个方面进行叙述:1 隐马尔科夫模型的概率计算法 2 隐马尔科夫模型的学习算法 3 隐马尔科夫模型 ...
- Kali渗透测试工具-nslookup
1.交互模式 终端输入nslookup进入交互模式 (1)查询A地址记录(默认) set q=a A记录简单理解将域名转换成对应的IP地址 (2)查询mail exchanger set q=mx m ...
- openstack对接VMware浅析
前言 本文是对openstack对接vmware的浅析,所以本文重点是以下两点: 先了解它的整体架构,搞清楚为什么要用这样的架构: 然后再了解架构中的各个组件,组件提供的主要功能与各个组件之间的交互 ...
- SpringCloud IDEA 教学 (三) Eureka Client
写在前头 本篇继续介绍基于Eureka的SpringCloud微服务搭建,回顾一下搭建过程, 第一步:建立一个服务注册中心: 第二步:建立微服务并注入到注册中心: 第三步:建立client端来访问微服 ...
- 《剑指Offer》题三十一~题四十
三十一.栈的压入.弹出序列 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的数字均不相等.例如,序列{1, 2, 3, 4 ,5}是某栈的压栈序列 ...
- Java容器之Map接口
Map 接口: 1. 实现 Map 接口的类是用来存储键-值(key-value)对: 2. Map 接口的实现类有 HashMap 和 TreeMap 等: 3. Map 类中存储的键-值对,通过键 ...