【Linux】(13)vim编辑器的使用

目录

一、vim编辑器的使用

        1.1 Windows里好用的文本编辑工具

        1.2 Linux里较为好用的文本编辑工具

        1.2.1 vi和vim的区别

        1.3 Linux里编辑的文本在Windows中是否可以打开

        1.4 vim编辑器的模式

        1.4.1 命令模式

        1.4.2 末行模式可以使用哪些操作

        1.4.3 插入模式

        1.4.4 替换模式

        1.4.5 可视模式

        1.5 光标移动

        1.5.1 命令模式

        1.5.2 末行模式

        1.6 交换文件

        1.6.1 出现

        1.6.2 解决

二、练习

三、查找替换

        3.1 文件内容查找

        3.2 文件内容替换

         3.3 打开新文件

         3.4 在当前文件中读入其他文件内容

        3.5 制表符

 四、练习

五、扩展

        5.1 同时编辑多个文件

        5.2tmux


一、vim编辑器的使用

vim编辑器是Linux里的文本编辑器,维护Linux系统中的各种配置文件

文本编辑器:只能编辑纯文字的工具:相当于Windows里的记事本

最小化安装的系统是没有安装vim的,但是安装了vi

        1.1 Windows里好用的文本编辑工具

  1. 记事本
  2. 写字板
  3. sublime:可以写python程序,有语法高亮效果、补齐功能
  4. notepad++
  5. pycharm:写python程序、html等

        1.2 Linux里较为好用的文本编辑工具

  1. vi:Linux里字符界面的文本编辑工具
  2. vim:vi的升级版本。程序员的文本编辑工具:shell、c、python、ruby、php、java等
  3. emacs
  4. gedit:图形界面的编辑工具

        1.2.1 vi和vim的区别

vim比vi有语法高亮效果、语法补齐功能、命令补齐等

任何Linux系统里都会安装vi编辑器

        1.3 Linux里编辑的文本在Windows中是否可以打开

Windows==》.txt是文本文件的默认格式

Linux==》不重视后缀名,不过会遵循一些规定

  1. Windows打开Linux里的文本文件的时候,换行会有问题,记事本试别vim的换行符不友好。用sublime打开就没有问题。
  2. vim编辑器可以打开sublime编辑的文本,vim打开记事本编写的文本有乱码问题

        【解释】Windows里的记事本默认采用的编码(ANSI)和Linux里的vim编辑器不一样,导致乱码,Linux默认Unicode。编码一样才不会出现乱码。

 Unicode:万国码,把全国的文字都统一编码。

utf-8:属于Unicode里的一个分支

        1.4 vim编辑器的模式

常用模式:

  1. 命令模式(默认的模式):光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作
  2. 输入模式(插入模式):用来输入文本,按a或i或o可以进入
  3. 末行模式

        1.4.1 命令模式

  1. yy 复制当前光标所在行 copy
  2. #yy 从当前开始往下复制#行,包括当前行
  3. p 往下粘贴,粘贴到下一行 paste(如果是大写的P就是粘贴到上一行)
  4. dd 删除当前光标所在行 delete
  5. #dd 从当前行开始往下删除#行,包括当前行
  6. dw 删除光标所在单词
  7. d^ 删除光标到行首
  8. d$ 删除光标到末尾
  9. x、del、d 删除光标所在处的字符
  10. u 撤销上一次的操作 undo

        1.4.2 末行模式可以使用哪些操作

  1. :set nu 设置行号
  2. :set nonu 取消行号
  3. :wq 退出且保存
  4. :w 只是保存,不退出
  5. :w /root/lianxi 另存到/root/lianxi
  6. :q 退出,没有修改文本的情况下,可以退出
  7. :q! 强制退出,修改了文本也可以退出,不保存退出
  8. :wq! 强制退出并且保存(用于只读文件==》只有root用户可以)
  9. :x 退出保存
  10. :x! 强制退出并且保存(用于只读文件==》只有root用户可以)

        1.4.3 插入模式

  1. 按i,命令模式光标在哪里,进入输入模式后,光标就停在哪里 insert
  2. 按a,命令模式光标在哪里,进入输入模式后,光标往后走一格 after
  3. 按o,在光标所在行下另起一行进入输入模式,新建一个新行进入输入模式

        1.4.4 替换模式

 

大写的R(注意!是大写的R,不可以是小写的)

直接输入,会在原来的位置上直接替换。

取消替换:按退格键。(光标必须未挪开刚修改的位置,否则就无法取消)

        1.4.5 可视模式

主要用来选择复制区块文本

在命令模式下,使用v或V可以进入可视模块,该模块下粘贴是粘贴在当前行

