vim编辑器使用技巧和总结
俗话说的好,磨刀不误砍柴功。操作系统常见的编辑器有很多,但是要想玩会linux就必须先学会vim编辑器,其使用方法总结如下:
1.打开文件
1).直接打开例如
vim yum.conf
2).启动后直接跳到行尾例如
vim + yum.conf
3).启动后跳到指定行(打开文件后直接转至第3行)
vim +3 yum.conf
4).启动时按照模式匹配(/pattern) 跳到包含关键字的行
vim +/redhat /etc/passwd 跳到含有redhat的行
2.vim模式分类 如何切换
1).命令模式 命令--->键入a、 i、 o 进入编辑模式 退出当前模式esc
2).编辑模式
3).尾行模式 命令--->尾行(shift :)
3.命令模式快捷键
按照单词操作
w/e 按单词往光标所在位置的右边移动
b: 跳至当前或前个单词词首
按照字符操作
h 光标向左移动
l 光标向右移动
j 光标向下移动
k 光标向上移动
翻屏操作(命令模式)
ctrl+f 前翻页
ctrl+b 后翻页
命令行模式删除:
dG 删除光标所在行到尾行
dgg 删除光标所在行到首行
行首 行尾
G 光标移动到文本尾行
gg光标移动到文本行首
0 光标移动到行首
$ 光标移动到行尾
如何切换至指定行?
尾行模式操作
:18 表示切换至第18行
命令模式
dd 删除(剪切)光标所在行
ndd 删除(剪切)光标所在行及以下n行
yy 复制光标所在行
nyy 复制光标所在行及以下n行
p 粘贴光标所在行下一行
r 替换光标所在字符(一次替换)
R 替换模式,ESC退出替换模式(连续替换)
d$ 删除光标所在位置到行尾
d^ 删除光标所在位置前的内容到行首
dw 删除光标所在位置的单词
3dw 删除从光标开始的位置到后面三个单词
delete 删除字符(以字符为单位从左往右删除) 等同于x
2x 删除光标所在后2个字符
2X 删除光标所在前2个字符
D 删除光标所在位置到行尾字符
u 撤销之前操作
ctrl+r 反撤销
ZZ(命令模式) 保存
查找(命令模式)
/关键字
编辑模式
a 光标所在位置后插入
i 光标所在位置前插入
o 光标所在行下一行另开一行插入
A 光标所在行行尾插入
I 光标所在行行首插入
O 光标所在行上一行插入
尾行模式
保存 退出(w/q/x)
q 正常退出
q! 强制退出
w 保存
wq 保存且退出
x 保存且退出
10,13d删除10-13行
.,$d 表示从光标所在位置删除到结尾
.,+5d 表示删除从当前行开始算起的后面连续5行
3,5 co 10 表示把3-5行内容复制粘贴到第10行
g/#/d 删除包含#的行
替换:
:s/This/THIS/ 把光标所在行的This替换为THIS
:s/This/THIS/g 把光标所在行所有This替换为THIS
:%s/This/THIS/g 把全文的This替换为THIS
:2s/This/THIS/g 把第2行的整行中包含This的替换为THIS
:2,3s/This/THIS/g 把第2-第3行的整行中包含This的替换为THIS
:%s/This/THIS/gi 把全文的This替换为THIS忽略大小写
调用外部命令
:!ls /home 临时执行指定的命令
:r /etc/passd 把/etc/passwd的内容读入到当前的文本
:w /opt/a.txt 把当前文本的内容另存到/opt/a.txt里面
:.,+3w >> /opt/a.txt 把从当前行,当前行的后3行追加到/opt/a.txt
:10,13w >> /opt/a.txt
分屏(ctrl+w)
sp/vsp
撤销
u
ctrl + r
vim编辑多个文件
vim file1 file2
:next 切换下一个文件
:prev前一个文件
:last最后一个文件
:first第一个文件
vim常见设置技巧
set number设置行号
set number设置行号
set list 显示特殊字符
set nolist 取消显示特殊字符
set ic(ignorecase 的缩写) 忽略大小写
set noic(noignorecase 的缩写)
set all 显示目前所有设定值内容
set autoindent(ai) 自动缩进
set hlsearch设置查找高亮
set nohlsearch取消查找高亮
syntax on 设置语法高亮
syntax off 关闭语法高亮
自定义
/etc/vimrc全局配置文件 对所有用户生效
set nu
set ic
syntax on
set ai
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
~/.vimrc 局部配置文件针对当前用户有效
vim /home/redhat/.vimrc
乱码问题
1.在Vim中可以直接查看文件编码 :set fileencoding
2.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件)
其实就是依照fileencodings提供的编码列表尝试,如果没有找到合适的编码,就用latin-1(ASCII)编码打开。
文件编码转换方式
1.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式
:set fileencoding=utf-8
2. iconv 转换,iconv的命令格式如下:
iconv -f encoding -t encoding inputfile
iconv -f GBK -t UTF-8 abc -o /home/abc.txt 将GBK编码的文件转换为UTF-8
windows下默认字符集为GBK linux默认的字符集为UTF-8。
今天就分享到这里,希望多提宝贵意见多交流!