系列教程--Linux基础--06--linux常用文件编辑命令

深藏阁楼爱情的钟 2022-12-27 01:13 365阅读 0赞

本节概要:

常用编辑工具介绍

vim 模式介绍

vim 多个模式使用

vim 配置

Emacs 基本使用

nano 基本使用

环境准备:

操作系统:Centos6.5、Centos7.2。

一、文件编辑命令

1. Linux**编辑工具介绍**

vi&&vim

vi、vim是Linux文本模式下最常使用的工具,vim是由vi发展而来,是vi的增强版。vi或vim虽然没有图形界面编辑器那样点鼠标简单操作,但vi、vim编辑器在系统管理、服务器管理字符界面中永远不是图形界面编辑器能比的。一般云厂商的云服务器都会内置vi,有的也会内置vim,学习Linux必须掌握的工具。

vim 相比vi具备的优势如下:

多级撤销:vi中按u只能完成一次撤销,vim中可以无限撤销。

易用性:vi只能在unix系列的系统中,vim可以运行于unix、windows、mac等平台。

语法加亮:vim可以用不同的颜色对代码进行加亮。

可视化操作:即vim不仅可以运行在纯文本的终端,也可以运行在x windwos、mac os、windows的图形界面下。

对vi的完全兼容:vi中可进行的操作vim中也可。

Emacs

emacs命令是由GNU组织的创始人Richard Stallman开发的一个功能强大的全屏文本编辑器,它支持多种编程语言,具有很多优良的特性。有众多的系统管理员和软件开发者使用emacs。

nano

nano 是一个文本终端的文本编辑器,有点像DOS下的editor程序,使用上比vi/vim简单很多,比较适合Linux初学者使用。某些Linux发行版的默认编辑器就是nano。

nano命令默认情况下可以进行自动断行,即在一行输入过长时可以自动进行拆分,也可关闭自动换行的功能。

2. vim 模式介绍

vim有6种基本模式和5种派生模式, 其中6种基本模式为:普通模式,编辑模式,可视模式,选择模式,命令模式,Ex模式。

不同模式之间可以相互转换:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70

3. vim使用

在普通模式中,用户可以执行一般的编辑命令,如移动光标、删除文本等。普通模式是vim启动后的默认模式。

普通模式下通过按键i或a等可以进入编辑模式,编辑模式下可以对文件进行内容的新增等操作。

普通模式下通过键入:即可进入vim的命令行模式,此时可以进行文件内容的查找、替换等操作。

普通模式

vim /etc/passwd 打开文件

vim –O /etc/passwd /etc/nginx/nginx.conf 同时打开多个文件,ctrl+ww可在文件间切换:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 1

vim 常用命令列表如下:

i 插入,在光标位置前插入

I 在当前行首部插入

o 在当前行的下一行插入

O 在当前行的上一行进行插入

a 插入,与i区别是在光标之后插入

A 在当前行末尾进行插入

x 删除光标后面一个字符

X 删除光标前面一个字符

^ 光标到行首

$ 光标到行尾

dd 剪切一行,不黏贴则为删除,dd前加数字即ndd 则为一次操作n行

yy 复制一行,nyy为复制n行

p 黏贴,和yy或者dd配合使用

dw 删除一个单词,光标需要在单词的首字母处,否则删除光标位置到词尾的字母。

yw 复制一个单词

w 切换单词,即单词间移动

u 撤销一步,相当于windows中的ctrl+z

视图模式

视图模式下光标可以对一片区域进行选中和操作,可以理解成批量操作,如需要对配置文件的多行进行注释后者取消注释的时候可以用此模式。以nginx配置文件为例介绍下视图模式的具体使用方法。

Ctrl+v即可进入视图模式:

20201206165107392.png

修改前nginx.conf文件:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 2

视图模式-多行注释

移动光标选中需要注释的行。

按键I

按键#进行注释

Esc退出视图模式后即可注释

:w 保存文件

20201206165107276.png

删除多行注释

移动光标选中需要取消注释的部分

按键d删除注释

:w 保存文件

命令行模式

替换类操作:

:%s /from/to 将from替换为to,只替换每行遇到的第一个from

:%s /from/to/g 当前文件中所有from替换为to,g即全局的意思

:1,10 s/from/to/g 范围替换,将1-10行中所有from替换为to

文件保存、退出类操作:

:w 保存文件

:q 退出,不保存

:q! 强制退出,不保存

:wq 保存并退出

:wq! 强制保存并退出

其他操作:

r 替换当前字符

set nu 显示行号

set nonu 不显示行号

/ 查找,n向下查找,N向上查找

:!pwd 不退出文件调用系统命令,pwd 查看当前路径,enter键回到文件

gg 定位到文件开始处

G 定位到文件结尾

:n 定位到指定的行,n为行号

:r /etc/passwd 未推出当前文件的情况下,读取其他文件内容到当前位置。

4. vim 配置

vim 可以针对某个用户进行配置,也可进行全局的配置,针对某个用户的配置文件为: ~/.vimrc ,即用户家目录下的.vimrc文件。全局的配置文件为/etc/vimrc。

以/etc/vimrc文件为例:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 3

将需要加入的配置在文件的末尾直接添加即可,常见的vim配置项:

