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.pswp.cn/news/390721.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390721.shtml
英文地址,請注明出處:http://en.pswp.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…