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. 【CodeForces】835F Roads in the Kingdom

    一.题目 题目描述 王国有\(n\)座城市与\(n\)条有长度的街道,保证所有城市直接或间接联通,我们定义王国的直径为所有点对最短距离中的最大值,现因财政危机需拆除一条道路并同时要求所有城市仍然联通, ...

  2. Golang 随机生成中国人姓名

    package main import ( "fmt" "math/rand" "time" ) var lastName = []stri ...

  3. html中object标签

    首先将这个强大web页面打印例子(pintTest.html)贴上来. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional ...

  4. python GDAL 读写shp文件

    gdal包用于处理栅格数据,ogr用于处理矢量数据. 1 #!C:\Program Files\pythonxy\python\python.exe 2 #-*- coding:gb2312 -*- ...

  5. MySQL数据库基础-3

    SQL语言 结构化的查询云烟 有国际标准. 非常容易学习的,关注数据本身,类似于shell SQL解释器 命令行效率比较高 应用编程接口 ODBC:Open Database Connectivity ...

  6. vue路由传参及组件传参和组件方法调用

    VUE路由和组件传参 第一种vue自带的路由传参的三种基本方式 1.通过name :id传参 子组件通过$route.name接收参数 { path: '/particulars/:id', name ...

  7. 【总结】java基础

    一.基础语法 1.数据类型 (1)基本数据类型:byte(1字节,-27~27-1),short(2字节,-215~215-1),int(4字节,-231~231-1),long(8字节,-263~2 ...

  8. Jmeter CSV数据文件设置使用之一

    第一步: 在Jmeter 里,新建CSV数据文件设置,选择对应的文件,变量名称根据需要自己取,如bug,test,如下图所示: 第二步: 配置Jmetet 数据源,参数对应的名称要与CSV数据文件设置 ...

  9. MobileNet——一种模型轻量化方法

    导言 新的CNN网络的提出,提高了模型的学习能力但同时也带来了学习效率的降低的问题(主要体现在模型的存储问题和模型进行预测的速度问题),这使得模型的轻量化逐渐得到重视.轻量化模型设计主要思想在于设计更 ...

  10. 【无思路题目】Leetcode-1640. 能否连接形成数组

    [JAVA]参考题解 1.思路是这样子的,先用哈希表的key存下pieces的每一行的第一个元素即p[0],然后value存放相应的一维数组: 2.然后遍历arr数组,先查看每个值是否在map中,若存 ...