set nu 显示行号

set nonu 不显示行号

set background=dark 设置背景色

set tabstop=4 设置tab键对应的空格数目

set smartindent 智能对齐,类似开发中使用的图形化编辑器的功能。

5. Emacs 使用

Emacs 早期大神经常使用的利器,很多做Linux开发的对Emacs非常的推崇,配合一些自定义设置功能和丰富的快捷键可谓非常强大,一般也建议学习一下。

安装

yum install –y emacs

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 4

基本使用

cp /etc/passwd .

emacs –nw passwd #编辑文件,-nw文本模式下使用

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 5

Ctrl+x,Ctrl+c退出Emacs编辑:

Emacs 快捷键

C是ctrl,M是alt。

C-x是同时按C和x,C x是指先按Ctrl放开后再按x。

文件操作快捷键:




































C-x C-f

打开emacs默认目录下home的某个文件

C-x d

打开文件路径,查看某个文件的属性信息,并在这个文件上进行编辑操作

C-x i

将某个文件的内容插入到当前的缓冲区

C-x C-v

打开一个文件,取代当前缓冲区

C-x C-s

保存文件

C-x C-w

将当前缓冲区文件另存为新文件

C-x C-q

切换为只读或者读写模式

C-x C-c

退出Emacs

编辑操作快捷键:


















































































C-f

光标前进一个字符

M->

光标移动到文件尾部

C-b

光标后退一个字符

C-M-f

向前匹配括号

M-f

光标前进一个字

C-M-b

向后匹配括号

M-b

光标后退一个字

C-i

将光标所在位置居中

C-a

光标移动到行首

M-n or C-u n

重复操作随后的命令n次

C-e

光标移动到行尾

C-u

重复操作随后的命令4次

M-a

光标移动到句首(第一个非空字符)

C-u C-u

重复操作随后的命令8ci

M-e

光标移动到句尾(最后一个非空字符)

C-x ESC ESC

执行理事命令记录,M-p选择上一条命令,M-n选择吓一跳命令

C-p

光标移动到上一行

C-d

删除一个字符

C-n

光标移动到下一行

M-d

删除一个字

C-v

向下翻页

C-k

删除一行

M-v

向上翻页

M-k

删除一句

M-<

光标移动到文件头部

C-_

撤消操作

窗口操作:


































C-x 0

关闭当前窗口

C-x s

保存所有窗口缓冲

C-x 1

只留下一个窗口

C-x b

选择当前窗口的缓冲区

C-x 2

垂直均分窗口

C-x ^

纵向扩大窗口

C-x 3

水平均分窗口

C-x }

横向扩大窗口

C-x o

切换到其他窗口

 

 

缓冲区操作


































C-s 字符

打开缓冲区列表

u

取消标记

d or k

标记为删除

x

执行标记的操作

~

标记为未修改状态

f

为当前窗口打开该缓冲区

%

标记为只读

o

在其他窗口打开该缓冲区

s

保存缓冲

 

 

编译程序:

选择需要编译的语言 M-x[language]-mode

选择缩进风格 M-x c-set-style

调用makefile文件 make –k

搜索模式:












































C-s 字符

向前搜索字符,查找到的字符以蓝色字体显示

ENTER

停止搜索

C-r 字符

向后搜索字符,查找到的字符以蓝色字体显示

C-s C-w

以光标所在位置的字为关键字进行搜索

C-s C-s

重复上一次搜索

C-r C-r

重复上一次反向搜索

C-s ENTER C-w

进入单词搜索模式,搜索完毕后,光标停留在查找到的第一个单词的后面

C-r ENTER C-w

进入反响单词搜索模式

C-r

进入查找/替换模式后,该命令进入迭代编辑模式

C-M-x

退出迭代编辑模式,返回到查找/替换模式

shell 模式:




























M-x shell

打开Shell

M-!

执行Shell命令

M-l M-!

执行Shell命令,命令的输出插入在光标当前位置,而不打开新的输出窗口

M-|

针对某一特定区域执行shell命令

M-! M-p

执行前一条shell命令,同M-!+向上方向键

M-! M-n

执行下一条shell命令,同M-!+向下方向键

6. nano**使用**

nano 使用上有点像DOS下的editor,比vi/vim简单的多,较适合linux初学者使用,部分Linux发行版的默认编辑器即为nano。

安装nano

yum install –y nano

已经安装过了的话就不需要进行安装了:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 6

nano基本使用

nano passwd 打开文件passwd

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 7

Ctrl+o 保存

Ctrl+x 退出(先回车,后退出)

nano 其他的参数使用可以nano –h 查看:

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA0NzI0OTk_size_16_color_FFFFFF_t_70 8

二、拓展

  1. 自行查阅资料学习vim的5种派生模式。
  2. 对Emacs感兴趣的同学可以练习下上文中列出的快捷键的使用。
  3. 根据nano –h 结果,学习nano参数的使用。

发表评论

表情:
评论列表 (有 0 条评论,365人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux命令06 - ps

    在 Linux 中,程序的运行实例称为进程。 有时候,在 Linux 机器上工作时,您可能需要了解当前正在运行的进程。 您可以使用许多命令来查找正在运行的进程的信息,其中 p