Linux文件编辑工具——VIM (2)

视图模式(从普通模式进入视图模式),主要进行批量操作

ctrl+v 进入可视块模式,选中需要注释的行  1.插入:按shift+i进入编辑模式,输入#,结束按ESC键  2.删除:选中内容后,按x或者d键删除  3.替换:选中需要替换的内容, 按下r键,然后输入替换后的 内容 ------------------------------------------- shift+v 进入可视行模式,选中整行内容  1.复制:选中行内容后按y键及可复制。  2.删除:选中行内容后按d键删除。 3.VIM扩展知识 3.1 vim配置环境变量

1.临时为打开的文件 ”显示行号“、“忽略大小写” 等环境;

:set nu       #显示行号 :set ic       #忽略大小写, 在搜索的时候有用 :set ai       #自动缩进 :set list      #显示制表符(空行、tab键) :set no[nu|ic|ai…]  #取消临时设定的变量

2.如果希望 ”显示行号“、“忽略大小写” 等;永久生效,需
要将内容写入配置文件中;

~/.vimrc 个人环境变量,针对当前用户(优先级高)

/etc/vimrc 全局环境变量,针对系统中所有用户

如果个人 vim 环境没有配置,则使用全局 vim 环境变量
配置。

如果个人 vim 环境和全局环境变量产生冲突,优先使用个
人 vim 环境变量。

# vim ~/.vimrc set nu set ic # vimrc例子 https://www.cnblogs.com/zyos/p/9213878.html 3.2 vimdiff文件比对

相同文件之间差异对比,通常用于对比修改前后差异

# diff   #文件对比(略过) # vimdiff  #以vim方式打开两个文件对比,高亮显示不同的 内容 3.3 wim异常退出处理

当使用 vim 打开一个新的文件时,如果修改了文件内容,此
时强制退出终端,则会造成异常现象;

#假设打开filename文件被以外关闭,需要删除同文件名的.swp 文件即可解决 # rm -f .filename.swp 4. VIM练习示例 4.1 vim练习示例1

1.将/etc/passwd 复制到/root/目录下,并重命名为
test.txt

2.用vim打开test.txt并显示行号

3.分别向下、向右、向左、向右移动5个字符,分别向
下、向上翻两页

4.把光标移动到行末,再移动到行首,移动到test.txt文
件的最后一行,移动到文件的首行

行末:$

行首:^

G gg

5.搜索文件中出现的 root 并数一下一共出现多少个,不
区分大小写搜索

6.把从第一行到第三行出现的root 替换成--dd--,然后
还原上一步操作\

7.把整个文件中所有的root替换成--dd--

8.把光标移动到20行,删除本行,还原上一步操作

9.删除第19行,还原上一步操作

10.删除从5行到10行的所有内容,还原上一步操作

11.复制2行并粘贴到11行下面,还原上一步操作(按两
次u)

12.复制从11行到15行的内容并粘贴到8行上面,还原
上一步操作(按两次u)

13.把13行到18行的内容移动文件的尾部,还原上一步
操作(按两次u)

14.光标移动到首行,把/sbin/nologin改成/bin/bash

15.在第一行下面插入新的一行,并输入"# Hello!"

16.保存文档并退出

4.2 vim练习示例2

1.使用vim打开proxy.conf文件

2.修改Listen为listen小写,并将8080修改为80

3.修改ServerName为server_name小写。

4.修改vim.EXAMPLE.com为vim.example.com

5.在server_name行下插入一行 root /code;

6.复制5-14行的内容,然后将其粘贴到14行下面

7.如上操作完成后,在13-20行前面加上#号

8.删除21-23的行,然后保存当前文件

9.删除与proxy_set_header相关的两行全部删除

[root@www ~]# cat proxy.conf server { Listen 8080; Server_Name vim.EXAMPLE.com; location / { proxy_pass :8080; proxy_set_header Host $http_host; proxy_set_header X-Forward-for; proxy_intercept_errors on; proxy_next_upstream error timeout; proxy_next_upstream_timeout 3s; proxy_next_upstream_tries 2; error_page 500 502 403 404 = /proxy_error.html; } location = /proxy_error.html { root /code/proxy; } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyffjw.html