6、vim编辑器:
1、工作模式:
命令模式:vim进入文件,或ESC键。输入ZZ退出
输入模式:命令模式输入i、a、o
编辑模式:命令模式时输入冒号,回车键结束
2、命令模式:
(1)方向键上下左右,或k(上)、j(下)、h(左)、l(右)
(2)以单词为单位移动光标:
w/W:光标移动到下一个单词的词首
b/B:光标移动到上一个单词的词首
e/E:光标移动到下一个单词的词尾
nw/nW:n为数字,光标向右移动n个单词
nb/nB:n为数字,光标向左移动n个单词
(3)光标移动到行首或行尾:
0或^:光标移动当当前行的行首
$:光标移动到当前和的行尾
n$:光标移动到当前行之后n行的行尾,n为数字(包括当前行)
(4)光标移动到指定字符:
fx:光标移动到当前行中下一个x字符处
Fx:光标移动到当前行中上一个x字符处
(5)光标移动到指定行:
gg:光标移动到文件开头
G:光标移动到文件末尾
nG:光标移动到第n行
:n:光标移动到指定行的行首
(6)光标移动到匹配的括号处
将光标移动到”{“或”}”处,使用”%”
3、输入模式:
插入命令功能:
i:当前光标所在位置插入
a:光标所在位置之后插入
I:光标所在行行首插入(本行第一个字符之前,如果行首有空白字符,则在空白字符之后的第一个字符之前插入)
A:光标所在行的行尾插入。相当于光标移动到行尾执行a
o:光标所在行下面插入新的一行。光标停留在新行的行首
O:光标所在行上面插入新的一行。光标停留在新行的行首
4、编辑模式:
用于对文件种的内容执行保存、查找、或替换等操作
5、快捷方式:
vim filename:打开或新建文件,并将光标停留在第一行行首
vim + file :打开文件,并将光标停留在最后一行行首
vim +n file :打开文件,光标停留在第n行行首
vim +/pattern file:打开文件,光标停留在第一个与pattern匹配的位置
vim -r file :恢复上次vim打开时崩溃的文件
vim -R file :把指定的文件以只读方式打开到vim中
vim -c command file:在对文件进行编辑前,先执行指定的命令
6、查找文本:
/abc:从光标所在位置向前查找字符串abc
?abc:从光标所在位置,向后查找字符串abc
/^abc:查找以abc开头的行
/abc&:查找以abc结尾的行
n:向同一方向重复上次的查找指令
N:向反方向重复上次的查找指令
如果字符串种有特殊符号,需要加转移符号”\”,如查找”10$”,”/10\$”
7、替换文本:
r:替换光标所在位置的字符
R:从光标位置开始替换字符,输入内容会覆盖掉后面等长的文本内容,ESC结束
:s/a1/a2/g:当前光标所在行中的所有a1用a2替换
:s/a1/a2/:替换当前行第1个a1为a2
:n1,n2 s/a1/a2/g:将文件中n1到n2行中所有的a1都用a2替换
:1,$ s/a1/a2/g:替换文件中所有的a1为a2
:% s/a1/a2/:替换每行第一个a1为a2
:% s/a1/a2/g:替换所有的a1为a2
8、删除文本:
x:删除光标所在位置的字符
dd:删除光标所在行
ndd:删除当前行和后n行(包括本行)
dG:删除光标所在行到文件末尾所有内容
D:删除光标位置到行尾的内容
:3,5 d:从第3行到第5行的内容(包含3、5)
(并非真正删除,存放于剪贴板种,将光标移动到指定位置,按”p”,执行粘贴.只保留最后一次删除的内容)
9、复制粘贴:
p:粘贴文本到光标位置之后
P:粘贴文本到光标位置之前
yy:将光标所在行复制到剪贴板,此命令前可以加数字2yy,可复制多行
yw:将光标位置的单词复制到剪贴板
10、其他快捷键:
合并行:J
撤销操作:u
11、保存退出:
:wq:保存退出
:wq!:强制保存退出
:q:不保存退出
:q!:强制退出不保存
:w:保存不退出vim
:w!:强制保存不退出vim
:w filename:另存到filename文件
:x!:保存并退出。同:wq
ZZ:直接退出vim
12、功能命令:
(默认.vimrc文件不存在,手动建立。vim ~/.vimrc 当前用户编辑vimrc文件.添加”set nu”,默认打开vim编辑器可自动显示行号)
:set all:查看所有的设置参数
:set nu:显示行号(set number也可以)
:set nonu:不显示行号
:set ic:忽略大小写
:set noic:不忽略大小写
:syn on:根据语法显示相关的颜色帮助
:syn off:关闭语法颜色帮助
:set hlsearch:查找的字符串高亮显示
:set nohlsearch:
:set backup:自动备份文件(“文件名〜”的备份文件)
:set nobackup:(不备份)
:set ruler:显示右下角的状态栏
:set noruler:
:set showmode:是否在左下角显示如”-INSERT—“之类的状态栏
:set noshowmode:
:set fileecodings=utf8:vim写入文件采用的编码
:set termencoding=utf8:输出到终端时采用的编码
:set encoding=utf8:缓存文本、寄存器、vim脚本文件编码设置
:set autoindent:设置自动缩进
:set tabstop=4:设置Tab键宽度为4个空格
:set cursorline:突出显示当前行
vim默认不启用鼠标,此设置可启用鼠标
:set mouse=a
:set selection=exclusive
:set selectmode=mouse,key
13、多窗口:
(1)执行命令:vim -0 file1 file2 (上下切分窗口)
(2)vim打开第一个文件,终端输入命令”:sp file2”上写切分窗口,回车;左右:切分窗口”:vs/file”
(3)切换到另一个文件窗口,Ctrl+WW
(4)将一个文件的内容全部复制到另一个文件中,执行”:r 被复制的文件名”
14、批量注释和自定义注释快捷键:
:1,10s/^/#/g:第1~10行行首加注释.”^”为行首,”g”执行替换不询问确认,希望确认将’g’替换为’c’
:1,10s/^#//g:取消连续行的注释(将行首的#替换为空)
添加”//“,:1,10s/^/\/\//g
自定义快捷键::map 快捷键 执行命令
将快捷键命令保存在.vimrc文件中,每次使用vim时自动调用
