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

35 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 autoindentai) 自动缩进

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

 

今天就分享到这里,希望多提宝贵意见多交流!