(一)vim操作
vim是linux中的编辑器(一直以为是命令),它的作用是建立、编辑和显示文件。没有菜单,全靠命令操作。vim是vi的升级版,功能更加强大。
vi/vim filename 就进入了命令模式。
1.1命令模式
进入了命令模式之后,输入的东西都会被系统当作命令。常见的命令如下:
1.1.1定位命令
gg 到第一行
G 到最后一行
nG 到第n行
$ 到行末
0(数字0) 到行首
1.1.2删除命令
x 删除光标所在字符
nx 删除光标后n个字符
dd 删除光标所在行
ndd 删除光标所在行 n行(n=1就是本行)
dG 删除光标所在行到文件末尾
D 删除光标所在处到行尾
:n1,n2 d 删除指定范围的行
1.1.3复制和剪切命令
yy 复制当前行
nyy 复制n行
dd 剪切
nyy 剪切n行
p|P 粘贴在当前光标下或上一行
1.1.4替换查找
R 进入替换模式, 输入替换的字符, 按esc退出
u 取消上一步操作
:set ic 忽略大小写
/string 查找string, 按
:%s/old/new/g(c确认询问) 替换全文
:%s/2/3/g 将所有2替换为3
:40,44s/old/new/g 替换指定行(40~44行)
:1,20s/8/9/g 将1~20行所有8替换为9
1.1.5保存和退出
:w 保存修改
:w newfile 另存为
:wq 保存并退出
ZZ 保存并退出
:q! 不保存退出
1.2插入模式
在命令模式下,输入i, a, o 进入插入模式, 按esc键回到命令模式。
a 光标所在字符后插入
A 光标所在行尾插入
i 光标所在字符前插入
I 光标所在行首插入
o 光标下插入新行
O 光标上插入新行
1.3编辑模式
在命令模式中,输入:进入编辑模式,输入编辑命令,按回车键回到命令模式。
:set nu 设置行号
:set nonu 取消行号
.......
(二)vim其他操作技巧
:r 文件
1.将一个文件的内容,导入到当前打开的文件,光标所在的位置。
:!命令
2.在不退出vi命令的前提下,去执行某个shell命令
:!ls -la
在vim中,查看当前目录下的文件
:r !date
3.将一个shell命令执行的结果导入到当前文件中,比如当前时间写到文件中
:inoremap jj <Esc>
i 代表插入模式下生效
nore 代表不循环
map 映射
4.定制快捷键,将esc键换成两次j
:n1,n2s/^/#/g 1,2行开头加上注释#
:n1,n2s/^#//g 1,2行去掉注释#
:n2,n2s/^/\/\//g 1,2行加//注释
在每个用户的,.vimrc 文件中加入编辑模式的命令,使命令永久生效(在vim中输入的编辑模式命令,只针对当次)。
比如当前root用户来说,每次打开vim会自动显示行号,该如何做。
#找到文件所在
find / -name .vimrc
/root/.vimrc
#编辑.vimrc
vim /root/.vimrc
#添加编辑模式命令,比如
set nu