Linux文本编辑器

Linux文本编辑器

Linux系统下有很多文本编辑器。

按编辑区域:

  • 行编辑器 ed

  • 全屏编辑器 vi
    按运行环境:

  • 命令行控制台编辑器 vi

  • X Window图形界面编辑器 gedit

ed

它是一个很古老的行编辑器,vi这些编辑器都是ed演化而来。
每次只能对一行进行操作。

vi和vim

  • vi在是UNIX平台上历史悠久的编辑器,是“visual interface”的缩写,vi是UNIX平台上可视化编辑器(或者说基于屏幕的编辑器)的代表
  • vim意为vi IMproved,增强版vi,里面加入了如彩色与高亮显示,多窗口分屏等特性

emacs

emacs编辑器是自由软件基金会发行的软件产品
。emacs的功能很强大,使用它几乎可以解决用户与操作系统交互中的所有问题。

gedit

它是一个在GNOME桌面环境下兼容UTF-8的文本编辑器。
gedit包含语法高亮和标签编辑多个文件的功能,对中文支持很好,支持包括GB2312、GBK在内的多种字符编码。

vi

vi 模式切换

image.png
image.png

文件打开

  • vi /path/to/file
  • vi +n filename
    打开文件后把光标置于第n行
  • vi + filename
    打开文件后把光标置于最后一行
  • vi filename1 filenam2 filename3…
    末行模式下采用 e filename进行切换:e filename

末行模式-文件保存并退出

:q 		#quit
:q! 		#强制退出
:w 		#write
:w filename 	#另存为
:wq 	#写入后退出
:wq!  	#写入后退出

末行模式-设置行号

:set nu | :set number   #显示所有行号:nu | :number    #显示光标所在行号:set nonu | :set nonumber  #取消行号显示vi ~/.vimrc 长期保存

末行模式-搜索

  • / < pattern> 向光标以下搜索
  • ? < pattern> 向光标以上搜索
    - n 向下搜索下一个匹配项
    - N 向上搜索上一个匹配项

末行模式-替换

:s/x/y 
把光标所在行首次出现的x替换为y
:s/x/y/g
把光标所在行中所有的x替换为y
:n,m s/x/y/g
把第n行到m行中所有的x替换为y
:% s/x/y/g
把当前文件中所有的x替换为y

命令模式-移动光标

  • h(左),j(下),k(上),l(右) 上下左右键
  • 0,^ 移动到行首
  • $ 移动到行未
  • w 向下移动到一个字首 w
  • e 向下移动到一个字尾 e
  • b 向上移动到一个字首 b
  • Ctrl + b | f | u | d
    上翻一页 | 下翻一页 | 上翻半页 | 下翻半页
  • gg | G 定位第一行行首
  • G 定位末行行首
  • gg | H | G 定位到第n行
  • + 向下移动n行
  • - 向上移动n行
  • ( 上一句
  • ) 下一句
  • { 上一段
  • } 当前段

命令模式-删除&恢复

  • x | x 删除n字符

  • dd | dd 删除n行

  • u 撤销上一步操作

  • U 撤销对当前行的所有操作

命令模式-复制&粘贴

  • yy | yy 复制
  • p 粘贴

命令模式-替换

  • r |< n > r
    替换光标所在字符(相同字符)
    自动退出
  • R
    进入替换模式
    替换光标所在字符,直到按下Esc
    不会自动退出

image.png

命令模式-进入插入模式

  • i 在光标左侧插入

  • a 在光标右侧插入

  • o 在光标所在行的下一行插入

  • s 删除光标所在字符

  • I 在光标所在行首插入

  • A 在光标所在行尾插入

  • O 在光标所在行的上一行插入

  • S 删除光标所在行

vi与Shell交互

在末行模式下用“!”符号来访问Linux的Shell

!cat /etc/passwd | more! /bin/bash 

文本格式转换-UNIX2dos和dos2UNIX

  • Windows 换行结束符号有两个控制字符,一个是归位字符(carriage return,^M),另一个是换行字符(new line,^J)。
  • Linux中只使用一个换行字符\n(功能同^J)。
unix2dos filename
unix2dos –n filename newfilename

补充

命令模式下:
ZZ 保存退出

末行模式下:
:x 保存退出(低版本vi可能无效)

命令模式下:
t: 光标移动到目标字符前
T: 光标反向移动直到目标字符后
< n >t< pattern>

f: 行内搜索目标字符
F: 行内反向搜索目标字符
< n >f< pattern>

删除文本所有内容
gg //跳到第一行
dG //删除所有内容
删除指定行之间的内容
: n,m d //删除第n到第m行之间的内容
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Alpha第十天

Alpha第十天 听说 031502543 周龙荣&#xff08;队长&#xff09; 031502615 李家鹏 031502632 伍晨薇 031502637 张柽 031502639 郑秦 1.前言 任务分配是VV、ZQ、ZC负责前端开发&#xff0c;由JP和LL负责建库和服务器。界面开发的教辅材料是《第一行代码》&#xff0c;利用And…

Streamlit —使用数据应用程序更好地测试模型

介绍 (Introduction) We use all kinds of techniques from creating a very reliable validation set to using k-fold cross-validation or coming up with all sorts of fancy metrics to determine how good our model performs. However, nothing beats looking at the ra…

Spring MVC Boot Cloud 技术教程汇总(长期更新)

昨天我们发布了Java成神之路上的知识汇总&#xff0c;今天继续。 Java成神之路技术整理&#xff08;长期更新&#xff09; 以下是Java技术栈微信公众号发布的关于 Spring/ Spring MVC/ Spring Boot/ Spring Cloud 的技术干货&#xff0c;本文长期更新。 Spring 系列 Java 必看的…

