linux vi命令
终端编辑工具:vi/vim、emacs等,vim是vi的扩展
安装vim:yum install -y vim*
使用格式:vim filename
工作模式:
1.正常模式
(1)、若文件存在则打开;否则创建,若不做修改则不会创建空文件
(2)、主要用来浏览或修改文本内容
(3)、使用vim打开文件的默认模式,任意模式下按esc即可进入该模式
2.编辑模式,也叫插入模式
正常模式下输入以下字符都可进入该模式
i:在光标所在字符前开始输入文字
I:在行首指向第一个非空白字符处开始输入文字
a:在光标所在字符后开始输入文字
A:在行尾开始输入文字
o:在光标所在行的下面单独开一新行来输入文字
O:在光标所在行的上面单独开一新行来输入文字
s:删除光标所在的字符并进入插入模式
S:删除光标所在行并进入插入模式
3.命令模式
主要用来管理文件或设置vim,如:保存、退出、放弃等,而不是修改文件内容
在正常模式下,输入‘:’即可进入命令模式,由于操作都在一行完成,因此也叫单行模式
w:保存文件
q:退出软件
x:保存退出,等价于wq,等价于正常模式下的shift + ZZ
!:强制操作
e!:放弃修改
问题:只读模式
解决:
方案1.按提示添加!命令,如:w!、wq!、q!、x!等
方案2.正常模式下输入 :set noreadonly
4.可视模式
可以批量选择内容,按shift+<|>:选中内容左右移动tab单位
v:可视块模式
V:可视行模式
使用技巧:
1.打开文件
vim filename +n 打开文件并将光标定位到第n行(包含‘+’)
vim filename + 打开文件并将光标定位到文件尾行行首
2.光标定位(正常模式下操作)
gg:首行
GG:尾行
ngg:第n行,等价于命令模式下的 :n + enter
0:行首
^:所在行首个非空字符
$:行尾
k:向上
j:向下
h:向左
l:向右
3.复制粘贴
yy:复制光标所在行
dd:剪切光标所在行
p:粘贴缓冲区的内容,从光标所在行的下一行开始粘贴
nyy:复制光标开始的n行
ndd:剪切光标开始的n行
4.操作回退
u:撤销刚才的操作
ctrl + r:反撤销
5.查找替换
命令模式下操作
:? 或者 : 或者 / + 查找内容,然后回车即可查找相关内容,n向前翻,N向后翻,如 命令模式下下查找zzz ?zzz或者:?zzz,查找到过个匹配项,则可使用n|N上下翻看匹配项
:s/查找内容/替换内容/[g],替换当前行第一个,g表示当前行所有
:%s/查找内容/替换内容/[g],将查找到的内容每行第一个替换,g表示全局替换,i大小写不敏感,I大小写敏感
:起始行,结束行s/查找内容/替换内容/[g],替换从起始行到结束行之间查找到的内容
注::%s/aa/bb/g <==> :g/aa/s//vv/g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作
6.基本配置
正常模式下
:set nu 设置行号
:set nonu 取消行号
:set tabstop 设置tab键为4个空格
:set fileencodings=utf-8,gbk 设置字符集
:set ignorecase 设置大小写不敏感
7.配置文件
上面第6步在命令模式下的配置是单次的(会话级别的),退出vim后配置就失效了
如果希望配置是全局生效的,可以创建专门的配置文件
在该用户目录下,创建.vimrc文件,这个文件就是vim的配置文件
当该用户登录时配置就会生效,可以将vim相关的配置写入文件即可
要想使配置文件生效可以重启系统,也可以使用命令: source ~/.vimrc
说明:
文件未保存就关闭vim时会产生临时文件,下次打开时会提示恢复|删除等相关操作
相关阅读
拉丁字母是26个,希腊(Greek)字母是24个 发音即是它们各自的latex形式, 大写字母的是其小写latex首字母大写后的形式,如(Δ:\Delta) notat
Linux 主机的硬件配备lspci 找到的是目前主机上面的硬件配备[root@www ~]# lspci [-vvn]选项与参数:-v :显示更多的 PCI 接
【原创】Navicat12.1系列破解教程,Navicat12.1.16破解
写在前面 2019.2.26月补充:因CSDN在线更新下载资源比较麻烦,所以,改用baidu网盘免费提供给各位。有问题留言哦Navicat12.1下载地址
Linux下百度云盘怎么用,操作简单,还不限速,最后竟然还能
说好的要下载数据集进行论文复现的,所以没有百度云盘怎么能行。我们今天的目的就是在Linux下弄好百度云盘,然后下载我云盘里的阅后
在很多时候,我们需要将文件拷贝到远程Linux主机上面,某些时候,网络比较给力,几个GB的文件传上去不怎么费力,但是几十个GB的文件呢?虽然