目录
VIM的基本概念
基本概念:vim是vi的升级版,兼容vi所有指令的同时还有了新的特性,它还是Linux的多模式编辑器(类似于记事本),一般我们需要掌握的是以下三种模式:
- 正常/普通/命令模式:控制屏幕光标的移动、字符、字或行的删除等(核心模式)
- 插入模式:文字输入删除,esc返回命名模式,使用最频繁的编辑模式
- 底行模式:文件保存或退出、文件替换、找字符串、列出行号等,命令模式下shitf+:进入
- 查看所有模式:底行模式中输入help vim-modes
Vim的基本操作
- 进入vim指令:vim 文件名(此时处于正常模式,切换至插入模式才能输入文字)
- 正常模式切换至插入模式指令:按下a / i / o键
- 插入模式切换至正常模式指令:ecs键
- 正常模式切换至底行模式指令:shift + :
- 退出vim指令(底行模式才能执行):q(退出不保存)、q!(强制退出不保存)
- 保存文件指令(底行模式才能执行):w(保存文件)、wq(保存并退出)、wq!
vim正常模式的命令集
进入插入模式(其中三种):
- 按i进入:在光标当前所在位置前进行插
- 按a进入:从光标所在位置的下一个位置进行插入
- 按o进入:新启一行进行插入
移动光标:
- 正规vim是用h(←)、j(↓)、k(↑)、l(→)键进行控制,小键盘的上下左右也可以
- 移动至整个文本的开始(上极值):gg
- 移动至整个文本的结尾(下极值):shift + g
- 移动到光标所在行的行首(左极值):shift + ^
- 移动到光标所在行的行尾(右极值):shift + $
- 移动至文本的第n行:n shift + g
- 光标跳转至下一个字的开头:w
- 光标跳转至上一个字的开头:b
- 光标跳转至下一个字的结尾:e
- 屏幕向后移动一页:ctrl + b
- 屏幕向前移动一页:ctrl + f
- 屏幕向后移动半页:ctrl + u
- 屏幕向前移动半页:ctrl + d
必须用主键盘上数字,小键盘会输入字母
删除文字:
- 逐个删除光标所在位置的字符:x
- 删除包含光标所在字符在内的后n个字符:n x
- 逐个删除光标所在位置前的字符:X
- 删除包含光标所在字符在内的前n个字符:n X
- 删除光标所在行:dd
- 从光标所在行开始删除n行:n dd
复制:
- 将光标所在位置的字从光标位置起到字尾复制到缓冲区中:yw
- 连续n个复制字:n yw
- 复制光标所在行到缓冲区:yy
- 连续复制n行:n yy
- 将缓冲区的字符粘贴到光标所在位置的下一行:p(所有与y相关的复制命令必须都与p配合才能完成复制与粘贴)
- 粘贴n次:n p
- 剪切/删除光标所在行:dd
- 连续剪切/删除n行:n dd
用u撤销粘贴,n是数字不是指令,只剪切不拷贝就是删除,即只dd不p
替换:
- 将光标所在的字符进行大小写转换:shift + ~
- 替换光标所在的字符:r 要替换的字符
- 替换n个字符:n r 要替换的字符
- 替换光标所经过的字符,直到切换至正常模式:shitf + R(直接进行文本替换)
撤销上一次操作:
- 撤掉一次操作:u
- 对撤销进行撤销(有点抽象):ctrl + r
更改:
- 更改光标所在处的字到字尾:cw
- 更改n个字到光标所:cnw
跳到指定行:
- 列出光标所在行的行号:ctrl + g
- 移动光标至第n行的行首:n shift + g
vim底行模式的命令集
列出/去除行号:
指令:set nu / nonu
跳转至文件中的第n行:
指令:n(n表示数字)
查找字符:
指令1:/ + 关键字(如果第一次查找的不是想要的,可以按n继续向后查找)
指令2:? + 关键字(如果第一次查找的不是想要的,可以按n继续向前查找)
替换字符:
指令:s/原字符/目标字符/g
g参数会将所有的原字符转换为目标字符,没有就只替换一个(需要相关配置),原字符会亮
不退出vim直接执行外部命令
指令:! 外部指令
分屏进行多文件操作
指令:vs 新文件名
多文件切换
指令:ctrl + ww
批量化注释和解注释
所处模式:命令模式
批量化注释:
- ctrl + v进入视图模式
- 按j + 上下键进行批量化选取(shift + g全部选中、数字 shitf + g指定n行选取,长按j也可)
- shift + i进入插入模式
- 在要注释的内容第一行前加两个双斜杠//
- esc按两下
批量化解注释:
- ctrl + v进入视图模式
- 按j + 上下键进行选取要删除的//(不想用上下键可以试试长按j)
- 选取后按d即可
普通用户无法sudo提权问题
问题:有些新建普通用户无法sudo提权
原因:未被root承认
根本原因:未在root的sudoers文件下将该用户的信息添加
解决办法:打开并修改root中/etc目录下的sudoers文件,在100行左右的位置将新用户添加
在普通用户下的/etc/sudoers路径下查看该文件什么都读取不出来,会提示Permission Denied
简单的vim配置
配置文件位置
在root的/etc目录下有一个名为.vimrc的文件,它是系统中公共的vim配置文件,对所有用户都有效,同时每个普通用户还可以在自己的主目录下建立私有的配置文件“.vimrc”
一键配置及参考文档
指令:curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh
参考文档:快速将vim打造成c++ IDE
注意事项:要在centos 7 版本下下载,且在安装完成后按照相关提示使vim配置生效
~over~