deepin linux 学习笔记(二)——文本编辑器

前言

今天来谈一下linux的编辑器,特别是命令行下面的文本编辑器。在视窗环境下有很多可以用,也很容易操作的文本编辑器,但是linux经常会需要在命令行下面编辑文本,比如一些配置文件的修改,这就要求要熟练相关的工具。

老实说,新手进入linux,往往会碰到过于强大的linux命令,强大的代价就是学习成本高。本来新手想做一件很简单的事情,但是却给了一件大杀器给他。比如文本编辑器vim就是这么一件大杀器。不过今天我也会介绍一个非常适合新手的友好小编辑器,它叫nano。

nano 小巧的命令行编辑器

nano a.x #编辑a.x

虽然是命令行工具,但是打开nano之后会有一种字符版的视窗的感觉,上面有标题栏,下面是菜单栏,通过快捷键可以操作菜单。其中^X表示Ctrl键+x键。M-表示Alt键。

比较常用的快捷键有:

通用

^G 帮助

^X 退出

^O 写入

^W 查找

^Q 反向查找

^L 刷新

^Z 挂起

编辑

M-U 撤销

M-E 重做

^K 剪切

^U 粘贴

M-shift 6 复制

M-A 标记

M-T 删除至结尾

M-V 插入按键原型

M-3 注释/反注释

^] 补全

定位

^_ 跳转到行列

M-] 移动到括号

M-W 重复上次搜索

M-up 向前搜索

M-down 向后搜索

^left 向前跳一单词

^right 向后跳一单词

home 行首

end 行尾

M-- 锁定游标平移到上一行

m-+ 锁定游标平移到下一行

^up 前一段

^down 后一段

M-shift ( 段落开头

M-) 段落结尾

^Y 上页

^V 下页

^home 全文起点

^end 全文终点

排版

^J 对齐段落

^T 自动排版

M-j 对齐全文

shitf Tab 取消缩进

配置

M-X 辅助模式

M-Y 语法高亮

M-I 自动缩进

M-shift 3 开关行号

虽然简单,但是复制粘贴操作和windows不一致,所以还是要记一下。如果想要玩的溜,那么对定位和标记的掌握就要更加熟练一些了。

比如复制全文,粘贴的操作:

^home | M-A | ^end | M-shift 6

全删的操作:

^home | M-T 或者^end | M-A | ^home | ^K

一般用剪切来完成删除操作,用标记完成选择操作,在选择的时候可以用定位操作来控制选择范围。注意游标的位置,操作结果和游标密切相关。

vim 思路独特的超级编辑器

vim这个编辑器,喜欢的人吹上天,但是对新手来说非常不友好。因为你不小心打开它,甚至不知道怎么退出而选择重启电脑。因此,vim必须经过正规学习,经专人指导使用才会比较愉快。

vim分三个工作模式:

  1. 命令模式  ESC键进入
  2. 插入模式  i键a键o键R键c键s键进入
  3. 底线模式  :键进入
vi a.x #打开a.x文件,进入命令模式

命令模式

打开文件后,界面比nano还要简单,几乎没有任何提示。在下方是状态栏。默认进入的是命令模式。所谓命令模式,它实际上重新定义了键盘的语义,所以在这模式下无法自由输入文字(这也是为何新手进入这个模式会手忙脚乱的原因)。可以将命令模式看做是一个高效的操作台,包含五类简短命令:

  1. 移动光标
  2. 立即命令
  3. 范围操作
  4. 特殊操作
  5. 双按键命令

移动光标

h 左,j 上,k 下,l 右

home 行首,end 行尾

+ 下行,- 上行

H 页开始行,M 页中间行,L 页尾行

gg 全文首行,G 全文尾行

30h #左30次
3回车 #下移3行
3空格键 #右移3字符

搜索替换

/str 向后搜索str,?str 向前搜索str,n 重复搜索,N 反向搜索

复制、粘贴、删除、合并行

x 相等于del键,X 相当于back键

c3h 删除前3个字符并进入插入模式

dd 删除一行

yy 复制一行

p 粘贴插入到下一行,P 粘贴插入到上一行

J 将下一行合并到本行

u 撤销,ctrl r 重做,. 重复上一次操作

dG #删除光标位置到全文结束,d+光标指令确定删除范围
cL #c+光标指令,并进入插入模式

存盘、退出

ZZ 存盘退出,

ZQ 不存盘退出

插入模式

命令模式下,然后:

  1. i 当前光标插入
  2. a 当前光标后插入
  3. I 行首插入
  4. A 行尾插入
  5. o 当前行下新增一行,插入
  6. O 当前行上新增一行,插入
  7. c+光标 删除范围内的字符,插入
  8. C 删除至行尾,插入
  9. r 替换当前字符,然后返回命令模式
  10. R 替换字符直到按Esc返回命令模式
  11. s 删除字符,插入
  12. S 删除行,插入

按Esc键返回命令模式。

底线模式(末行模式)

命令模式下按 :键进入底线模式,即在屏幕下方录入命令行。运行命令行后自动退回命令模式。基本上复杂的操作都是通过末行模式的命令行来实现的。

常用的命令行:

    set nu #开启行号
