四、linux学习——vim编辑器(vim的五个模式、查找与替换、多窗口编辑文本)

352 阅读7分钟

目录

1、vim编辑器是linux里的文本编辑器。

    1.1、vi和vim的区别在哪里

    1.2、linux里编辑的文本在windows里是否可以打开

    1.3、为什么有乱码?

    1.4、查看linux里的文字语言编码

2、如何做到让一个程序每一秒钟去做一件事情

    2.1、shell编程

    2.2、python编程

 3、vim的不同模式

    3.1、 命令模式下的执行代码

        3.1.1、光标移动

        3.1.2、删除(剪切)、复制、粘贴

    3.2、末行模式下的执行代码

    3.3、插入模式下的执行代码

    3.4、退出vim编辑器的方法

        3.4.1、另存为

        3.4.1、取消文件的写入权限(chmod -w +文件)后的结果

        3.4.2、交换文件(swap file)

    3.5、替换模式

    3.6、可视模式 

        3.6.1、小v,可视模式

        3.6.2、大v,可视行模式

        3.6.3、Ctrl+v,可视块 

4、vim的文件内容查找与替换

    4.1、文件内容的查找

    4.2、文件内容的替换 

    4.3、清除查找痕迹

5、打开新文件或者读入其他文件内容

    5.1、从一个文件中打开另一个文件

    5.2、在一个文件中读入其他文件的内容

6、tab键

    6.1、设置tab等于多少空格

7、同时编辑多个文件(vim 文件1 文件2 文件3)

8、多窗口编辑文本(tmux)


1、vim编辑器是linux里的文本编辑器。

文本编辑器:只能编辑文字的文件的工具,相当于windows里的记事本,不能编辑图片、音频、视频文件。

linux里比较好用的文本编辑工具:1、vi:是linux里的字符界面的文本编辑工具;2、vim:vim是vi的升级版程序(vim - Vi IMproved, a programmers text editor);3、emac;4、gedit(图形界面的编辑工具)

    1.1、vi和vim的区别在哪里

vim比vi有语法高亮效果、彩色显示、命令补齐、历史记录等

    1.2、linux里编辑的文本在windows里是否可以打开

windows打开linux里的文本文件的时候,换行有问题。vim编辑器打开记事本写的文本有乱码问题

    1.3、为什么有乱码?

windows里的记事本默认的编码(ANSI)和linux里vim编码器(Unicod utf8)不一样。如果编码都是一样的,就不会乱码。

Unicode:万国码。utf8,utf16

    1.4、查看linux里的文字语言编码

[root@fttsaxf ~]# locale     # 查看linux里的文字语言编码
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=

2、如何做到让一个程序每一秒钟去做一件事情

    2.1、shell编程

#!/bin/bash

mkdir -p /lianxi/test
num=1  # num变量的初始值
# while True # 等价下边的那个命令
while :
do
	mkdir /lianxi/test/sanchuang$(date +%F_%T)
	sleep 1 # 暂停一秒钟
	# 记录已经创建了多少个文件夹,弄一个日志文件记录
	echo $((num++)) >/lianxi/test/num.log  # 相当于num = num + 1,
done

    2.2、python编程

 3、vim的不同模式

    3.1、 命令模式下的执行代码

        1、yy,复制当前光标所在行
2、p,往下粘贴
3、dd,删除当前光标所在的行        
4、u,撤销上一次的操作
5、Ctrl + u ,恢复撤销操作

        3.1.1、光标移动

        3.1.2、删除(剪切)、复制、粘贴

    3.2、末行模式下的执行代码

        1、:set nu,设置行号   set number;:set nonu,取消行号
2、:1,跳到第一行;:$,跳到最后一行

    3.3、插入模式下的执行代码

 用来输入文本,进入vim编辑器后,按i或者o或者a进入编辑模式,下面是常用的:

按i:命令模式的光标在哪里,进入输入模式的时候,光标就停在哪里 insert
按a:命令模式的光标在哪里,进入输入模式的时候,光标往后走一格 
按o:命令模式的光标在哪里,进入输入模式的时候,就往光标的下一行,新生成一行

    3.4、退出vim编辑器的方法

        3.4.1、另存为

 :w +路径,另存到该路径上

        3.4.1、取消文件的写入权限(chmod -w +文件)后的结果

取消写入权限之后该文件变成了只读文件,普通用户不能对其进行写入修改,但是root用户还能对该文件进行写入(强制保存并且退出)、

        3.4.2、交换文件(swap file)

可以看作为临时文件。格式为:.***.swp。是隐藏文件,可以删除。一般是和原文件在同一个文件夹下。

两种情况会导致出现交换文件:

1、一个文本文件同时被两个程序编辑
2、正在编辑的会话程序突然崩溃

解决方法

把这个.***.swp,这个隐藏的文件删除就可以了。

    3.5、替换模式

从命令模式,按R进入vim的替换模式。直接输入,会在原来位置上直接替换;取消替换,按Backspace。

    3.6、可视模式 

        3.6.1、小v,可视模式

 只能在光标位置向前后或者上下进行选择;

        3.6.2、大v,可视行模式

行为单位

 

        3.6.3、Ctrl+v,可视块 

4、vim的文件内容查找与替换

    4.1、文件内容的查找

1)在命令模式中

2)在末行模式中

:/word  查找word;n 下一个;N 上一个

    4.2、文件内容的替换 

    4.3、清除查找痕迹

 每次查找之后,下一次打开会留下,上一次的查找痕迹。怎么删除这些痕迹呢?我们只需要随便输入,让查找不存在。那么这个痕迹就会被清除或者说覆盖更准确一些。

5、打开新文件或者读入其他文件内容

    5.1、从一个文件中打开另一个文件

下面给出(:e /文件名)实例(从图一文件打开了图二文件):

    5.2、在一个文件中读入其他文件的内容

下面给出(:r /文件名)实例(从别的文件导入到该文件内):

6、tab键

tab键的中文叫做制表符,默认情况下一个tab键=8个字符。

    6.1、设置tab等于多少空格

:set ts=num   设置tab=num个空格

7、同时编辑多个文件(vim 文件1 文件2 文件3)

vim 文件1 文件2 文件3:首先打开的是文件1,编辑完文件1后,就编辑文件2,以此类推。可以再多个文件之间复制粘贴。

8、多窗口编辑文本(tmux)

输入tumx进入多窗口编辑模式
图片解释:C-b=Ctrl+b