linux文本有:正常模式,编辑模式,可视化模式,命令模式。

正常模式进入编辑模式下的快捷键:

i  --光标当前位置输入

a --光标位置后输入(append)

I --行首输入

A --行尾输入

o --下面新开始一行输入

O --上面新开始一行输入

r --单个字符替换(replace)

R --连续替换

gg --光标定位到第一行

G --光标定位到最后一行

数字+上下左右键   ---指定方向移动多少个字符或行

x --删除光标当前位置所在字符。

X --删除光标前的字符

数字+x/X   --删除光标当前或前多少字符。

d+w  --删除当前单词

D --删除到行尾

d+^  --删除到行首(先按d键然后释放,再按shift+6  删除到行首)

dd  --删除光标所在行

yy --复制光标所在行

数字+yy  --复制多少行

u --撤销(undo)

ctrl+r  --取消撤销

dd --剪切

p  --向下粘贴

P --向上粘贴

数字+p --粘贴多少次

可视化模式下的快捷键:

v  --进入可视化模式。

ctrl+v 
--进入可视化块编辑模式。

y /d/x/p 
--复制/删除/剪切/粘贴。

快速添加注释符#的方法:  Ctrl+v(选中要添加#的n行) 
 I(大写i) 
 #  两次ESC

命令模式:

vim
+ 文件,然后 :set
+........

搜索功能.(less):/pattern, 通过n和N查找关键字.

设置行号:
  :set nu 
  取消行号:set nonu  (number
 缩写 nu.)

搜索时默认区分大小写,要忽略大小写方法:  :set
ic  (ignore-case) 
 不忽略大小写: :set noic.

设置Tab键的占字符大小:
  :set ts=4
 (默认是8)
  (Tab-step)

设置自动缩进:  :set ci
  和
:set si

想使设置永久生效: vim 
~/.vimrc(即再家目录里创建名为.vimrc的隐藏文件),在里面输入保存即可。

:sp 和:vsp
是同一窗口编辑多个文件.

:sp(Ctrl +w+w 切换窗口,Ctrl+w+上下左右):同时编辑两文件,不同文件直接的复制修改等.

最后退出时光标在哪,就退出哪个.横着打开.

而:vsp:竖着打开文件.   
 也可sp + 路径
  vsp+路径

:+数字:光标快速定位到该行.

文本替换功能:

:3,5s/^/#/
           ^
      每一行的开头
 (3-5行添加注释)

:%s/host/a/g 
--将内容中所有的host替换为a.   
--%代表范围,s指search。g指global。

使用g选项,则操作的行中不管有多少个全部替换,若不使用g选项,每行中搜索到的关键词只会替换第一个,后面即使再出现也不发生替换.

%
--指所有行,也可写数字,如10,则替换第10行内容,写3,5则替换3到5行的内容。若不写则代表只替换光标当前行中的内容。

若替换的内容本身有/字符,则可用其他字符替代。如采用分号。 :%s;h/ost;a;g 
  --将h/ost替换为a

只替换在行头的关键字:
  s/^root/wahaha/g

退出编辑的命令:

:q  --退出

:q!  --强制退出

:w  --保存

:wq  --保存退出

:wq! --强制保存退出

:x --保存退出。

:ZZ --保存退出。

:r 
--将文件追加进当前文件,可使用:r+文件路径将其他文件的内容追加到当前文件后面。

:%d  --删除所有内容