set nonu #关闭行号
r a.x #读取a.x文件
1,3 co 4 #复制1至3行插入到4行后
1,3 m 5 #移动1至3行到5行后
1,3 d #删除1-3行
1,3 s/str1/str2/g #用str2替换str1,在1-3范围内
1,3 s/^/#/g #将1-3行注释掉
w a.x #保存到a.x
q! #不保存退出,!代表强制
wq #存盘并退出
!ls #输入外部命令

以上只是关于vim的九牛一毛的知识。因为一本比较丰富的vim教程大概有几百页的内容量吧。当然作为一个工具,光学习知识是没有作用的,关键在于平时使用积累。

deepin linux 学习笔记(二)——文本编辑器的更多相关文章

  1. linux/linux学习笔记-vim文本编辑器(mooc)

    vim文本编辑器 vim与vi的区别:( vim=vi +IMproved) VIM是一个Unix以及类unix文本编辑器 特点:功能强大,高度可定制 vim编辑器的三种模式:一般模式.编辑模式和命令 ...

  2. deepin linux学习笔记

    目录 deepin linux学习笔记 前言 linux常用命令 ls 显示文件夹内容 cd 切换当前目录 pwd 查看当前工作目录 mkdir 新建文件夹 rm 删除文件或文件夹 mv 移动文件 c ...

  3. Linux学习笔记(四) vi编辑器

    一.vi 编辑器 vi 编辑器 (Visual Interface) 是所有 Unix 及 Linux 系统下标准的编辑器,相当于 Windows 系统中的记事本 它有三种模式,分别是: Comman ...

  4. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

  5. deepin linux学习笔记(四)进不去图形界面怎么办?

    目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...

  6. linux 学习笔记二

    笔记二 命令行格式 command [-options] parameter1 parameter2 ... 命令 选项 参数(1) 参数(2) options 和 参数 不是必须的 帮助命令 man ...

  7. linux学习笔记二:三种网络配置

    本文引用自:https://www.linuxidc.com/Linux/2017-05/144370.htm [linux公社] VMware为我们提供了三种网络工作模式,它们分别是:Bridged ...

  8. Linux学习笔记之VIM编辑器

    此处根据需要,只罗列一些常用的指令和用法 五.VIM程序编辑器 Vi与vim Vi打开文件没有高亮注释,vim有,且vim是vi的高级版本 Vim默认打开文件为命令模式 i               ...

  9. linux学习笔记二-----文件权限管理

    一.分析文件权限(ln -s 文件名 快捷方式名 用来创建文件的快捷方式,下方ll查看信息时会在第一个字符处显示l) [hjp@bogon ~]$ ll total 4 drwxrwxr-x. 2 h ...

随机推荐

  1. JAVA基础知识(一)—JAVA概述

    JAVA概述 1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒.PDA等的微处理器: 1994年将Oak语言更名 ...

  2. 史诗级Java资源大全中文版

    本文来自GitHub 上 Awesome - java 系列的资源整理.awesome-java 就是 akullpp 发起维护的 Java 资源列表,内容包括:构建工具.数据库.框架.模板.安全.代 ...

  3. 设计模式之面向切面编程AOP

    动态的将代码切入到指定的方法.指定位置上的编程思想就是面向切面的编程. 代码只有两种,一种是逻辑代码.另一种是非逻辑代码.逻辑代码就是实现功能的核心代码,非逻辑代码就是处理琐碎事务的代码,比如说获取连 ...

  4. 浅谈CSS3 box-sizing 属性 有趣的盒模型

    盒模型的组成大家肯定都懂,由里向外content,padding,border,margin. 盒模型是有两种标准的,一个是标准模型,一个是IE模型. 从上面两图不难看出在标准模型中,盒模型的宽高只是 ...

  5. 《ASP.NET MVC 5 高级编程》学习笔记

    前言: 记得当初培训的时候,学习的还是ASP.NET,现在回想一下,图片水印.统计人数.过滤器....HttpHandler是多么的经典! 不过后来接触到了MVC,便立马爱上了它.Model-View ...

  6. Snapde一个全新的CSV超大文件编辑软件

    今天介绍如果数据量超过104万行Excel无法打开了,用什么软件可以打开呢?Snapde,一个专门为编辑超大型数据量CSV文件而设计的单机版电子表格软件:它在C++语言开发的Snapman多人协作电子 ...

  7. Android之日志管理(Log)

    ##文章大纲一.为什么要使用日志管理工具二.日志管理工具实战三.项目源码下载 ##一.为什么要使用日志管理工具###1. 对IT安全至关重要  当您使用强大的日志管理软件自动触发以保护您的系统时,您已 ...

  8. 在Docker中体验数据库之Microsoft SQL Server

    前面记录了一下在docker中体验mongodb和mysql.今天记录一下mssql……其实早就体验了,就是没有记录,前几天看了一下2019的一些新闻,很喜欢Polybase这个特性,想体验一把,可惜 ...

  9. JAVAFX之tableview界面实时刷新导致的内存溢出(自己挖的坑,爬着也要出来啊0.0)

    这几天遇到了一个问题,不幸开发的一个cs架构的工具,客户端开启后,内存一直在缓慢增长最终导致进程卡死,花了4天时间,终于爬出来了... 客户端通过timer定时器每30秒查询一次数据库以及一些业务逻辑 ...

  10. python 基础语法梳理(二)

    1.gevent使用 # -*- coding: utf-8 -*- import gevent import platform from gevent import subprocess def _ ...