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. spring-security-结合JWT的简单demo

    spring-security-demo 前言:本来是想尽量简单简单点的写一个demo的,但是spring-security实在是内容有点多,写着写着看起来就没那么简单了,想入门spring-secu ...

  2. 测试-python相关

    python基础 一行代码实现1~100累加,不使用for循环 方式一: sum(range(1,101)) 方式二: 1 from functools import reduce 2 reduce( ...

  3. 【编程学习笔记】如何组织构建多文件 C 语言程序!编程也有~

    优秀 Unix 程序哲学 首先,你要知道这个 C 程序是一个 Unix 命令行工具.这意味着它运行在(或者可被移植到)那些提供 Unix C 运行环境的操作系统中.当贝尔实验室发明 Unix 后,它从 ...

  4. docker设置http访问

    1 编辑配置文件    vim /etc/docker/daemon.json { "registry-mirrors": ["https://a4fyjv0u.mirr ...

  5. centos6.8 架设 Telnet 服务

    centos6.8 架设 Telnet 非常简单 百度云下载RPM,然后上传到服务器 链接:https://pan.baidu.com/s/1w91HBf1TOJsZsqBMQnO7tA 提取码:au ...

  6. python 虚拟环境安装

    windows虚拟环境的搭建 安装 # 建议使用pip3安装到python3环境下 pip3 install virtualenv pip3 install virtualenvwrapper-win ...

  7. IDEA2020.2版本无法开启KDE全局菜单的解决方案

    IDEA2020.2版本无法开启KDE全局菜单的解决方案 前言 :更新了2020.2之后全局菜单一直不生效,一直找不到解决的办法,就退回了2020.1,今天又试了一次,成功解决全局菜单显示问题. 之前 ...

  8. VS 2019 远程调试

    一.简介 今天遇到一个问题,本地调试无任何问题,但是发布后代码服务器端响应总是不对.所以想调试下.故搞个远程调试.现在先配置下工具.步骤如下. 二.步骤 2.1.远程访问工具下载 地址:https:/ ...

  9. jq animate 的第二写法

    俩个参数的写法 例子: $('#div1').animate({num:'auto'},{ duration : 1000,   //运动时间 easing : 'linear',    //运动形式 ...

  10. uniapp使用swiper组件做tab切换动态获取高度

    swiper对高度进行了限制,所以说通常做出了tab切换的效果但是内容经常被截取掉???? 所以我在前端做了一个动态获取高度的功能 选项卡标题也就是tab切换的效果 选项卡内容区域的高度自适应 因为进 ...