Linux之vim
vim :Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富
安装vim
yum install -y vim-enhanced
-
vim是vi的升级版
-
vim带有颜色显示
-
vim的配置文件/etc/vimrc
-
在用户家目录下,例如root用户 vim /root/.vimrc 可以自定义配置用户的vim
-
vim的三种模式
1.一般模式
2.编辑模式
3.命令模式
vim一般模式下移动光标
-
h:向左移动一个字符
-
l:向右移动一个字符(作用等同于空格)
-
j:向下移动一个字符
-
k:向上移动一个字符
-
n+hjkl(n代表数字)移动n个字符
-
Ctrl+f:向下翻一页(等同于pagedown)
-
Ctrl+b:向上翻一页(等同于paggeup)
-
shift+6:移动到行首(等同于0)
-
shift+4:移动到行尾
-
gg:移动到首行行首
-
shift+g:移动到尾行
-
n--> shift+G:移动到第n行行首(n代表数字)
屏幕右下方会显示光标当前位置(哪一行,哪个字符位以及百分比)
一般模式下剪切、复制、粘贴
-
dd: 剪切当前行
-
ndd:自当前行起剪切后n行(n为数字)
-
x: 剪切当前位置后面一个字符
-
X: 剪切当前位置前面一个字符
-
yy: 复制当前行
-
y$:复制当前位置至行尾的所有字符(y^:当前位置至行首)
-
nyy:自当前行起复制后n行(n为数字)
-
v+移动光标可以选择要复制或者剪切的内容(y:复制;d:剪切;p:粘贴)
-
shift+v+移动光标:以行为单位来选择需要的内容
-
u:撤销上一次操作
-
U :撤销所有操作
-
ctrl+r:反撤销
vim 编辑模式
如何进入编辑模式:
-
i:定位在光标当前位置开始编辑模式
-
I:定位在当前行的行首开始编辑模式
-
o:在当前行下插入一空白行开始编辑模式
-
O:在当前行上插入一空白行开始编辑模式
-
a:定位在当前光标后一个字符处开始编辑
-
A:定位于当前行行尾开始编辑
-
s:删除当前字符,且定位于当前位置开始编辑模式
-
S:删除当前行且进入编辑模式
vim命令模式
-
/word :查找word字符串(n:向下查找下一个,N向上查找)
-
:1,ns/123/456/g:将1-n行所有123替换为456
1,n:表示1到n行
s:表示替换
123 :表示将要被替换的字符
456:表示替换后的字符
g: 表示全局替换,如果不加g,在某一行有两个匹配字符串的情况下,只会替换第一个匹配字符串
- 1,$s/123/456/g:将整个文件的123替换为456
当" / "存在冲突的时候也可以用 # 来代替
- ":wq":保存退出,等同于":x",在更改文件后使用两者无区别,在未做任何更改时,":wq"会改变Mtime,而":x"不会
vim 其他用法
在一般模式下还有一些特殊的用法
-
r
:r+字符
,替换当前一个字符 -
R
:进入替换模式,依次替换后面的字符,直到退出替换模式 -
Ctrl+v
:进入块操作模式,类似于v,但是效果不一样 -
D
或者输入d$
:删除当前处到行尾字符 -
d^
:删除当前处到行首字符 -
dG
:删除当前行到末尾行 -
:2,6d
:删除2到6之间所有行 -
:w /root/zq.txt
:将正在编辑的文件另存于/root下,重命名为zq.txt -
:2,6 w /root/zq.txt
:将正在编辑的文件的2到6行另存为zq.txt并保存在/root下 -
:r /root/zq.txt
:将zq.txt写入正在编辑的文件中 -
:! cat /root/zq.txt
:在编辑一个文件时,查看另一个文件zq.txt -
:r ! cat /root/zq.txt
:将 cat /root/zq.txt的结果导入正在编辑的文件的光标处 -
:10,15s/^/#/
:在10到15行的行首增加“#” -
:10,15s/^#//
:在10到15行的行首去掉“#” -
:10,15s/^/\/\//
或者:10,15s@^@//@
或者:10,15s#^#//#
:在10到15行的行首增加“//” -
:ab raul abcdefghijklmnopqrstuvwxyz
:在编辑模式输入raul时会自动替换成abcdefghijklmnopqrstuvwxyz -
:set readonly
:将文件设置成只读文件,只有强制保存时才能保存 -
:set ic
:查找关键字时不区分大小写 -
:set noic
:查找时会区分大小写 -
:new /root/2.txt
:比如在编辑1.txt文件,再打开root目录下的2.txt同时编辑,并把窗口上下水平分隔,一起显示 -
:vsplit /root/2.txt
:比如在编辑1.txt文件,再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一起显示 -
ctrl+w组合键,再按左右,或者上下方向键
:在不同窗口之间切换 -
:only
:只保留当前正在编辑的窗口,其它全关闭 -
:e!
:文件恢复到打开时的状态
设置忽略大小写,设定快捷键,设定自动替换,等操作,当电脑重启后就没有了。r如果把这些命令写入配置文件,这样电脑重启后还是可以使用
方法1:对所有用户生效
修改“/etc/vimrc”文件,在末尾加入需要设置的命令
方法2:对当前用户生效
修改用户家目录下的“.vimrc”文件
,一般用户家目录下没有,需要自己手工创建
vim给文件加密
:X
:在一般模式下,输入两次密码即可
:set key=
:直接回车,清除密码