X Window系统

X Window系统 一种以位图方式显示的软件窗口系统。诞生于1984&#xff0c;比Microsoft Windows要早。是一套独立于内核的软件 Linux上的X Window系统 X Window系统由三个基本元素组成&#xff1a;X Server、X Client和二者通信的通道。 X Server&#xff1a;是控制输出及输入…

冒名顶替上大学罗彩霞_什么是冒名顶替综合症,您如何克服?

冒名顶替上大学罗彩霞冒名顶替综合症 (Imposter Syndrome) Imposter Syndrome is a feeling of being a fraud or not being good enough to get the job done. Its common among software engineers, developers and designers working in tech companies, especially those n…

Linux命令----用户管理

修改用户密码&#xff1a; sudo passwd &#xff08;当前&#xff09;用户名  【sudo是super user do的简写&#xff0c;passwd是password的简写】 显示当前正在操作系统的用户&#xff1a;whoami   显示当前登录系统的用户信息&#xff1a;who am i 注意&#xff1a; 普通…

lasso回归和岭回归_如何计划新产品和服务机会的回归

lasso回归和岭回归Marketers sometimes have to be creative to offer customers something new without the luxury of that new item being a brand-new product or built-from-scratch service. In fact, incrementally introducing features is familiar to marketers of c…

python代码

原始字符串&#xff0c;不做任何特殊的处理 print("Newlines are indicated by \n")#Newlines are indicated by print(r"Newlines are indicated by \n")#Newlines are indicated by \n 格式输出&#xff0c;转化为字符串由format自动完成 ag…

Linux 设备管理和进程管理

设备管理 Linux系统中设备是用文件来表示的&#xff0c;每种设备都被抽象为设备文件的形式&#xff0c;这样&#xff0c;就给应用程序一个一致的文件界面&#xff0c;方便应用程序和操作系统之间的通信。 设备文件集中放置在/dev目录下&#xff0c;一般有几千个&#xff0c;不…

乐高ev3涉及到的一些赛事_使您成为英雄的前五名开发者技能(提示:涉及LEGO)

乐高ev3涉及到的一些赛事Programming is like building something with LEGOs. Any developer can pick up a brand new LEGO set and build it following the instructions. This is very easy. Think of it as coding school assignments or entry level tutorials.编程就像用…

贝叶斯 定理_贝叶斯定理实际上是一个直观的分数

贝叶斯 定理Bayes’ Theorem is one of the most known to the field of probability, and it is used often as a baseline model in machine learning. It is, however, too often memorized and chanted by people who don’t really know what P(B|E) P(E|B) * P(B) / P(E…

winfrom 点击按钮button弹框显示颜色集

1.窗体托一个按钮button&#xff1b; 2.单击事件&#xff1a; 1 private void btnForeColor_Click(object sender, EventArgs e)2 {3 using (ColorDialog cdialog new ColorDialog())4 {5 cdialog.AnyColor true;6 …

JavaScript时间事件:setTimeout和setInterval

Programmers use timing events to delay the execution of certain code, or to repeat code at a specific interval.程序员使用时序事件来延迟某些代码的执行&#xff0c;或以特定的时间间隔重复代码。 There are two native functions in the JavaScript library used to …

webservice 基本要点

webservice的特点 webservices是自我包含的 webservices是自我描述的 webservices是跨平台和语言的 webservices是基于开放和标准的 webservices是可以组合的 webservices是松散耦合的 webservices提供编程访问的能力 webservices通过网络进行发布&#xff0c;查找和使用 发布w…

文本数据可视化_如何使用TextHero快速预处理和可视化文本数据

文本数据可视化自然语言处理 (Natural Language Processing) When we are working on any NLP project or competition, we spend most of our time on preprocessing the text such as removing digits, punctuations, stopwords, whitespaces, etc and sometimes visualizati…

Less变量

Less变量 定义变量 Less 中的变量和其他编程语言一样&#xff0c;可以实现值的复用&#xff0c;同样它也有作用域&#xff08;scope&#xff09;。简单的讲&#xff0c;变量作用域就是局部变量和全局变量的概念。 Less 中&#xff0c;变量作用域采用的是就近原则&#xff0c;换…

渐进式web应用程序_如何在渐进式Web应用程序中添加到主屏幕

渐进式web应用程序添加到主屏幕 (Add To Homescreen) Here the web app install banner is focused on web app, with the feature of add to homescreen.在此&#xff0c;Web应用程序安装标语专注于Web应用程序&#xff0c;具有添加到主屏幕的功能。 浏览器对“添加到主屏幕”…

linux shell 编程

shell的作用 shell是用户和系统内核之间的接口程序shell是命令解释器 shell程序 Shell程序的特点及用途&#xff1a; shell程序可以认为是将shell命令按照控制结构组织到一个文本文件中&#xff0c;批量的交给shell去执行 不同的shell解释器使用不同的shell命令语法 shell…

Leetcode之javascript解题(No33-34)

附上我的github仓库&#xff0c;会不断更新leetcode解题答案&#xff0c;提供一个思路&#xff0c;大家共勉 在我的主页和github上可以看到更多的关于leetcode的解题报告&#xff01;&#xff08;因为不知道为什么掘金没有将其发布出来&#xff0c;目前已经联系掘金客服&#x…

真实感人故事_您的数据可以告诉您真实故事吗?

真实感人故事Many are passionate about Data Analytics. Many love matplotlib and Seaborn. Many enjoy designing and working on Classifiers. We are quick to grab a data set and launch Jupyter Notebook, import pandas and NumPy and get to work. But wait a minute…