可视或者可是块模式可以复制或删除一部分单词,选中一部分单词,然后进行操作。

小v 可视模式 visual 选择一部分

大V 可视行模式 VISUAL line 选择行

ctrl+v 可视块模式 VISUAL BLOCK

选中操作:依赖上下左右方向键

【操作】

        先把光标挪到要复制的单词的开头 ==》 再按v进入可视模式 ==》 再通过光标选中要操作的部分:呈现高亮则表示选中。 ==》 按y复制 x或者d删除 (或==》 按p粘贴,直接按原来的格式粘贴在光标处)( 或==》 另起一行按o ==》 再按esc(返回命令模式) ==》 再p)

【可视块模式】

        按ctrl+v进入后,先选中Linux,再按向下方向键向下选中这一块(和Windows很像)

 是按照原来的格式粘贴

        1.5 光标移动

        1.5.1 命令模式

        1.5.2 末行模式

:1 跳至第一行

:50 第50行

:$ 最后一行

        1.6 交换文件

swap file 临时文件

vim编辑器的一个故障问题

        1.6.1 出现

1.一个文本文件同时被两个程序编辑

【第一个标签】vim lihua.txt输入内容且保存,不关闭

 【第二个标签】也vim lihua.txt

【第三个标签】用ls -a可以查看交换文件

.lihua.txt.swp 是隐藏文件,可以删除。一般是和原文件在同一个文件夹下

[root@localhost ~]# cd lianxi/sanchuang/
[root@localhost sanchuang]# ls
lihua.txt
[root@localhost sanchuang]# ls -a
.  ..  lihua.txt  .lihua.txt.swp

2.正在编辑的会话程序突然崩溃==》不是正常退出vim的情况

        1.6.2 解决

1.删除 rm -rf .lihua.txt.swp

2.直接按照提示按D

二、练习

 /tmp 是Linux里的临时存放文件的目录,任何用户任何程序都可以使用

##练习一
第一题  cd /root/lianxi
第二题  cp /etc/passwd .  ==>   vim passwd
第三题  :set nu
第四题   光标挪到第5行 输入6yy ==> G  ==>  p  ==>   光标挪到nologin的n   输入dw   【注:英文分割符:空格,标点符号(/  :  , .等)】
第五题   输入 :9  ==>  2dd
第九题   2dd   ==>   G  ==>   p
##练习二
第二题   :8  ==>   12yy  ==>   G  ==>   p
第三题   :w /tmp/mesg.txt
第四题   :set nu  ==>   :158  ==>   G  ==>   :1
第五题   :wq

三、查找替换

        3.1 文件内容查找

在命令模式里使用

末行模式也可以使用,用法基本相同,查找时在开头加上冒号:即可

u 是撤销最近的一次操作 undo

ctrl+r 恢复 redo recover

【注】查找后退出文件再进入会有查找痕迹,如何消除查找痕迹==》查找一个不存在的东西

        3.2 文件内容替换

在末行模式里完成

:s 替换 substitute

:s /old/new只替换当前行的第一个字符“old”

 :s /old/new/g 将当前行所有的xiaomi替换为redmi

 将5到7行的xiaomi'替换为redmi

 :%s /xiaomi/redmi/g 将整个文件里所有的行里的xiaomi替换为redmi,需要一个一个确认

 :%s /redmi/xiaomi/gc 将整个文件里所有的行里的redmi替换为xiaomi,需要确认

         3.3 打开新文件

:e ~/install.log 打开新文件进行编辑

 

 

         3.4 在当前文件中读入其他文件内容

:r /root/lianxi/company.txt 将该文件导入当前所编辑的文件 read--导入

输入:r company.txt 

 

        3.5 制表符

tab键:制表符

默认情况下一个tab键位8个空格

 :set ts=4 设置一个tab键等于4个空格 tab size

 四、练习

 

 

 练习三

# 第一题
:r /etc/passwd
# 第二题
:%s /bash/ksh/g
# 第三题
yy  -->   Esc   -->  5p
# 第四题
光标挪到对应位置   ctrl + v  -->  选中  -->   y -->   o  -->  esc -->  p
# 第五题
:w /tmp/vim.txt

五、扩展

        5.1 同时编辑多个文件

可以在多个文件之间复制粘贴

:n 切换到下一个文件

:N 切换到上一个文件

:files 查看所有打开的文件

[root@localhost lianxi]# vim bajie.txt  wukong.txt  shifu.txt

编辑好第一个文件内容后保存,再输入:files,可以显示出打开的的所有文件

 输入:n,会切换到下一个文件

 输入:N,会切换到上一个文件

        5.2tmux

安装好tmux之后,先输入tmux,再ctrl + b,最后shift+"

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值