今日内容
1.什么是VIM?
其实和windows的记事本或word文档很像,都是用来编辑文件的
2.VI与Vim有什么关系? 区别?
其实上本质没有区别, vim是vi的增强版,语法检测,语法高亮
由于系统默认最小化安装 需要 yum install vim -y安装
3.如何使用vim vim的四种模式
进入vim 首先进入 ‘普通模式’------>支持复制、粘贴、剪贴、删除、撤销、替换等
‘普通模式’再进入‘编辑模式’用“i,a,o,I,A,O”------->关键字‘INSERT’ 只能编辑,不能保存
‘编辑模式’ESC回到普通模式然后由普通模式进入‘命令模式’使用“: , /”进入。 保存,退出,强制退出
PS:在vim中,无法直接从编辑模式到命令模式。
vim 普通模式
1、命令光标跳转
1)G #光标跳转到文件末端
2)gg #光标跳转到文件顶端
3)Ngg #跳转到文件的第N行
4)$ #光标跳转至当前所在行的尾部
5)^|0 #光标跳转至当前光标所在行的首部
----------------------------------------------------------------
2、文件内容较多
1)ctrl f #往下翻页(行比较多)
2)ctrl b #往上翻页
-----------------------------------------------------------------
3、复制与粘贴 yy p
1)yy 复制当前光标所在的行
2)5yy 复制当前光标以及光标向下4行
3)p(小写) #粘贴至当前光标下一行
4)p(大写) #粘贴至当前光标上一行
---------------------------------------------------------------------
4、删除、剪贴、撤销
1)dd #删除当前光标所在的行
2)4dd #删除当前所在行以及往下的3行
3)dG #删除当前光标以后的所有行
4)D #删除当前光标即光标以后的内容
5)x #删除当前光标标记往后的字符删除,删除行中的一部分,删除单个字符
6) X #删除光标之前的一个字符
6)u #撤销上一次的操作
7)dd&p #剪贴、先删除dd(number dd),后粘贴 p
--------------------------------------------------------------------
5、替换
1)r #替换当前光标标记的单个字符
----------------------------------------------------------------------
vim 编辑模式
2、编辑模式(从从普通模式进入到编辑模式)
1)i #进入编辑模式,光标记不做任何操作
2)a #进入编辑模式,将当前光标往后一位
3)o #进入编辑模式,并且当前光标下添加一行空白内容
4)I #进入编辑模式,并且光标会跳转至本行的头部
5)A #进入编辑模式,将光标移动到本行的尾部
6)O #进入编辑模式,并在当前光标上添加一行空白内容
------------------------------------------------------------------------
vim 命令模式
3、命令模式,主要用于搜索,保存,退出文件
1。文件的保存与退出
1)w #保存当前状态
2)q #退出当前文档(文档必须保存才能退出)
3)wq #先保存,再退出
4)w! #强制保存当前状态
5)q! #强制退出文档不会修改当前内容
6)wq! #强制退出并保存
7)x #先保存,再退出
8)zz #保存退出,shift+zz
9):number #跳转至对应的行号
文件保存 :wq 保存并退出 :wq! 强制保存并退出
-------------------------------------------------------------------------
2.文件内容查找
1)/string #需要搜索的内容(查找)
2)n #按搜索到的内容依次往下进行查找
3)Ngg #按搜索到的内容依次往上查找
--------------------------------------------------------------------------
3、文件内容的替换
1):1,5s#sbin#test#g #替换1-5行中包含sbin的内容为test
2):%s$sbin#test#g #替换整个文本文件中包含sbin的替换为test
-----------------------------------------------------------------------------
4、文件内容另存
1):w /root/test.txt #将所有内容另存为/root/test.txt文件
----------------------------------------------------------------------------
VIM视图模式
4.视图模式(从普通模式进入视图模式),主要进行批量操作
ctrl v 进入可视块模式,选中需要注释的行
1)插入:按shift+i进入编辑模式,输入#,结束按ESC键
2)删除:选中内容后按d删除
3)替换:选中需要替换的内容,按下r键,然后输入替换后的内容
----------------------------------------------------------------------------------
shift +v 进入可视行模式,选中整行内容
1)复制:选中行内容后按y键即可复制
2)删除:选中行内容后按d键删除
--------------------------------------------------------------------------------
VIM扩展知识
1、环境变量临时生效
1):set nu #显示行号
2):set ic #忽略大小写,在搜索的时候有用
3):set ai #自动缩进
4):set list #显示制表符(空行、tab键)
5):set no[nu|ic|ai] #取消历史设定的变量
2、环境变量永久生效。~/.vimrc个人环境变量(优先级高)/etc/vimrc全局环境变量
# vim ~/.vimrc #当下次再打开文件自动显示行号并忽略大小写 set nu set ic
#如果个人vim环境没有配置, 则使用全局vim环境变量配置。
#如果个人vim环境和全局环境变量产生冲突, 优先使用个人vim环境变 量
3.如何同时编辑多个文件
vim -o file1 file2 #水平分割 vim -O file1 file2 #垂直分割
#ctrl+ww 文件间切换
4.相同文件之间差异对比,通常用于对比修改前后差异
# diff #文件对比 # vimdiff
#以vim方式打开两个文件对比,高亮显示不同的内容
5.如果VIM非正常退出 (ctrl+z)挂起或强制退出终端没关闭VIM后
#假设打开filename文件被以外关闭,需要删除同文件名的.swp文件即可 解决
# rm -f .filename.swp
2.练习示例2-文件
server {
Listen 8080;
Server_Name vim.OldboyEDU.com;
location / {
proxy_pass http://127.0.0.1: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;
}
}
2.练习示例2-题目 1.使用vim打开proxy.conf文件
1)创建proxy.conf文件
2.修改Listen为listen小写,并将8080修改为80
:2s#Listen#listen#g
:2s#8080#80#g
3.修改ServerName为server_name小写。
:3s#Server_Name#server_name#g
4.修改vim.OldboyEDU.com为vim.oldboy.com
:3s#vim.OldboyEDU.com#vim.oldboy.com#g
5.在server_name行下插入一行 root /code;
光标移至第三行普通模式下an 'o'键,光标在下方自动插入一行
'i'插入模式,输入root/code
5.复制5-14行的内容,然后将其粘贴到14行下面
5gg光标移动到第5行普通模式下输入10yy
表示复制成功
光标至14行末尾按p
6.删除与proxy_set_header相关的两行全部删除
筛选出proxy_set_header关键字: /proxy_set_header
使用dd删除 n选至下一个包含关键字的行
7.如上操作完成后,在13-20行前面加上#号
crtl+v进入可视块模式选中13-20行
shift+i插入命令 后 输入“#”按两下ESC
8.删除21-23的行,然后保存当前文件
21-23共三行,将光标定位到21行普通模式下输入3dd
网友评论