linux文本模式和文本替换功能的更多相关文章

  1. RedHat Linux文本模式下乱码解决方法

    如果在安装RedHat Linux时选择中文未缺省语言,在文本模式下会出现乱码情况,对于在CLI(command-line interface,命令行界面)方式下调试程序时诸多不便,因为出错信息全是乱 ...

  2. linux文本模式下使用PPPOE拨号ADSL上网的方法

    转自:http://www.myzhenai.com.cn/post/945.html 转载请注明出处:http://www.myzhenai.com/thread-15431-1-1.html ht ...

  3. XCode4中的文本查找和文本替换功能

    转自:http://blog.csdn.net/zhuzhihai1988/article/details/7843186 1.如果是在打开的文档范围内:       查找: Command+ F   ...

  4. Linux中图形界面和文本模式相互切换

    1.默认开机进入文本模式 如果想让开机自动进纯文本模式, 修改/etc/inittab 找到其中的 id:5:initdefault: 这行指示启动时的运行级是5,也就是图形模式 改成3就是文本模式了 ...

  5. 鸟哥的linux私房菜学习-(三)X Window与文本模式的切换

    通常我们也称文本模式为终端机接口, terminal 或 console喔!Linux默认的情况下会提供六个Terminal来让使用者登陆, 切换的方式为使用:[Ctrl] + [Alt] + [F1 ...

  6. Linux的图形模式和文本模式以及单用户模式切换

    1.默认开机进入文本模式 如果想让开机自动进纯文本模式, 修改/etc/inittab 找到其中的 id:5:initdefault: 这行指示启动时的运行级是5,也就是图形模式 改成3就是文本模式了 ...

  7. Linux mint 启动文本模式(不启动图形界面)

    Linux Mint 系统用了很久,很顺手,赞一个! 有一天想同时运行多个虚拟机linux系统做实验,想着只启动文本模式可以省点内存资源,结果试了多种方法都不成功,网上现有针对Ubuntu原版和Cen ...

  8. Linux文本处理三剑客之sed

    推荐新手阅读[酷壳]或[骏马金龙]开篇的教程作为入门.骏马兄后面的文章以及官方英文文档较难. [酷壳]:https://coolshell.cn/articles/9104.html [骏马金龙-博客 ...

  9. Linux系列教程(十)——Linux文本编辑器vim

    通过前面几篇博客我们终于结束了Linux常用命令的介绍,Linux常用命令主要包括以下: ①.Linux文件和目录处理命令 ②.Linux链接命令和权限管理命令 ③.Linux文件搜索命令 ④.Lin ...

随机推荐

  1. 第一章 数据库管理员(DBA)

    一.DBA的工作 1.初级:mysql基础安装.搭建 2.中级:数据库管理员DBA 1)用户管理 1.用户的权限2.用户可以操作的库或者表3.用户名和来源的主机4.用户的密码​grant all on ...

  2. SE第一次作业

    作业一.对软件工程的初步认识 下面是我对于软件工程的认识,结合自己的理解和课上听讲的内容 软件工程=软件+工程?软件工程是否就是简单的软件+工程呢?那么我们先来看下各自的概念. 那么什么叫软件呢,既然 ...

  3. RPM与YUM使用

    1.RPM 1.1RPM简介 RPM全名RedHat Package Manager 优点: 1. 由于已经编译完成并且打包完毕,所以软件传输与安装上很方便 (不需要再重新编译): 2. 由于软件的信 ...

  4. 浅谈ES6——ES6中let、const、var三者的区别

    在了解let.const.var的区别之前,先了解一些什么是es6 Es6 全称ECMAscript 是JavaScript语言的一个标准,其实Es6本质就是JavaScript的一个版本,为什么叫E ...

  5. 如何实现 axios 的自定义适配器 adapter

    Axios 是一个非常优秀的基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中.并且提供了很多便捷的功能,例如: 支持 Promise API 拦截请求和响应 转换请求数据和 ...

  6. Mysql JDBC-mysql-Driver queryTimeout分析

    Mysql jdbc的queryTimeout分析 Mysql的jdbc-driver com.mysql.jdbc.Driver 设置queryTimeout方法 com.mysql.jdbc.St ...

  7. windows下nginx中配置端口转发 ----本文来自转载

    什么是端口转发 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 转载原文链接:https://www.cnblogs.com/chanshuyi/ ...

  8. Java面试题集(二)list与Map相关知识(1.2)

    前言: 在平常的写java程序中,常用除了8种常用数据类型,String对象外,还有集合类,例如ArrayList,HashMap等,这些最常用. 一.List接口 List接口为Collection ...

  9. 批量安装Zabbix_Agent

    使用自动化部署工具Ansible批量部署zabbix_agent. 1. 安装Ansible yum –y install ansible 内网情况下,现在ansible及其依赖的rpm包,添加到yu ...

  10. Kubernetes 使用 Ingress 实现灰度发布功能

    使用 Ingress 实现灰度发布 一.Canary 规则说明 Ingress-Nginx 是一个K8S ingress工具,支持配置 Ingress Annotations 来实现不同场景下的灰度发 ...